1 PB007: Dátové modelovanie, Entity-Relationship Diagram Martin Macák 2 Entitne-Relačný Diagram ̶ Dátový model ̶ Nie je v UML ̶ Reprezentuje logickú štruktúru relačnej databázy ̶ Tvoria ho: ̶ entity, ̶ vzťahy, ̶ atribúty. 3 Entitne-Relačný Diagram 4 Problém dvoch svetov ̶ Objektový svet – Diagram Tried ̶ Modeluje dáta a operácie ̶ Triedy sú prepojené rôznymi väzbami s rôznou sémantikou ̶ Objekty majú svoj dynamický životný cyklus ̶ Manipulácia cez interakciu objektov ̶ Dátový svet – Entitne-Relačný Diagram ̶ Modeluje iba dáta ̶ Jednoduché väzby ̶ Reprezentuje tabuľky v relačnej databáze ̶ Prístup k dátam cez relačnú algebru 5 Object-Relational Mapping Objektovo-Relačné Mapovanie ̶ Technika pre konverziu „medzi svetmi“ ̶ Perzistentná trieda ~ Entitná množina (tabuľka) ̶ Objekt ~ Entita (riadok v tabuľke) ̶ Atribúty triedy ~ Atribúty entity (stĺpce v tabuľke) ̶ Asociácie ~ Relácie (prepojenie cudzími kľúčmi) ̶ Dedičnosť ~ … (nutné riešit ručne) ̶ Mapovanie nie je vždy priamočiare ̶ Jedna trieda môže byť mapovaná do viac tabuliek ̶ Viac tried môže byť mapovaných do jednej tabulky ̶ Nie všetky triedy sú perzistentné (mapujú sa do DB) 6 Object-Relational Mapping Objektovo-Relačné Mapovanie 7 Objektovo-Relačné Mapovanie – Dedičnosť ̶ Každá trieda je tabuľka ̶ Diskriminátor je atribút ̶ Jedna inštancia vo viac tabuľkách ̶ Zložitejší prístup k dátam Mapovanie 1:1 8 Objektovo-Relačné Mapovanie – Dedičnosť ̶ Všetky atribúty v jednej tabuľke ̶ Nutnosť NULL hodnôt ̶ Vhodné pre podtriedy s málo atribútmi Mapovanie 1:1 9 Objektovo-Relačné Mapovanie – Dedičnosť ̶ Atribúty nadtriedy sú rozkopírované pre všetky podtriedy ̶ Vhodné keď: ̶ Málo atribútov podtriedy ̶ Mnoho podtried ̶ Podtriedy majú veľa atribútov Mapovanie 1:1 10 Normálne Formy ̶ Technika organizácie dát v relačných DB ̶ Odstránenie redundantných dát ̶ Obmedzenie zložitých tabuliek ̶ Ochrana pred problémami ̶ Anomálie pri aktualizáciach 11 1. Normálna forma Normálne Formy ̶ Pouze atomické hodnoty 12 2. Normálna forma Normálne Formy ̶ Je v 1. NF ̶ Neobsahuje parciálne závislosti ̶ Nekľúčové atribúty sú závislé na celom primárnom kľúči 13 3. Normálna forma Normálne Formy ̶ Je v 2. NF ̶ Neobsahuje tranzitívne závislosti ̶ Nekľúčové atributy sú závislé iba na primárnom kľúči ̶ Nekľúčová atributy sú navzájom nezávislé 14 Úloha na tento týždeň ̶ Na základe diagramu tried vytvorte ERD ̶ POZOR! Dodržujte konzistenciu – modelujete jeden a ten istý systém ̶ Normalizujte ho do 3. NF ̶ Z vašeho ERD vytvorte samostatnú ukážku porušenia 1. a 2. NF (ako nový ERD – kľudne len malú časť) ̶ Prípadne aktualizujte diagram tried