Navrhovanie databáz Flashcards
Čo predchádza návrhu DB?
Návrhu databázy predchádza plánovanie, t.j. zber požiadaviek na aplikáciu
Aké sú metodológie špecifikácie systémov návrhu db?
Metodológie špecifikácie systémov: SAD (Structured Analysis and Design),
DFD (Data-Flow Diagrams), UML (Unified Modeling Language)
Čo je cieľom návrhu databázy?
Cieľom návrhu databázy (Database Design) je modelovanie časti reálneho
sveta vo zvolenom dátovom modeli, obvykle relačnom.
Aké sú stages návrhu db?
- koncepčný návrh, ktorého výsledkom je napr. UML class diagram alebo ER diagram.
- logický návrh (stále nezávislý od
hw či sw), ktorého výsledkom sú relácie, typy atribútov,
bezpečnostný model atď. - fyzický návrh, ktorého cieľom je mapovanie logického návrhu na konkrétny DBMS a hardware.
Čo je výsledkom návrhu db?
Výsledkom sú vytvorené tabuľky, kľúče, indexy, constrainty,
užívateľské kontá, procedúry vkladania/vynechávania dát, pohľady (VIEWs),
prístupové práva atď.
Aké sú jazyky na modelovanie db?
• Entitno-relačné diagramy (ER diagramy)
• UML diagramy tried (class diagrams)
(vizuálne)
Popíš ER diagramy
ER diagramy:
• popisujú aké veci (entity) v modeli vystupujú a ako spolu súvisia
• žiadne operácie, nepopisujú ako sa veci menia
• dajú sa kresliť rôznymi spôsobmi, pričom však popisujú ten istý model („klasická“ syntax alebo UML syntax pre diagramy tried)
Čo zakresľujeme do ER diagramov?
entity sets, atribúty a vzťahy
Čo je kľúč?
Kľúč je (neformálne) minimálna množina atribútov, ktorá
jednoznačne identifikuje entitu. Kľúčov môže byť viac.
podčiarkneme atribút
Čo je primárny kľúč a ako ho zakresľujeme do ER diagramu?
Primárny kľúč je niektorý z kľúčov a označuje sa počiarknutím atribútov, ktoré ho tvoria. V ER diagramoch sa vyžaduje, aby každý entity set mal nejaký kľúč.
Aké sú pravidlá dobrého návrhu?
- Vyhýbať sa redundancii (Occamova britva)
- Vyhýbať sa slabým entity setom
- Nepoužívať entity set, keď sa dá nahradiť atribútom
Ako sa prejavuje redundancia?
Redundancia sa prejaví:
• plytvaním pamäťou (málo vadí)
• potrebou NULL hodnôt (málo vadí)
• rizikom nekonzistencie (veľmi vadí)
Aký je slabý entity set?
Ak jeho kľúč závisí aj od atribútov iného entity setu
Opíš fan trap (vejár) na slide 22
slide 22
opíš chasm trap (priepasť) na slide 24
slide 24