Stredná odborná škola automobilová, Moldavská cesta 2, 041 99 Košice
Základné pojmy databáz v programe MS ACCESS
Učíme efektívne a moderne – inovácia vyučovacieho procesu v súlade s modernizáciou ŠkVP
ITMS kód projektu: 26110130264 Projekt je spolufinancovaný zo zdrojov ES. Moderné vzdelávanie pre vedomostnú spoločnosť
Databáza Databázu si môžete predstaviť ako súbor údajov, ktorý slúži pre popísanie nejakej skutočnosti, má svoju logiku a je usporiadaný podľa určitého algoritmu. Napríklad telefónny adresár. Sú tam informácie o vašich známych a ku každému máte priradené jeho číslo, prípadne nejakú poznámku. Databáza je súbor nejakých súvisiacich informácií, ktoré sú v nej uložené podľa nejakého kľúča, pravidla. Databáza teda obsahuje jednak štruktúru, v akej sú jednotlivé dáta usporiadané a jednak samotné údaje.
Databázový systém Na to aby sme mohli prácne získané a uložené údaje aj využívať, nestačí ich vlastniť, treba ich aj spravovať – pridávať nové, aktualizovať, prípadne mazať existujúce. Taktiež pre rýchlu orientáciu potrebujete údaje triediť a zoraďovať podľa rôznych pravidiel (zoradiť známych v telefónnom adresári podľa mesta, v ktorom bývajú) a vyhľadávať podľa najrôznejších kritérií (vyhľadať známeho podľa priezviska alebo časti priezviska). A práve pre tento účel slúži databázový systém, ktorý spomínané údaje zahŕňa a súčasne umožňuje manipuláciu s nimi.
MS Access rozlišuje 6 typov základných objektov: Tabuľky slúžia na definovanie štruktúry usporiadania dát v DB Dotazy(Požiadavka) slúžia na čo najjednoduchšie vyhľadávanie, aktualizáciu, vkladanie alebo odstraňovanie údajov podľa zadefinovaných kritérií Formulár umožňuje jednoduché prezeranie existujúcich záznamov, pridávanie nových záznamov, ... Zostavy (Report) umožňuje zobrazenie údajov podobne ako formuláre – určené predovšetkým pre tlač určený pre formátovanie, výpočty a tlač vybraných dát neumožňuje vkladať nové údaje do DB Stránky slúžia na vytváranie formulárov určených na publikovanie na www - stránkach Makro objekt, pomocou ktorého možno vykonať automaticky postupnosť určitých, vopred naprogramovaných operácií Modul objekt, podobný makru, avšak obsahujúci zložitejšie operácie (obsahuje spravidla zložité výpočty, procesy pre zachytávanie chýb, ...) vytvorený programovacím jazykom VBA
Popis prostredia Dva základné náhľady na objekty databázy: návrhové zobrazenie - okno zobrazujúce návrh: tabuľky dotazu formulára zostáv makra modulu možnosť: vytvoriť nové DB objekty zobrazenie dátového listu - okno zobrazujúce dáta z: tabuľky formulára dotazu pohľadu uloženej procedúry v tvare stĺpcov a riadkov možnosť: meniť polia, pridávať dáta, odstraňovať dáta, vyhľadávať, zmeniť návrh existujúcich objektov
Tabuľka Dátovou tabuľkou rozumieme pomenovanú množinu údajov v databáze jednotného typu a formátu, ktoré spolu súvisia. Z už spomínaného príkladu vyplýva, že údaje o známych môžeme zoskupiť do tabuľky s názvom Adresár: Adresár meno Ján Drobný Etela Kočíková Zuzana Hallová Peter Solár
tel. číslo 0902 325 697 035 256 8965 0909 563 259 0906 578 965
e-mail zaradenie
[email protected] spolužiak práca
[email protected] rodina
[email protected] práca
POZNÁMKA: PRE NÁZVY TABULIEK SA ZVYČAJNE POUŽÍVAJÚ PODSTATNÉ MENÁ. Takýmto spôsobom si pre vlastnú potrebu môžete vytvoriť napríklad tabuľku, ktorá bude predstavovať zoznam dodávateľov, obchodných partnerov, alebo tovaru nachádzajúceho sa v sklade.
Záznam Každý jeden riadok v tabuľke nazývame záznamom. Štruktúru tabuľky by ste sa mali snažiť navrhovať tak, aby ste dokázali každý záznam čo najjednoduchšie odlíšiť od ostatných záznamov v rámci tabuľky, a aby sa v tabuľke nachádzali tie údaje, ktoré skutočne priamo súvisia s daným záznamom. V tabuľke MS Access je záznamom tiež jeden konkrétny riadok tabuľky údajov.
Pole V tabuľke teda uchovávame údaje usporiadané do nejakej štruktúry. Každý z prvkov tejto štruktúry budeme označovať ako pole. Polia sú vlastne stĺpce a označujú základné (elementárne) údaje, ktoré nás zaujímajú, a ktoré si chceme zaznamenať o každom zázname tabuľky. V MS Access budeme pojmom pole označovať názvy stĺpcov tabuliek.
Panel nástrojov zobrazovaný počas práce s tabuľkou sa mení v závislosti od typu zobrazenia: Tabuľka v návrhovom zobrazení tabuľka zložená z niekoľkých častí: - stĺpec zobrazujúci symbol priradeného kľúča - názov poľa - dátový typ poľa - popis poľa - vlastnosti poľa ! zobrazujú sa iba polia a ich vlastnosti nie konkrétne záznamy ! Tabuľka v zobrazení dátového listu okno zobrazujúce dáta z tabuľky, formulára, dotazu - pohľadu uloženej procedúry v tvare stĺpcov a riadkov - možnosť meniť polia, pridávať dáta, odstraňovať dáta, vyhľadávať - zmeniť návrh existujúcich objektov
Dátový typ V každom stĺpci tabuľky sa nachádzajú údaje, ktoré majú rovnakú alebo veľmi podobnú štruktúru. Túto štruktúru nazývame dátovým typom. Dátový typ vlastne udáva, aké hodnoty sú pre dané pole očakávané. Základnými dátovými typmi databáz sú: 1. 2. 3. 4. 5. 6. 7. 8. 9.
text
- na uloženie krátkych textov (max. 255 znakov) - písmená, číslice, interpunkčné znamienka, medzery, symboly, ... memo - na uloženie dlhých textov (cca. max. 64 000 znakov) číslo - na uloženie číselných hodnôt, nie typu mena peňažná - možné formáty: celé číslo, zlomok, záporné číslo dátum/čas - na uloženie dátumu alebo času, alebo oboch mena - na uloženie finančných údajov automatické číslo - formát, v ktorom MS Access napĺňa hodnotu automaticky áno/nie - na uloženie logických hodnôt true/false objekty OLE - na uloženie objektov z iných aplikácií MS Windows hypertextový odkaz - na uloženie kombinácie textu a čísel používaných ako hypertextová adresa
Dátové typy jednotlivých polí vo vzorovej tabuľke systému MS Access by mohli byť zadefinované takto:
Primárny kľúč Už sme pri pojme záznam spomínali, že štruktúru tabuľky by ste mali voliť tak, aby ste dokázali odlíšiť čo najjednoduchšie každý záznam od ostatných záznamov v rámci danej tabuľky. V správne navrhnutej tabuľke by ste nemali nájsť dva úplne zhodné záznamy. Všetky záznamy by sa mali odlišovať hodnotou minimálne v jednom poli. Vyberiete si teda jedno pole, o ktorom viete, že jeho hodnota bude pre každý záznam rozdielna a toto pole budete nazývať primárnym kľúčom. Ak v tabuľke takéto pole neexistuje, založíte si v tabuľke nové (ďalšie) pole – umelý primárny kľúč, akési identifikačné (evidenčné) číslo, či identifikátor. Napr. v tabuľke: • • • •
môžu existovať dvaja známy s rovnakým menom taktiež môžu existovať dvaja známy s rovnakým telefónnym číslom – v prípade domáceho telefónu emailová adresa nie je nositeľkou tej správnej identifikačnej informácie napokon zaradenie – určite sa vo vašom adresári nachádza viac osôb v každej z kategórií (viac spolužiakov, spolupracovníkov…)
Z tohto dôvodu musíte pridať do vašej tabuľky Adresár ďalšie pole s jednoduchým názvom ID, v ktorom sa bude nachádzať automaticky generované poradové číslo – bude to teda jedinečná hodnota v rámci tabuľky pre každý jeden záznam, tým pádom môže slúžiť ako primárny kľúč.
návrhové zobrazenie
dátové zobrazenie Primárny kľúč nemusí nutne obsahovať iba automaticky generované hodnoty (napríklad evidenčné číslo motorového vozidla, či výrobné číslo motora môže poslúžiť ako primárny kľúč v zozname vozidiel vo firme). V takomto prípade primárny kľúč zabezpečí to, že databázový systém vám ani neumožní vložiť do databázy taký záznam, ktorého hodnota by sa v tomto stĺpci už medzi údajmi nachádzala.
Relácia Používať systém MS Access iba na evidovanie telefónnych čísel známych nemá veľký zmysel. Databázové systémy sú predurčené na prácu s väčším množstvom údajov, ktoré sú štruktúrované podľa určitých pravidiel do viacerých tabuliek. Väčšinou sa jedná o evidenciu údajov vyskytujúcich sa v nejakej špecifickej oblasti. A keďže sú údaje uložené vo viacerých tabuľkách a tieto údaje spolu akosi súvisia, pomenujeme si vzťahy medzi jednotlivými tabuľkami a nazveme ich reláciami. Máte už vytvorený zoznam známych v tabuľke Adresár. Chcete si ďalej vytvoriť domácu evidenciu hudobných CD. Vytvoríte si teda novú tabuľku s názvom CD.
V dobrej viere budete tieto CD požičiavať svojim známym. Máte ale záujem o vedenie evidencie výpožičiek. Vznikne teda vzťah medzi tabuľkami Adresár a CD, ktorý si pomenujete vypožičal si, pretože budete evidovať úkon, keď si osoba z adresára vypožičia CD. Typy relácií Predchádzajúci prípad predstavuje reláciu typu 1:N, pretože každé CD môže mať aktuálne vypožičané maximálne jedna osoba (1). Naopak každá z osôb v adresári môže mať vypožičaných viac nosičov (N). Ďalším typom je typ M:N. Ak by ste si viedli evidenciu kníh a ich autorov, vytvorili by ste tabuľky Knihy a Zoznam autorov, medzi ktorými by existoval vzťah napísal. Platí, že každú knihu zo
zoznamu mohlo napísať viac autorov (M) a naopak, každý z autorov mohol napísať viac kníh nachádzajúcich sa v zozname (M). Posledným typom relácie je typ 1:1. Ako príklad si uvedieme firemnú evidenciu zamestnancov (tabuľka Zamestnanci) a firemných vozidiel pridelených zamestnancom (tabuľka Vozidlá), medzi ktorými je vzťah má pridelené. Pričom platí, že každý zo zamestnancov má pridelené práve jedno vozidlo (1) a každé vozidlo môže používať práve jeden zamestnanec (1). Tento typ relácie sa však vyskytuje zriedka.
Primárny a cudzí kľúč Skutočnosť, že medzi tabuľkami Adresár a CD existuje relácia vypožičal si zaznamenáte v databázovom systéme prepojením týchto dvoch tabuliek. Je nezmyselné ku každému záznamu v tabuľke CD dopisovať meno a priezvisko osoby, ktorá si tento nosič vypožičala. Pre takéto prípady slúži prepojenie pomocou primárneho kľúča z tabuľky Adresár, ktorý pribudne v tabuľke CD. Keďže toto pole sa pôvodne v tabuľke CD nenachádzalo, pribudlo iba pre potrebu označenia relácie z inej tabuľky, nazývame ho cudzím kľúčom. Keďže máte záujem aj o evidenciu dátumu výpožičky, pribudne v tabuľke CD ešte pole Dátum od (nebudeme ho ale považovať za cudzí kľúč, pretože to nie je pole pochádzajúce z inej tabuľky). Vaša vzorová tabuľka bude mať teda tvar:
Takýto spôsob prepojenia tabuliek sa používa pre relácie typu 1:N, pričom cudzí kľúč sa nachádza v tabuľke zo strany N – každá osoba môže mať vypožičaných viac (N) nosičov. Typ relácie M:N je v databáze zohľadnený vytvorením tretej (prepojovacej) tabuľky. Pre vyššie uvedený príklad:
V databáze je teda potrebné vytvoriť ďalšiu tabuľku s názvom napísal, pričom polia Číslo autora a ISBN sú tiež cudzími kľúčmi.
Index Pre rýchlejšiu a efektívnejšiu prácu s databázou ako celkom sa niektorým poliam priraďujú indexy. Indexujú sa hlavne polia, ktoré využívate pre vyhľadávanie alebo zoraďovanie údajov. Indexy v
databáze si môžete predstaviť ako index v klasických knihách, pomocou ktorého rýchlo nájdete čísla stránok, na ktorých sa vyskytuje požadované kľúčové slovo bez toho, aby ste museli čítať celú knihu.
Dopyt - Dotaz Pri objasňovaní pojmu databázový systém ste sa dozvedeli, že databázový systém má dokázať údaje triediť a zoraďovať podľa rôznych pravidiel, ale aj vyhľadávať podľa najrôznejších kritérií. A práve na výber údajov v požadovanej forme, poprípade iba množiny údajov spĺňajúcich zvolené kritériá, slúži dopyt. Dopyt na rozdiel od obyčajného filtrovania údajov môžete považovať za regulárny databázový objekt, ktorý môžete po vytvorení uložiť a kedykoľvek sa k jeho použitiu jednoducho vrátiť. Dopyt takisto umožňuje výber a zobrazenie údajov z viacerých prepojených tabuliek naraz. Ak by ste si napríklad chceli zobraziť údaje o nosičoch, ktoré ste požičali ešte v minulom roku alebo skôr a zároveň mali zobrazené aj mená týchto nezodpovedných známych, použili by ste dopyt definovaný takto: Zobraziť polia tabuľka CD CD Adresár CD
pole Interpret Názov Meno Požičané od
Kritérium •
dátum výpožičky je pred 1.januárom 2005
Výsledkom dopytu je zoznam:
Takýmto spôsobom si napríklad z databázy, ktorá eviduje pohyb tovaru v podniku môžete vyhľadať všetky tovarové položky od určitého dodávateľa, ktorých zásoba na sklade klesla na (alebo pod) určitú hodnotu.
Formulár Komfortnejším spôsobom práce s údajmi obsiahnutými v tabuľkách je práca pomocou formulárov. Formulár je vlastne obsah tabuľky alebo tabuliek zobrazený v grafickej forme s rôznymi grafickými ovládacími prvkami (tlačidlá, rozbaľovacie ponuky, obrázky, grafy). Vo formulári sú údaje z tabuliek alebo z výsledkov dopytov zobrazované prehľadnejšie a kultúrnejšie. Formulár umožňuje takisto pridávanie nových údajov, mazanie či zmenu už existujúcich údajov. Samozrejme je na užívateľovi, ktoré z možností do formulára zahrnie. Formuláre je taktiež možné medzi sebou prepájať, otvárať ďalší formulár po stlačení tlačidla a pod.
Zostava Údaje obsiahnuté v databázových tabuľkách je možné pomocou dopytov podľa želania vytiahnuť, odfiltrovať tie, o ktoré nemáte záujem, zatriediť do skupín a zoradiť. Ak potrebujete mať tento výber aj v papierovej podobe, vytvoríte z nich zostavu. Zostava sú teda požadované záznamy v graficky uhladenej forme, pripravené na vytlačenie. Na rozdiel od formulárov, kde možno záznamy upravovať, zostava slúži iba na prezeranie týchto údajov. Zostava predstavujúca zoznam nosičov CD vo vašej zbierke by mohla mať nasledovný tvar: