Entitne-Relačný Diagram PB007 Softwarové inženýrství I Stanislav Chren 31. 10. 2012 Softwarové inženýrství I (PB007) ERD 31. 10. 2012 1 / 15 Entitne-Relačný Diagram Entitne-relačný diagram (ERD) je dátový model, ktorý reprezentuje logickú štruktúru databázy. Jeho základnými zložkami sú: Entity (Entitné typy) Vzťahy (Vzťahové typy) Atribúty (Typy atribútov) Softwarové inženýrství I (PB007) ERD 31. 10. 2012 2 / 15 Diagram tried vs. ERD Diagram tried modeluje dáta aj operácie triedy sú prepojené rôznymi druhmi vzťahov (asociácie, závislosti, dedičnosť, agregácia, kompozícia) častejšie reprezentujú objekty reálneho sveta Entitne-relačný model modeluje iba dáta obsahuje iba jednoduché väzby reprezentujú tabulky v databázi Objektové technológie manipulujú s dátami cez interakciu objektov Relačné technológie pristupujú k dátam cez relačnú algebru (SQL) Softwarové inženýrství I (PB007) ERD 31. 10. 2012 3 / 15 Objektovo-Relačné Mapovanie Objektovo relačné mapovanie(ORM) je technika zaisťujúca konverziu dát medzi relačnou databázou a objektovo orientovaným jazykom. perzistentná trieda definuje entitnú množinu (tabulku) objekt definuje entitu (riadok v tabulke) atribúty triedy sa stávajú atribútmi entity (stĺpce tabulky) asociácia/agregácia/kompozícia tried definuje reláciu (prepojenie tabuliek cudzími kľúčmi) dedičnosť je možné riešiť niekoľkými spôsobmi: mapovanie 1:1, zahrnutie do nadtriedy, rozpustenie do podtried Poznámka: jedna trieda môže byť mapovaná na viac tabuliek viac tried môže byť mapovaných do jednej taublky nie všetky triedy musia byť perzistentné Softwarové inženýrství I (PB007) ERD 31. 10. 2012 4 / 15 Objektovo-Relačné Mapovanie II Diagram tried: ERD: Softwarové inženýrství I (PB007) ERD 31. 10. 2012 5 / 15 ORM - Dedičnosť - mapovanie 1:1 Každá trieda sa stáva tabulkou. Všetky tabulky majú rovnaký primárny kľúč. Diskriminátor sa stáva atribútom. Jedna inštancia triedy je uložená vo viacerých tabulkách - zložitejší prístup k dátam. Softwarové inženýrství I (PB007) ERD 31. 10. 2012 6 / 15 ORM - Dedičnosť - zahrnutie do nadtriedy Všetky atribúty podtried sú zahrnuté do jednej tabulky. Niektoré atribúty môžu obsahovať hodnotu NULL - porušenie 4.NF. Vhodné v případe menšieho počtu podtried s málo atribútmi. Softwarové inženýrství I (PB007) ERD 31. 10. 2012 7 / 15 ORM - Dedičnosť - rozpustenie do podtried Atribúty nadtriedy sú prenesené do tabuliek pre všetky neabstraktné podtriedy Vhodné ak: nadtrieda má málo atribútov existuje mnoho podtried podtriedy majú veľa atribútov Softwarové inženýrství I (PB007) ERD 31. 10. 2012 8 / 15 Normálne formy Normálne formy tabuliek sa používajú pre lepšie návrhy databázových systémov. Pomháhajú: odstrániť opakujúce sa dáta obmedziť zložité tabulky zabrániť aktualizačným anomáliam (pri update, insert, delete) Softwarové inženýrství I (PB007) ERD 31. 10. 2012 9 / 15 1. Normálna forma Prvá normálna forma požaduje aby každý atribút obsahoval len atomické hodnoty, t.j. hodnoty ktoré sú ďalej nedeliteľné. Softwarové inženýrství I (PB007) ERD 31. 10. 2012 10 / 15 2. Normálna forma Druhá normálna forma požaduje aby relácia bola v 1.NF a zároveň každý nekľúčový atribút bol plne funkčne závislý na celom primárnom kľúči. Softwarové inženýrství I (PB007) ERD 31. 10. 2012 11 / 15 3. Normálna forma Relácia je v tretej normálnej forme, pokiaľ je v 2.NF a žiaden nekľúčový atribút nie je tranzitívne funkčne závislý od primárneho kľúča. To znamená že všetky neklúčové atribúty musia byť navzájom nezávislé. Softwarové inženýrství I (PB007) ERD 31. 10. 2012 12 / 15 4. Normálna forma Relácia je vo štvrtej normálnej forme vtedy, ak je v 3.NF forme a opisuje len jeden fakt alebo súvislosť (t. j. nespájajú sa nezávislé opakované skupiny). Softwarové inženýrství I (PB007) ERD 31. 10. 2012 13 / 15 Úlohy Opravte si prípadné chyby v diagrame tried. Na základe analytického modelu tried vytvorte prvotný ERD (prakticky identický + eliminovať dedičnosť), s ktorým sa bude ďalej pracovať. U entít doplňte atribúty Vzťahy M:N rozložte pomocou vzťahových entít. U všetkých entít identifikujte ich kľúče, snažte sa o maximálnu úspornosť (tj. nevytvárajte umelé id tam, kde nie sú nutné, vo vzťahových entitách identifikujte kľúčmi pôvodných entít). Normalizujte model do 4. NF Odovzdajte pdf report do odovzdávarne(Týden 07). Deadline: 10.11. 23:59 (Skupina 14) 5.11. 23:59 (Skupiny 15, 16) Softwarové inženýrství I (PB007) ERD 31. 10. 2012 14 / 15 Nastavenie reportu VP Softwarové inženýrství I (PB007) ERD 31. 10. 2012 15 / 15