Richard Lipka, ZČU

Můžete si stáhnout prezentaci k tomuto cvičení.

Dřív než se vůbec do tvorby databáze pustíte, je rozumné rozmyslet si, jaká data v ní budou uložena, jak se budou dělit do tabulek a jakého budou typu. Aby bylo možné databázi přehledně popsat, vznikla řada notací, kterými se dá znázornit (je třeba zdůraznit, že řeč je nyní o relačních databázích a notace jsou navrženy pro ně, mohou existovat i jiné druhy databází ale v rámci tohoto předmětu se s nimi nesetkáte). Jejich přehled máte na obrázku níže. Jak je vidět na obrázku, notací je několik, ale všechny umožňují zachytit některé základní objekty - entity, atributy a charakter relace mezi nimi.

Různé notace pro popis relační databáze

Během návrhu je nejprve nutné identifikovat

  • Entita popisuje nějaký reálný objekt (konkrétní entita - auto, osoba, výrobek ...) nebo abstrakci (abstraktní entita - převod, odpovědnost, vlastnictví ...), jejíž údaje mají být v DB uložené. V první fázi návrhu je dobré nalézt co největší množství potenciálních entit. Při následné analýze se může zjistit, že z některých se stanou jen atributy jiné entity, nebo se stanou základem pro návrh relací. Obvykle se označují podstatným jménem.
  • Atribut vyjadřuje jednu konkrétní vlastnost entity. Atributy by měly být z hlediska databáze atomické - to znamená že by se neměly skládat z několika údajů. Co bude považováno za atomický údaj ale záleží na návrhu databáze. Pokud je atribut složený z více hodnot (například klíčová slova ke knize v databázi knih), je vhodné vytvořit pro něj zvláštní tabulku.
  • Relace popisuje vztah mezi entitami. U vztahu lze určovat dvě základní vlastnosti - kardinalitu (četnost) a parcialitu/totalitu (povinnost výskytu ve vazbě). Může se hodit také určit role entit ve vazbě na obou stranách. Některé způsoby modelování DB (Chen, šipková notace) umožňují i k relacím přiřadit atributy, to je ale nakonec nutné realizovat vytvořením vhodné tabulky.

Úkol

Přečtěte si pozorně zadání a navrhněte ERA model pro jednotlivé databáze. Snažte se vhodně navrhnout i číselníky, pokud je to třeba. Obvykle existuje několik možností jak schéma navrhnout, je tedy třeba abyste dokázali vaše řešení zdůvodnit.

  1. Tělovýchovná jednota pořádá v průběhu týdne několik pravidelných kurzů. Má několik místností kde kurzy mohou probíhat. Kurz vede vždy jeden z několika registrovaných cvičitelů, někteří cvičitelé vedou i několik kurzů. Každý kurz má určenou kapacitu a až do jejího vyčerpání se do něj mohou hlásit lidé. Jeden člověk může chodit do libovolného počtu kurzů.
  2. V citační databázi jsou údaje o publikacích. Publikace může být buď kniha nebo článek v periodiku, každá publikace má minimálně jednoho autora. Ke každé publikaci může být přiřazena množina klíčových slov. Periodikum má jednotlivá čísla, v každém čísle může být několik publikací.
  3. V říční kilometráži jsou ke každé řece uloženy údaje o objektech, které se na ní vyskytují - jezy, přehrady, zdymadla, mosty, brody, přívozy, přístaviště. V databázi může býýt několik řek.
  4. Firma si vede inventář majetku - nábytku, počítačů, projektorů a knih. Každý kus majetku se nachází v některé z místností firmy a každý je přidělen určitému zaměstnanci. V každé místnosti je určen jeden zaměstnanec jako její správce.
  5. Databáze obsahuje údaje o projektech. V práci na projektu je zaměstnáno několik lidí. Lidé jsou rozděleni do týmů, v každém týmu je určen jeden vedoucí. Projekt je rozdělen na řadu úkolů a na zpracování každého úkolu je přidělen nejméně jeden člověk nebo tým, vždy jeden človek je určen jako vedoucí úkolu zodpovědný za jeho schválení. Každý úkol se může nacházet v několika stavech - nezahájený, rozpracovaný, dokončený, schválený.
nach oben