Video: Začíname s databázami
Applies To
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016Vyskúšajte si to!
Databázy a webové aplikácie môžu priniesť veľké obchodné výhody. Navrhovanie databázy je dôležité na dosiahnutie vašich cieľov, či už chcete spravovať informácie o zamestnancoch, poskytovať týždenné zostavy na základe údajov alebo sledovať objednávky zákazníkov. Investovaním času do pochopenia návrhu databázy vám pomôže vytvoriť databázy, ktoré fungujú správne prvýkrát a ktoré budú vyhovovať meniacim sa potrebám.
Dôležité: Webové aplikácie Accessu sa líšia od počítačových databáz. Tento článok sa nezaoberá návrhom webovej aplikácie.
Koncepty a výrazy
Začnime tým, že sa naučme niektoré základné pojmy a pojmy. Ak chcete navrhnúť užitočnú databázu, vytvorte tabuľky, ktoré sa zameriavajú na jeden predmet. V tabuľkách zaznamenávate všetky údaje potrebné pre danú tému v poliach, ktoré obsahujú najmenšiu možnú jednotku údajov.
Relačné databázy |
Databáza, v ktorej sú údaje rozdelené do tabuliek, čo je niečo ako tabuľkové hárky. Každá tabuľka má len jeden predmet, napríklad zákazníkov (jednu tabuľku) alebo produkty (inú tabuľku). |
Záznamy a polia |
Ukladací priestor pre diskrétne údaje v tabuľke. Riadky (alebo záznamy) uchovávajú každý jedinečný údajový bod, napríklad meno zákazníka. Stĺpce (alebo polia) izolujú zaznamenané informácie o každom údajovom bode do najmenšej možnej jednotky – krstné meno môže byť jeden stĺpec a priezvisko môže byť iné. |
Hlavný kľúč |
Hodnota, ktorá zabezpečuje jedinečnosť každého záznamu. Môžu tam byť napríklad dvaja zákazníci s rovnakým menom, Elizabeth Andersenová. Ale jeden z elizabeth Andersenových záznamov má číslo 12 ako hlavný kľúč a druhý má primárny kľúč 58. |
Vzťahy nadradených a podriadených objektov |
Spoločné vzťahy medzi tabuľkami. Jeden zákazník môže mať napríklad viacero objednávok. Nadradené tabuľky majú primárne kľúče. Podriadené tabuľky majú cudzie kľúče, čo sú hodnoty z primárneho kľúča, ktoré ukazujú, ako sú podriadené záznamy tabuľky prepojené s nadradenou tabuľkou. Tieto kľúče sú prepojené vzťahom. |
Čo je dobrý návrh databázy?
Dva princípy sú základom dobrého návrhu databázy:
-
Vyhnite sa duplicitným informáciám (nazývaným aj nadbytočné údaje). Zaberie priestor a zvyšuje pravdepodobnosť chýb.
-
Skontrolujte správnosť a dokončenie údajov. Neúplné alebo chybné informácie prechádzajú v dotazoch a zostavách a v konečnom dôsledku môžu viesť k nesprávne informovaným rozhodnutiam.
Ak potrebujete pomoc s týmito problémami:
-
Rozdeľte informácie o databáze do tematických tabuliek s úzkym zameraním. Nepoužívajte duplicitné informácie vo viacerých tabuľkách. (Napríklad mená zákazníkov by sa mali zobrazovať iba v jednej tabuľke.)
-
Spojte tabuľky pomocou klávesov namiesto duplikovania údajov.
-
Zahrňte procesy, ktoré podporujú a zabezpečujú presnosť a integritu databázových informácií.
-
Navrhnite databázu s ohľadom na potreby spracovania údajov a vytvárania zostáv.
Ak chcete zlepšiť dlhodobú užitočnosť databáz, postupujte podľa týchto piatich krokov návrhu:
Krok 1: Určenie účelu databázy
Skôr než začnete, vytvorte si cieľ pre databázu.
Ak chcete zachovať sústredenosť návrhu, zhrňte účel databázy a často odkazujte na súhrn. Ak napríklad chcete malú databázu pre domácu firmu, môžete napísať niečo jednoduché, napríklad "Databáza zákazníkov uchováva zoznam informácií o zákazníkoch na účely vytvárania poštových správ a zostáv." V prípade podnikovej databázy možno budete potrebovať viac odsekov, ktoré budú popisovať, kedy a ako budú používatelia s rôznymi rolami používať databázu a jej údaje. Create konkrétne a podrobné poslanie, na ktoré sa bude odkazovať počas celého procesu navrhovania.
Krok 2: Vyhľadanie a usporiadanie požadovaných informácií
Zhromaždite všetky typy informácií, ktoré chcete zaznamenať, ako sú napríklad názvy produktov a čísla objednávok.
Začnite s existujúcimi metódami informácií a sledovania. Môžete napríklad aktuálne zaznamenávať nákupné objednávky v účtovnej knihe alebo uchovávať informácie o zákazníkoch v papierových formulároch. Tieto zdroje sa používajú na zobrazenie aktuálne zachytených informácií (napríklad všetkých polí vo formulároch). Ak momentálne nezaznamenáte dôležité informácie, zamyslite sa nad tým, aké diskrétne informácie potrebujete. Každý jednotlivý typ údajov sa stane poľom v databáze.
Nemusíte sa obávať, že váš prvý zoznam bude dokonalý– môžete ho časom doladiť. Zvážte však všetkých ľudí, ktorí používajú tieto informácie, a požiadajte o ich nápady.
Ďalej sa zamyslite nad tým, čo chcete z databázy a aké typy zostáv alebo korešpondencie chcete vytvoriť. Potom sa uistite, že zaznamenávate informácie potrebné na splnenie týchto cieľov. Ak napríklad chcete zostavu, ktorá zobrazuje predaj podľa oblasti, musíte zaznamenať údaje o predaji na regionálnej úrovni. Pokúste sa zostavu načrtnúť so skutočnými informáciami, ktoré by ste chceli vidieť. Potom vytvorte zoznam údajov, ktoré potrebujete na vytvorenie zostavy. To isté urobte pre korešpondenciu alebo iné výstupy, ktoré chcete z databázy.
Príklad
Predpokladajme, že dávate zákazníkom možnosť prihlásiť sa na odber pravidelných e-mailových aktualizácií (alebo z nich) a chcete vytlačiť zoznam tých, ktorí sa prihlásili. V tabuľke Zákazník potrebujete stĺpec Odoslať e-mail s povolenými hodnotami Áno a Nie.
Ak chcete prijímať e-maily, potrebujete e-mailovú adresu, ktorá vyžaduje aj pole. Ak chcete zahrnúť správne oslovenie (napríklad pán, pani alebo pani), zahrňte pole Oslovenie. Ak chcete osloviť zákazníkov ich krstným menom v e-mailoch, pridajte pole Krstné meno.
Tip: Nezabudnite rozdeliť každú informáciu na najmenšiu užitočnú časť, napríklad krstné meno a priezvisko v tabuľke zákazníkov. Vo všeobecnosti platí, že ak chcete zoraďovať, vyhľadávať, vypočítať alebo vytvárať zostavy na základe položky s informáciami (napríklad priezvisko zákazníka), mali by ste túto položku umiestniť do vlastného poľa.
Krok 3: Rozdelenie informácií do tabuliek
Informačné položky rozdeľte na hlavné entity alebo predmety, ako sú napríklad produkty, zákazníci a objednávky. Každý predmet sa stane tabuľkou.
Po vytvorení zoznamu požadovaných informácií určite hlavné entity (alebo predmety), ktoré potrebujete na usporiadanie údajov. Vyhnite sa duplikovaniu údajov v rámci entít. Predbežný zoznam pre databázu predaja produktov môže vyzerať napríklad takto:
Hlavnými entitami sú: zákazníci, dodávatelia, produkty a objednávky. Začnite teda týmito štyrmi tabuľkami: jedna pre fakty o zákazníkoch, jedna pre fakty o dodávateľoch a tak ďalej. Možno to nie je váš konečný návrh, ale je to dobrý východiskový bod.
Poznámka: Najlepšie databázy obsahujú viacero tabuliek. Vyhnite sa pokušeniu umiestniť všetky informácie do jednej tabuľky. Výsledkom sú duplicitné informácie, väčšia veľkosť databázy a zvýšené chyby. Navrhnite, aby ste každú skutočnosť zaznamenali len raz. Ak zistíte, že sa opakujú informácie, ako je napríklad adresa dodávateľa, zmeňte štruktúru databázy tak, aby sa tieto informácie umiestnili do samostatnej tabuľky.
Ak chcete pochopiť, prečo je viac tabuliek lepších ako menej, zvážte tabuľku uvedenú tu:
Každý riadok obsahuje informácie o produkte a jeho dodávateľovi. Keďže môžete mať veľa produktov od toho istého dodávateľa, meno a adresa dodávateľa sa musia mnohokrát opakovať. To zbytočne zaberá miesto na disku. Namiesto toho zaznamenajte informácie o dodávateľovi iba raz do samostatnej tabuľky Dodávatelia a potom prepojte danú tabuľku s tabuľkou Produkty.
Druhý problém s týmto návrhom je zrejmý, keď potrebujete upraviť informácie o dodávateľovi. Predpokladajme, že potrebujete zmeniť adresu dodávateľa. Keďže sa objavuje na mnohých miestach, môže sa stať, že omylom adresu zmeníte na jednom mieste, no zabudnete ju zmeniť na iných miestach. Záznam adresy dodávateľa len na jednom mieste tento problém vyrieši.
Nakoniec predpokladajme, že spoločnosť Coho Winery dodáva len jeden produkt a chcete produkt odstrániť, ale zachovať si meno a adresu dodávateľa. Ako by ste týmto návrhom odstránili záznam o produkte bez toho, aby ste stratili aj informácie o dodávateľovi? Nedá sa to. Keďže každý záznam obsahuje okrem faktov o dodávateľovi aj fakty o produkte, jeden záznam nie je možné odstrániť bez toho, aby ste odstránili druhý. Ak chcete tieto fakty oddeliť, rozdeľte túto tabuľku na dve časti: prvú pre informácie o produkte a druhú pre informácie o dodávateľovi. Keď potom odstránite záznam o produkte, odstránite iba fakty o produkte, nie fakty o dodávateľovi.
Krok 4: Zmena informačných položiek na stĺpce
Rozhodnite sa, ktoré informácie sa majú uložiť do jednotlivých tabuliek. Tieto diskrétne časti údajov sa stanú poľami v tabuľke. Tabuľka Zamestnanci môže napríklad obsahovať polia ako Priezvisko, Meno a Dátum nástupu.
Po výbere predmetu pre tabuľku databázy by stĺpce v tejto tabuľke mali obsahovať len fakty o danom predmete. V tabuľke produktov by sa napríklad mali uchovávať len údaje o produktoch, nie o ich dodávateľoch.
Ak sa chcete rozhodnúť, aké informácie sa majú sledovať v tabuľke, použite zoznam, ktorý ste predtým vytvorili. Tabuľka Zákazníci môže napríklad obsahovať: Meno, Priezvisko, Adresa, Odoslať e-mail, Oslovenie a E-mailová adresa. Každý záznam (zákazník) v tabuľke obsahuje rovnakú množinu stĺpcov, takže pre každého zákazníka ukladáte presne tie isté informácie.
Create prvý zoznam a potom ho skontrolujte a spresnite. Nezabudnite rozdeliť informácie na najmenšie možné polia. Ak má napríklad váš počiatočný zoznam ako pole Adresa, rozdeľte ich na polia Adresa, Mesto, Štát a PSČ alebo, ak sú vaši zákazníci globálni, do ďalších polí. Takýmto spôsobom môžete napríklad vykonávať korešpondenciu v správnom formáte alebo hlásiť objednávky podľa štátu.
Po spresnení stĺpcov s údajmi v každej tabuľke môžete vybrať primárny kľúč každej tabuľky.
Krok 5: Zadanie primárnych kľúčov
Vyberte primárny kľúč každej tabuľky. Primárny kľúč, napríklad ID produktu alebo ID objednávky, jedinečne identifikuje každý záznam. Ak nemáte jednoznačný jedinečný identifikátor, vytvorte ho pomocou Accessu.
Potrebujete spôsob, ako jedinečne identifikovať každý riadok v každej tabuľke. Pamätáte si na predchádzajúci príklad, v ktorom majú dvaja zákazníci rovnaký názov? Keďže zdieľajú meno, potrebujete spôsob, ako jednotlivé mená identifikovať samostatne.
Každá tabuľka by preto mala obsahovať stĺpec (alebo množinu stĺpcov), ktorý jedinečne identifikuje každý riadok. Nazýva sa to hlavný kľúč a často ide o jedinečné číslo, napríklad identifikačné číslo zamestnanca alebo poradové číslo. Access používa primárne kľúče na rýchle priradenie údajov z viacerých tabuliek a na spojenie údajov za vás.
Hlavný kľúč sa niekedy skladá z dvoch alebo viacerých polí. Napríklad tabuľka Podrobnosti objednávky, ktorá ukladá riadkové položky objednávok, môže používať dva stĺpce v hlavnom kľúči: ID objednávky a ID produktu. Keď primárny kľúč používa viac ako jeden stĺpec, nazýva sa aj zložený kľúč.
Ak už máte jedinečný identifikátor informácií v tabuľke, ako sú napríklad čísla produktov, ktoré jedinečne identifikujú každý produkt v katalógu, použite ho, ale iba v prípade, že hodnoty spĺňajú tieto pravidlá pre primárne kľúče:
-
Identifikátor sa pre každý záznam bude vždy líšiť. Duplicitné hodnoty nie sú povolené v hlavnom kľúči.
-
Položka má vždy hodnotu. Každý záznam v tabuľke musí mať primárny kľúč. Ak na vytvorenie kľúča používate viacero stĺpcov (napríklad Part Family a Part Number), musia byť vždy prítomné obe hodnoty.
-
Primárny kľúč je hodnota, ktorá sa nemení. Keďže na kľúče odkazujú iné tabuľky, každá zmena hlavného kľúča v jednej tabuľke znamená zmenu v tabuľke všade, kde sa na ne odkazuje. Časté zmeny zvyšujú riziko chýb.
Ak nemáte jednoznačný identifikátor, použite ako primárny kľúč ľubovoľné jedinečné číslo. Môžete napríklad priradiť každej objednávke jedinečné číslo objednávky len na účely identifikácie objednávky.
Tip: Ak chcete vytvoriť jedinečné číslo ako hlavný kľúč, pridajte stĺpec pomocou typu údajov Automatické číslovanie. Typ údajov Automatické číslovanie automaticky priradí ku každému záznamu jedinečnú číselnú hodnotu. Tento typ identifikátora neobsahuje žiadne skutočné informácie popisujúce riadok, ktorý predstavuje. Je ideálny na použitie ako hlavný kľúč, pretože čísla sa nemenia – na rozdiel od primárneho kľúča, ktorý obsahuje fakty o riadku, napríklad telefónne číslo alebo meno zákazníka.