300 likes | 588 Views
Podatkovne baze. in osnove programa Microsoft Access 2007. 2 . del : Access – kreiranje tabel. Bor Plestenjak. Glavno kazalo. Microsoft Access. Access – priprava baze. Access – povezovanje tabel. Access – iskanje podatkov in filtri. Microsoft Access 2007.
E N D
Podatkovne baze inosnoveprograma Microsoft Access 2007 2. del: Access – kreiranje tabel Bor Plestenjak
Glavno kazalo Microsoft Access Access – priprava baze Access – povezovanje tabel Access – iskanje podatkov in filtri
Microsoft Access 2007 • Kot zgled programa za delo z podatkovnimi bazami si bomo pogledali program Microsoft Access 2007. • Ker so programi za delo z bazami dokaj podobni, ni težko začeti uporabljati drug program, ko poznamo enega. • Glavne značilnosti programa Microsoft Access 2007 so: • V samem programu lahko definiramo tabele, povezave in vnašamo podatke. • Definiramo lahko poizvedbe s katerimi pridemo do raznih podatkov ali pa spreminjamo njihovo vrednost. • S pomočjo vgrajenih čarovnikov lahko naredimo preproste obrazce in poročila (znanje programiranja ni potrebno). • Zapletenejše programe lahko sestavimo s programiranjem v jeziku Visual Basic for Applications, ki je skupni za celotni Microsoft Office.
Zagon programa Ob zagonu programa se pojavi okno z izbiro baze podatkov: • New Blank Database: začnemo z prazno bazo. Določiti moramo ime datoteke in jo shraniti na disk. • Templates: Iz seznama predlogov izberemo bazo, ki ustreza našim potrebam. Poleg lokalnih je na voljo tudi mnogo dodatnih predlogov iz medmrežja. • Open recent database:Odpremo eno izmed baz, ki smo jih nazadnje uporabljali. • Access bazo podatkov (tako podatke, kot tudi pripadajoče poizvedbe, obrazce in poročila) shrani v eni datoteki s končnico accdb.
Glavni meni • Ko odpremo bazo podatkov oz. določimo datoteko za novo bazo, se v vmesniku Office Fluent pojavijo naslednji zavihki za delo z bazami podatkov: • Home: tu poleg orodij za urejanje videza besedila najdemo še orodja za iskanja po tabelah (filtri) • Create: tu so orodja za kreiranje glavnih sestavnih delov baze podatkov: tabel, obrazcev (forms), poročil (reports) in poizvedb (queries). • External Data: orodja za uvoz in izvoz podatkov iz drugih baz podatkov oz. datotek • Database Tools: dodatna orodja za delo z bazo podatkov, kot so makroji, prikaz in urejanje relacij, kreiranje samostojne aplikacije in ostalo.
Podokno za krmarjenje • Za lažji dostop do gradnikov baze podatkov imamo na levi strani zaslona podokno za krmarjenje, kjer vidimo seznam tabel, poizvedb, obrazcev in poročil, ki sestavljajo bazo podatkov. • Gradnik se odpre na desni strani, če dvakrat kliknemo na njegovo ime v podoknu za krmarjenje.
Kazalo Microsoft Access Access – priprava baze Access – povezovanje tabel Access – iskanje podatkov in filtri
Nova tabela Za novo tabelona zavihku Create v skupiniTablesizberemo enega izmed naslednjih načinov: • Table. Odpre novo tabelo v obliki preglednice, kamor vnašamo podatke. Posamezna polja lahko preimenujemo z dvojnim klikom na njegovo ime. Odvečne prazne stolpce in vrstice bo program na koncu odstranil, iz tipov vnešenih podatkov pa bo poskusil uganiti tipe posameznih polj. Že obstoječo tabelo odpremo v tem načinu tako, da dvakrat kliknemo na njeno ime v podoknu za krmarjenje. • Table Design.V tem načinu določimo imena in lastnosti posameznih polj tabele, podatke pa vstavljamo kasneje v načinu Table. Lastnosti polj lahko nastavimo veliko bolj natančno, kot bi jih program sam določil iz vnešenih podatkov. • Table Templates. Tabelo izberemo iz seznama predlogov, ki so na voljo.
Design View za urejanje tabele • V načinu design za vsako polje določimo njegovo ime, tip podatka in njegove lastnosti. Nastavimo lahko tudi osnovne vrednosti, izmed katerih lahko izbiramo vrednost polja, če gre za takšno polje. Če pa gre za povezavo z drugo tabelo, lahko določimo, kaj naj se prikazuje na mestu reference.
Glavne lastnosti polja • Ime polja (Field Name) ima lahko maksimalno 64 znakov. • Tip polja (Data Type) je lahko: • Text: kratko besedilo (do 255 znakov) • Memo: daljše besedilo • Number: število • Date/Time: čas in datum • Currency: denarni znesek • AutoNumber: avtomatično enolično določeno število • Yes/No: logična vrednost • OLE object: predmet iz drugega programa, npr. slika, preglednica, ... • Hyperlink: spletna povezava • LookupWizard: to je čarovnik za določanje vnosa podatkov v izbrano polje, kadar ima polje le končno mnogo vrednosti, ki jih določimo ali sami ali pa so to vse vrednosti izbranega stolpca v izbrani tabeli. • V opis (Description) lahko shranimo opis polja, ki se potem izpisuje v obrazcih za vnos podatkov.
Velikost polja • Byte: 8-bitno celo število • Integer: 16-bitno celo število • Long Integer: 32-bitno celo število • Single: realno število v enojni natančnosti. • Double: realno število v dvojni natančnosti. • Decimal: Z dodatnima parametroma Precision in Scale določimo število vseh cifer in število decimalk. • Replication ID: 128-bitno celo število. To pride v poštev pri polju AutoNumber (ki je lahko tipa Long Integer ali Replication ID) oz. polju, ki je referenca na polje tipa AutoNumber. Spodaj lahko nastavimo še dodatne možnosti. V General imamo: Field Size: velikost polja. Pride v poštev pri poljih tipa Text (število znakov), Number in AutoNumber, kjer so možnosti:
Dodatne lastnosti polja • New Values: način določanja novih vrednosti (za polje AutoNumber) • Format: način izpisa podatkov • Decimal Places: število decimalnih mest pri izpisu števil • Input Mask: vnosna maska • Caption: naslov polja (za prikaz v obrazcu) • Default Value: privzeta vrednost • Validation Rule: pravilo, ki opisuje dovoljene vrednosti • Validation Text: besedilo, ki se pokaže v primeru nedovoljene vrednosti • Required: ali je polje obvezno ali ga lahko pustimo praznega • Allow Zero Length: ali lahko vnesemo prazno besedilo • Indexed: ali naj se indeksira po tem polju • Dodatne lastnosti, ki so na voljo, so odvisne od tipa polja, zato vse niso na voljo za vse tipe.
Primarni ključ • Primarni ključ (primary key) je polje ali več polj, katerega podatki enolično določajo vsak zapis v tabeli. • Primarni ključ ni obvezen, ga pa potrebujemo pri povezovanju tabel. • Definiramo ga tako, da označimo eno ali več polj in v meniju izberemo Primary Key. • Pri zapiranju nove tabele program pogleda, če imamo primarni ključ in če ga ni, predlaga, da doda novo polje tipa Auto Number za primarni ključ. • Polja, ki sestavljajo primarni ključ, so označena na levi strani z znakom
Vnos podatkov • Osnovni način vnosa podatkov v tabelo je v obliki preglednice (Datasheet View). Če v podoknu za krmarjenje v skupini Tablesdvakrat kliknemo na ustrezno tabelo, se ta prikaže v obliki preglednice, kjer vidimo podatke in lahko dodajamo nove. • Med zapisi se lahko sprehajamo tudi v statusni vrstici, kjer se lahko premaknemo na izbrani zapis ali uporabimo gumbe za premik na začetek, konec seznama, predhodnji zapis, naslednji zapis ali na naslednji novi zapis. • Zapis na katerem trenutno smo, je na levi označen s pobarvanim kvadratom. • Če smo na koncu tabele, lahko vnesemo nov zapis. • Znaki + se pojavijo, kadar smo v glavni tabeli, ki je povezana z drugo tabelo. Če pritisnemo na +, se pojavijo povezani zapisi iz druge tabele.
Vnos podatkov • Zapis označimo tako, da kliknemo na kvadratek pred zapisom. • Polja zapisa popravljamo tako, da kliknemo vanje in popravimo vrednost. • Ko imamo zapis označen, ga lahko zbrišemo (Edit/Delete) ali pa kopiramo (Edit/Copy, Insert/New Record, Edit/Paste) v nov zapis (to je koristno, če je veliko podatkov enakih, saj jih tako ni potrebno dvakrat vnašati).
Kazalo Microsoft Access Access – priprava baze Access – povezovanje tabel Access – iskanje podatkov in filtri
Vrsta vnosnega polja Pri nekaterih tipih podatkov lahko na kartici Lookup izberemo vrsto vnosnega polja (Display Control). Na vrsto imamo: • Check Box: potrditveni gumb za logične vrednosti • Text Box: polje za vnos besedila • List Box: seznam za izbiranje, kjer moramo nujno izbrati iz seznama • Combo Box: seznam za izbiranje, kjer lahko vnesemo tudi vrednost, ki je ni na seznamu
Nastavitve seznama za izbiranje • Row Source Type: izvor vrednosti, med katerimi lahko izbiramo: • Table/Query: iz druge tabele ali poizvedbe • Value List: predpišemo jih sami • Field List: imena polj • Row Source: določimo poizvedbo (v obliki stavka SQL ali preko čarovnika) ali naštejemo možne vrednosti • Seznam za izbiranje je lahko sestavljen iz več stolpcev: • Bound Column: indeks stolpca iz katerega vzamemo vrednost za polje • Column Count: število vseh stolpcev • Column Heads: imena stolpcev (da ali ne) • Column Widths: širine stolpcev • Za Combo Box imamo še: • List Rows: koliko vrednosti iz seznama se naenkrat pojavi na zaslonu • List Width: širina seznama • Limit To List: ali mora vrednost biti nujno iz seznama (da ali ne)
SQL nastavitev seznama za izbiranje • V primeru, ko vrednosti poiščemo iz druge tabele oziroma poizvedbe, v polje Row Source vpišemo polja, ki naj se prikažejo kot vrednosti polja pri izpisu oziroma vnosu. • Denimo, da imamo v tabeli stolpec ID Dijak tipa Number, ki je povezava s tabelo Dijaki s stolpci ID Dijak, Ime, Priimek Row Source:SELECT [Dijaki].[ID Dijak], [Dijaki].[Ime]&” “&[Dijaki].[Priimek] FROM [Dijaki]; Bound Column: 1 Column Count: 2 Column Widths: 0cm;5,50cm List Rows: 8 List Width: 6cm • Zgornje nastavitve pomenijo, da se v stolpcu kaže ime in priimek dijaka, podatek pa se vsakič pobere iz tabele Dijaki. • V bazi je v tabeli na mestu stolpca ID Dijak številka, na zaslonu pa se izpiše ime in priimek, saj je tako nastavljeno na kartici Lookup.
Povezovanje tabel Povezave med tabelami urejamo v posebnem oknu, ki ga odpremo v menuju Database Tools/Relationships. Kooknoprvič odpremo, moramo izbrati tabele, med katerimi bodo povezave, pozneje pa jih lahko dodamo z Relationships/Show Table. • Vsaka tabela se v oknu pokaže v obliki manjšega okna, v katerem je seznam njenih polj, primarni ključ pa je izpisan krepko. • Povezavo vrste ena proti več naredimo tako, da polje tabele na strani ena z miško povlečemo na ustrezno polje tabele na strani več. • Pojavi se novo okno, v katerem lahko določimo še ostale lastnosti povezave in jo nato z ukazom Create tudi dokončno naredimo. • Povezava se prikaže kot tanka črta med poljema, ki ju povezuje.
Referenčna integriteta • V oknu za lastnosti povezave lahko izberemo vrsto povezave (Join Type). • Če izberemo Enforce Referential Integrity, bo program skrbel za referenčno integriteto povezanih podatkov. V tem primeru ni možno vstaviti zapisa z referenco, ki je ni v glavi tabeli in ni možno odstraniti zapisa iz glavne tabele, če ne odstranimo prej tudi vse povezane zapise v drugih tabelah, razen pri izbiri: • Cascade Update Related Fields: ob spremembi primarnega ključa program sam popravi vse reference na ta zapis v povezanih tabelah. • Cascade Delete Related Records: pri brisanju zapisa iz glavne tabele program odstrani vse zapise v povezanih tabelah, ki se nanašajo nanj.
Kako deluje referenčna integriteta • V primeru referenčne integritete iz desne tabele ni moč brisati zapisa z ID 2, v levo tabelo pa ne moremo vstaviti ID Razred različen od 1,2,3,4. • Če imamo Cascade Update Related Fields in spremenimo v desni tabeli ID iz 2 v 5, se to spremeni tudi v levi tabeli. • Če imamo Cascade Delete Related Records in v desni tabeli zbrišemo zapis z ID 2, se v levi tabeli zbrišejo vsi zapisi z ID Razred 2.
Kazalo Microsoft Access Access – priprava baze Access – povezovanje tabel Access – iskanje podatkov in filtri
Urejanje podatkov • Zapise v tabelilahkouredimopopoljubnemstolpcu. • Najprej označimo stolpec, po katerem želimo urediti podatke (kliknem na ime stolpca) in nato izberemo v Sort & Filternaraščajoč (A->Z) ali padajoč (Z->A) vrstni red. • Sama ureditev zapisov na zaslonu ne vpliva na ureditev v tabeli v bazi. • Privečjih tabelah bo urejanje hitrejše, če je stolpec, po katerem urejamo, indeksiran.
Iskanje podatkov • Ko je tabela odprta v obliki preglednice, lahko z izbiro Edit/Find iščemo zapise podobno kot pri ostalih Okenskih programih. • Find What: besedilo, ki ga iščemo. • Look In: ali iščemo po trenutno označenem polju ali pa po vseh poljih. • Match: Možna ujemanja so: • Any Part of Field: iskano besedilo je lahko kjerkoli v polju, • Whole Field: iskano besedilo se mora točno ujemati z vsebino polja, • Start of Field: vsebina polja se začne z iskanim besedilom.
Zamenjava podatkov • Podobno kot iskanje podatkov poteka tudi zamenjava besedila z novim besedilom. • Replace With: besedilo, ki zamenja iskano besedilo.
Filtri • Filtre uporabljamo, kadarželimo na zaslonu v preglednici videti le tiste zapise, ki ustrezajo danemu kriteriju. • Za zapletenejše kriterije uporabljamo poizvedbe, pri enostavnejših pa si lahko pomagamo s filtri. • Najenostavnejši filter je po označenem polju (Filter By Selection), kjer pridejo v poštev tisti zapisi, ki imajo vrednost polja. Izberemo ga bodisi v Sort & Filter/Selection ali pa z klikom na desni gumb miške). Možnosti so: • enaka vrednost kot označeno polje (Equals ...), • različno od označenega polja (Does Not Equal ...) • (za števila) večje (manjše) od označenega polja (Less Than or Equal to ..., Greather Than ot Equal to ...) • (za tekstovna polja) vsebujejo oz. ne vsebujejo danega niza (Contains ..., Does Not Contain ...) • Če želimo narediti filter po več kot enem polju, uporabimo filter preko obrazca (Advanced/Filter By Form).
Zapisi z enako vrednostjo v označenem polju • Označimo polje in izberemo Sort & Filter/Selection/Equals. • Pokaže se samo tisti del tabele, kjer imajo zapisi enako vrednost označenega polja. V statusni vrstici je sedaj tabela označena z Filtered. • Na koncu filter izklopimo z Sort & Filter/Filter/Clear Filter From .... Druga možnost je, da kliknemo na napis Filtered v statusni vrstici.
Zapisi zdrugo vrednostjo v označenem polju • Označimo polje in izberemo Sort & Filter/Selection/Does Not Equal to .... • Pokaže se samo tisti del tabele, kjer imajo zapisi drugačno vrednost označenega polja.
Zapletenejši filtri • Z izbiro Sort & Filter/Advanced/Filter By Form lahkonaredimo filter po več kot enem polju. • V vsako polje vpišemo iskano vrednost ali pa ga pustimo praznega. • Uporabljamo lahko tudi operatorje za primerjavo >,<,=,<=,>= in <>. • Več različnih kriterijev lahko združimo v kriterij, ki je izpolnjen, kadar zapis ustreza vsaj enemu izmed kriterijev. • Ni možno poiskati zapisa, ki bi ustrezal več kriterijem hkrati. Če želimo npr. poiskati vse zapise, ki imajo vrednost polja med dvema danima vrednostima, moramo uporabiti poizvedbo.