Video: Začínáme s databázemi
Applies To
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016Vyzkoušejte to!
Databáze a webové aplikace můžou přinést velké obchodní výhody. Návrh databáze je zásadní pro dosažení vašich cílů, ať už chcete spravovat informace o zaměstnancích, poskytovat týdenní sestavy s daty nebo sledovat objednávky zákazníků. Když potřebujete čas na pochopení návrhu databáze, pomůže vám to vytvořit databáze, které fungují správně napoprvé a které budou vyhovovat měnícím se potřebám.
Důležité informace: Webové aplikace pro Access se liší od desktopových databází. Tento článek se nezabírá návrhem webové aplikace.
Koncepty a termíny
Začněme tím, že se naučíme některé základní pojmy a koncepty. Pokud chcete navrhnout užitečnou databázi, vytvořte tabulky, které se zaměřují na jedno téma. V tabulkách zachytáváte všechna data potřebná pro daný předmět do polí, která obsahují nejmenší možnou jednotku dat.
Relační databáze |
Databáze, ve které jsou data rozdělena do tabulek, které se podobají tabulkám. Každá tabulka má jenom jeden předmět, například zákazníky (jednu tabulku) nebo produkty (jinou tabulku). |
Záznamy a pole |
Úložiště pro diskrétní data v tabulce Řádky (nebo záznamy) ukládají každý jedinečný datový bod, například jméno zákazníka. Sloupce (nebo pole) izolují informace zachycené o jednotlivých datových bodech do nejmenší možné jednotky – křestní jméno může být jeden sloupec a příjmení může být jiné. |
Primární klíč: |
Hodnota, která zajišťuje, že každý záznam je jedinečný. Můžou mít například dva zákazníky se stejným jménem, Elizabeth Andersen. Ale jeden z záznamů Elizabeth Andersen má číslo 12 jako primární klíč a druhý má primární klíč 58. |
Vztahy nadřazenosti a podřízenosti |
Společné relace mezi tabulkami. Například jeden zákazník může mít více objednávek. Nadřazené tabulky mají primární klíče. Podřízené tabulky mají cizí klíče, což jsou hodnoty z primárního klíče, které ukazují, jak jsou záznamy podřízené tabulky propojené s nadřazenou tabulkou. Tyto klíče jsou propojeny relací. |
Co je dobrý návrh databáze?
Pro dobrý návrh databáze jsou zásadní dva principy:
-
Vyhněte se duplicitním informacím (označovaným také jako redundantní data). Plýtvá místem a zvyšuje pravděpodobnost chyb.
-
Ujistěte se, že jsou data správná a úplná. Neúplné nebo chybné informace procházejí v dotazech a sestavách a v konečném důsledku můžou vést k chybně informovaným rozhodnutím.
Pomoc s těmito problémy:
-
Rozdělte informace z databáze do tabulek založených na předmětech s úzce zaměřeným zaměřením. Vyhněte se duplikování informací ve více tabulkách. (Například jména zákazníků by měla být jenom v jedné tabulce.)
-
Místo duplikování dat spojte tabulky pomocí klíčů.
-
Zahrnout procesy, které podporují a zajišťují přesnost a integritu informací o databázi.
-
Navrhněte databázi s ohledem na potřeby zpracování dat a vytváření sestav.
Pokud chcete zlepšit dlouhodobou užitečnost databází, postupujte podle těchto pěti kroků návrhu:
Krok 1: Určení účelu databáze
Než začnete, vytvořte si cíl pro vaši databázi.
Pokud chcete, aby byl návrh zaměřený, shrňte účel databáze a často se na souhrn odkazujte. Pokud chcete například malou databázi pro domácí firmu, můžete napsat něco jednoduchého, třeba "Databáze zákazníka uchovává seznam informací o zákaznících za účelem vytváření adresátů a sestav." U podnikové databáze můžete potřebovat několik odstavců, které popisují, kdy a jak budou uživatelé v různých rolích databázi a její data používat. Create konkrétní a podrobné prohlášení o poslání, na které se bude v průběhu procesu návrhu odkazovat.
Krok 2: Vyhledání a uspořádání požadovaných informací
Shromážděte všechny typy informací, které chcete zaznamenat, například názvy produktů a čísla objednávek.
Začněte s existujícími informacemi a metodami sledování. Například aktuálně zaznamenáváte nákupní objednávky do registru nebo uchováváte informace o zákaznící na papírových formulářích. Pomocí těchto zdrojů můžete zobrazit seznam informací, které právě zaznamenáváte (například všechna pole ve formulářích). Pokud aktuálně nezachytáváte důležité informace, zamyslete se nad tím, jaké diskrétní informace potřebujete. Každý jednotlivý datový typ se stane polem ve vaší databázi.
Nemusíte se starat o to, aby byl váš první seznam dokonalý – můžete ho časem doladit. Ale zvažte všechny lidi, kteří používají tyto informace, a požádejte o jejich nápady.
Dále se zamyslete nad tím, co chcete z databáze získat, a o typech sestav nebo korespondencí, které chcete vytvořit. Pak se ujistěte, že zachytáváte informace potřebné ke splnění těchto cílů. Pokud například chcete sestavu, která zobrazuje prodej podle oblastí, musíte zaznamenat data o prodeji na úrovni oblasti. Zkuste sestavu načrtnout se skutečnými informacemi tak, jak byste ji chtěli vidět. Potom vypište data, která potřebujete k vytvoření sestavy. To samé udělejte pro korespondence nebo jiné výstupy, které chcete z databáze.
Příklad
Předpokládejme, že dáváte zákazníkům možnost přihlásit se k pravidelným e-mailovým aktualizacím (nebo je zrušit) a chcete vytisknout seznam těch, kteří se k odběru přihlásili. V tabulce Customer (Zákazník) potřebujete sloupec Odeslat Email s povolenými hodnotami Ano a Ne.
Pro ty, kteří chtějí dostávat e-maily, potřebujete e-mailovou adresu, která také vyžaduje pole. Pokud chcete zahrnout správné oslovení (například pan, paní nebo paní), zahrňte pole Oslovení. Pokud chcete zákazníky oslovovat křestním jménem v e-mailech, přidejte pole Jméno.
Tip: Nezapomeňte rozdělit jednotlivé informace na jejich nejmenší užitečnou část, jako je jméno a příjmení v tabulce zákazníka. Obecně platí, že pokud chcete řadit, hledat, počítat nebo sestavu na základě položky informací (například příjmení zákazníka), měli byste tuto položku vložit do jejího vlastního pole.
Krok 3: Rozdělení informací do tabulek
Rozdělte položky informací do hlavních entit nebo témat, jako jsou produkty, zákazníci a objednávky. Z každého předmětu se stane tabulka.
Jakmile budete mít seznam požadovaných informací, určete hlavní entity (nebo předměty), které potřebujete k uspořádání dat. Vyhněte se duplikování dat napříč entitami. Například předběžný seznam pro databázi prodeje produktů může vypadat takto:
Hlavními entitami jsou zákazníci, dodavatelé, produkty a objednávky. Začněte s těmito čtyřmi tabulkami: jednou pro fakta o zákaznících, druhou pro fakta o dodavatelích a tak dále. Nemusí to být váš konečný návrh, ale je to dobrý výchozí bod.
Poznámka: Nejlepší databáze obsahují více tabulek. Vyhněte se pokušení umístit všechny informace do jedné tabulky. Výsledkem jsou duplicitní informace, větší velikost databáze a větší počet chyb. Navrhněte tak, aby se každý fakt zaznamenal jen jednou. Pokud zjistíte, že opakujete informace, jako je adresa dodavatele, restrukturalizujete databázi tak, aby tyto informace umístila do samostatné tabulky.
Pokud chcete zjistit, proč je více tabulek lepších než méně, podívejte se na tabulku zobrazenou tady:
Každý řádek obsahuje informace o produktu i jeho dodavateli. Vzhledem k tomu, že můžete mít mnoho produktů od stejného dodavatele, musí se jméno a adresa dodavatele mnohokrát opakovat. To plýtvá místem na disku. Místo toho zaznamenejte informace o dodavateli pouze jednou do samostatné tabulky Dodavatelé a pak tuto tabulku propojte s tabulkou Produkty.
Druhý problém s tímto návrhem je zřejmý, když potřebujete upravit informace o dodavateli. Předpokládejme, že potřebujete změnit adresu dodavatele. Vzhledem k tomu, že se zobrazuje na mnoha místech, můžete omylem změnit adresu na jednom místě, ale zapomněli jste ji změnit na ostatních místech. Tento problém vyřeší záznam adresy dodavatele pouze na jednom místě.
Nakonec předpokládejme, že existuje pouze jeden produkt dodávaný společností Coho Winery a chcete produkt odstranit, ale zachovat jméno a adresu dodavatele. Jak byste při tomto návrhu odstranili záznam o produktu bez ztráty informací o dodavateli? Nemůžeš. Vzhledem k tomu, že každý záznam obsahuje kromě faktů o dodavateli také fakta o produktu, není možné jeden z nich odstranit bez odstranění druhého. Pokud chcete tyto skutečnosti oddělit, rozdělte tuto tabulku do dvou: první pro informace o produktu a druhou pro informace o dodavateli. Když pak odstraníte záznam o produktu, odstraníte pouze fakta o produktu, nikoli fakta o dodavateli.
Krok 4: Převod položek informací na sloupce
Rozhodněte se, jaké informace potřebujete do jednotlivých tabulek uložit. Z těchto samostatných částí dat se stanou pole v tabulce. Tabulka Zaměstnanci může například obsahovat pole Příjmení, Jméno a Datum přijetí.
Po výběru předmětu databázové tabulky by sloupce v této tabulce měly obsahovat pouze fakta o daném předmětu. Například tabulka produktů by měla obsahovat fakta pouze o produktech, nikoli o jejich dodavatelích.
Pokud se chcete rozhodnout, jaké informace se mají v tabulce sledovat, použijte seznam, který jste vytvořili dříve. Tabulka Zákazníci může například zahrnovat: Jméno, Příjmení, Adresa, Odeslat Email, Oslovení a Email Adresa. Každý záznam (zákazník) v tabulce obsahuje stejnou sadu sloupců, takže pro každého zákazníka ukládáte úplně stejné informace.
Create svůj první seznam a pak ho zkontrolujte a upřesněte. Nezapomeňte informace rozdělit do nejmenších možných polí. Pokud má například počáteční seznam jako pole Adresa, rozdělte ho na Ulice, Město, Stát a PSČ nebo, pokud jsou vaši zákazníci globální, do ještě více polí. Tímto způsobem můžete například provádět korespondence ve správném formátu nebo hlásit objednávky podle stavu.
Po upřesnění sloupců dat v každé tabulce můžete zvolit primární klíč každé tabulky.
Krok 5: Zadání primárních klíčů
Zvolte primární klíč každé tabulky. Primární klíč, například ID produktu nebo ID objednávky, jednoznačně identifikuje každý záznam. Pokud nemáte zřejmý jedinečný identifikátor, vytvořte ho pomocí Accessu.
Potřebujete způsob, jak jedinečným způsobem identifikovat každý řádek v každé tabulce. Pamatujete si na předchozí příklad, kdy mají dva zákazníci stejné jméno? Vzhledem k tomu, že sdílejí jméno, potřebujete způsob, jak je identifikovat samostatně.
Každá tabulka by proto měla obsahovat sloupec (nebo sadu sloupců), který jednoznačně identifikuje každý řádek. Tento klíč se nazývá primární klíč a často se jedná o jedinečné číslo, například ID zaměstnance nebo sériové číslo. Access používá primární klíče k rychlému přidružování dat z více tabulek a k jejich spojování za vás.
Někdy se primární klíč skládá ze dvou nebo více polí. Například tabulka Podrobnosti objednávky, která ukládá řádkové položky pro objednávky, může v primárním klíči používat dva sloupce: ID objednávky a ID produktu. Pokud primární klíč využívá více než jeden sloupec, označuje se také jako složený klíč.
Pokud už máte jedinečný identifikátor informací v tabulce, například čísla produktů, která jednoznačně identifikují jednotlivé produkty v katalogu, použijte ho, ale jenom pokud hodnoty splňují tato pravidla pro primární klíče:
-
Identifikátor bude pro každý záznam vždy jiný. Duplicitní hodnoty nejsou v primárním klíči povoleny.
-
Položka má vždy hodnotu. Každý záznam v tabulce musí mít primární klíč. Pokud k vytvoření klíče používáte více sloupců (například Rodina částí a Číslo dílu), musí vždy existovat obě hodnoty.
-
Primární klíč je hodnota, která se nemění. Vzhledem k tomu, že na klíče odkazují jiné tabulky, znamená každá změna primárního klíče v jedné tabulce jeho změnu všude, kde se na něj odkazuje. Časté změny zvyšují riziko chyb.
Pokud nemáte zřejmý identifikátor, použijte jako primární klíč libovolné jedinečné číslo. Každé objednávce můžete například přiřadit jedinečné číslo objednávky pouze za účelem identifikace objednávky.
Tip: Pokud chcete vytvořit jedinečné číslo jako primární klíč, přidejte sloupec pomocí datového typu Automatické číslo. Datový typ Automatické číslo automaticky přiřadí každému záznamu jedinečnou číselnou hodnotu. Tento typ identifikátoru neobsahuje žádné faktické informace popisující řádek, který představuje. Je ideální pro použití jako primární klíč, protože čísla se nemění – na rozdíl od primárního klíče, který obsahuje fakta o řádku, jako je telefonní číslo nebo jméno zákazníka.