1 / 22

Návrh Databází

Návrh Databází. Štěpán Šípal. Přehled témat hodiny. Dokonalé E-R diagramy Multiplicita v E-R diagramech Atomicita atributů Vícehodnotové atributy Normalizace Design databáze v DBDesigner 4. Dokonalé ER diagramy.

Download Presentation

Návrh Databází

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Návrh Databází Štěpán Šípal

  2. Přehled témat hodiny • Dokonalé E-R diagramy • Multiplicita v E-R diagramech • Atomicita atributů • Vícehodnotové atributy • Normalizace • Design databáze v DBDesigner 4

  3. Dokonalé ER diagramy • ER diagram je základem pro další návrh databáze, zobrazuje skutečný stav věcí. • Entita – objekt, abstraktní, nikoliv specifický • Entitou je pes, jejím výskytem je „Haryk“. • Všechny výskyty entit mají obdobné atributy, nikoliv však jejich hodnoty!

  4. ER diagramy II. • Atribut entity je její vlastností, například „jméno“. • Jednotlivé hodnoty atributů („Haryk“) nás při modelování nezajímají. • Atributům můžeme určovat takzvané domény – slovně popíšete, jakých hodnot může u jednotlivých výskytů entity nabývat.

  5. Relace v ER diagramech • Relace označují určitý vztah mezi jednotlivými entitami. • Musí být popsány a mohou mít vlastní atributy (relace mezi zákazníkem a zbožím bude „zakoupil“ s atributy kdy a za kolik). Zaměstnanec Pobočka Pracuje v

  6. Relace v ER diagramech Noviny Automobil Mají reklamu na Atributy: odKdy Cena

  7. Multiplicita • 1:1 – jednomu výskytu entity A náleží vždy jeden výskyt entity B (pobočka a její vedoucí manažer). • 1:n – jednomu výskytu entity A náleží více výskytů B (pobočka a zaměstnanci). • M:n – Jednomu výskytu A náleží více B a jednomu B více A (noviny a propagovaná auta).

  8. Problémy s ER - pasti • Pokud od jedné entity existuje více vazeb s multiplicitou 1:n. Zaměstnanec Firma Pobočka n zam. 1 1 má n • Takovýto zápis je teoreticky správně, ale logicky nám neposkytuje informace o tom, v jaké pobočce zaměstnanec pracuje – musíme jej tedy předělat.

  9. Vyřešení pasti • Přetvoříme tedy tuto past na „vláček“, kde se budou entity vázat jasněji: Zaměstnanec Pobočka Firma n zam. 1 n má 1

  10. Atomicita atributů • Pokud jednotlivé atributy je možné dále rozložit, jsou to atributy tzv. složené • Například adresa – rozložitelné na ulici, město, PSČ, … • Atributy které nelze dále rozkládat nazýváme atomickými. • Rozhodnutí zda rozložit záleží na budoucím využití DB – obecně je lepší vždy mít atomické hodnoty.

  11. Vícehodnotové atributy • Pokud nějaký atributy může mít více hodnot v jeden okamžik – například entita firmy může mít najednou tři telefonní čísla. • Je lépe takový atribut odpojit a vytvořit jej jako novou entitu ve vztahu 1:n. • Vytvoříme novou entitu telefonní čísla.

  12. Normalizace

  13. Co je normalizace • Normalizace je činnost, při které se snažíme vytvořit tabulky s minimálním nutným počtem atributů s jasným vztahem a s minimální redundancí (opakováním) dat. • Normalizace zabraňuje možných chybám při práci s DB.

  14. Redundance dat a problémy změn Zaměstnanci Pobočky ZaměstnanciPobočky

  15. Problémy při vkládání • Při vkládání dat • Do špatně navržené tabulky musíme zbytečně vkládat informace navíc (při vložení zaměstnance také adresu pobočky). • Pokud chceme vložit novou pobočku, která zatím nemá zaměstnance, musíme do atributů zaměstnance vložit samé „null“. • Tabulka obsahuje zbytečně redundantní data.

  16. Problémy při odstraňování • Pokud chceme odstranit posledního zaměstnance určité pobočky z tabulky ZaměstnanciPobočky, údaje o této pobočce budou také smazány.

  17. Problémy při změnách • Pokud chceme změnit adresu určité pobočky v tabulce ZaměstnanciPobočky, musíme změnit všechny záznamy, ve kterých se tato pobočka vyskytuje. • Může se snadno stát, že přidáme zaměstnance k pobočce a přiřadíme ji špatnou adresu.

  18. První normální forma • Zajištění, aby v každé „buňce“ tabulky s daty byla pouze jedinečná hodnota. • Zjistíme chyby v tabulkách typu atributu „telefonní čísla“ s X možnými hodnotami. • Pro tyto atributy se vytvoří nové tabulky.

  19. První normální forma II.

  20. Druhá normální forma • Zjistíme, zda jsou všechny atributy závislé na primárním klíči. • Pokud nejsou, vytvoříme pro ně nové tabulky a rozumně je propojíme.

  21. Druhá normální forma II.

  22. Třetí normální forma • Zajistíme, aby veškeré atributy byly na primárním klíči závislé přímo. • Tabulce nájemních domů je jméno nájemníka závislé na jeho id a teprve jeho id na primárním klíči domu. • Takovým atributům vytvoříme samostatnou tabulku.

More Related