P114_2 ‹#› P114_2 1 P114 Klasické metody modelování RDM, ERAM 2 P114_2 ‹#› P114_2 2 Témata •modelování v RDM •univerzální relace •dekompozice, normalizace •syntéza relací •omezení DM v RDM •modelování v ERAM •notace, postup •špatně a správně utvořené modely P114_2 ‹#› P114_2 3 Cílem je implementace: •Co máme na počítači? –soubory / tabulky –záznamy / řádky –položky / sloupce, –klíče –co se jak implementuje (příklad tabulek Rozvrhu) P114_2 ‹#› P114_2 4 UCITEL PREDMET MISTNOST ROZVRH #UC #PR #MI #UC #PR #MI CAS • popisy objektů • zachycení souvislostí • použití klíčů P114_2 ‹#› P114_2 5 Modelování v RDM •definice relace, schématu relace •klíče, primární, alternativní, cizí, referenční integrita •relační schéma (databáze) •funkční závislosti, Armstrongova pravidla •objekty a vztahy jako relace P114_2 ‹#› P114_2 6 OPAKOVÁNÍ: definice relace, schématu relace •R je subset D1 x ... x Dn •R(A1:D1, ... , An:Dn), Di = dom(Ai) schéma relace A = {A1:D1, ... , An:Dn} množina atributů relace R, R(A) jiný zápis schématu relace R nad množinou atributů A •schéma relace = záhlaví tabulky n-tice = řádek tabulky •rozdíly: tabulka má vždy nějaké pořadí řádků a sloupců tabulka může mít duplicitní řádky P114_2 ‹#› P114_2 7 OPAKOVÁNÍ: projekce •projekce n-tice na podmnožinu atributů: B je subset A, u je n-tice z R: u[B] je projekce (k-tice s komponentami z B) •projekce relace na podmnožinu atributů: je to projekce všech n-tic z R na podmnožinu atributů B: R[B] P114_2 ‹#› P114_2 8 OPAKOVÁNÍ: klíče, primární, alternativní, cizí, referenční integrita •klíč K relace R(A): K Í A, u, v jsou z R různé: u[K] non= v[K], if K´ je subset A a má tutéž vlastnost jako K, pak K´obsahuje K •kandidáti na prim. klíč, primární klíč - jeden zvolený, ostatní kandidáti: alternativní klíče •jednoduché a složené klíče •cizí klíč CK := skupina atributů, která je primárním klíčem K jiné relace •referenční integrita: R2[CK] je subset R1[K] P114_2 ‹#› P114_2 9 OPAKOVÁNÍ: relační schéma (databáze) •RSD := (R,I), kde R = {R1, ... , Rm}, I je množina IO (logických podmínek, které musí data v DB splňovat) •lokální IO: omezují data v jednom schématu relace •globální IO: dávají vazby mezi daty různých schémat relací •přípustná relační databáze R se schématem (R,I) •stav databáze R P114_2 ‹#› P114_2 10 OPAKOVÁNÍ: funkční závislosti, Armstrongova pravidla •funkční závislost je vztah mezi daty v „tabulkách“ •funkční závislost je druhem IO •B, C jsou subsety A: B C jestliže pro libovolné n-tice u, v Î R platí if u[B] = v[B] then u[C] = v[C] •X, Y, Z jsou subsety A. Potom: if YÍ X then X Y (triviální závislost) (AP1) if X Y and Y Z then X Z (AP2) if X Y and X Z then X YZ (AP3) if X YZ then X Y and X Z (AP4) P114_2 ‹#› P114_2 11 OPAKOVÁNÍ: normální formy •1NF: domény obsahují pouze atomické prvky (nikoli znovu relace) •2NF: 1NF + neexistují parciální fční závislosti na klíči •3NF : 2NF + neexistují transitivní funkční závislosti (C tranzitivně závisí na X: X ® Y ® C a C Ï X, C Ï Y, a Y Ø®X) •BCNF pro každou netriviální závislost X ® Y platí X obsahuje klíč schématu relace R P114_2 ‹#› P114_2 12 OPAKOVÁNÍ: dekompozice, normalizace, syntéza •(pragmatické) důvody pro zavedení xNF: aktualizační anomálie •normalizace pomocí dekompozice relačních schémat (použití AP4) •konstrukce relačního schématu syntézou (použitím funkčních závislostí - AP3) P114_2 ‹#› P114_2 13 Univerzální relace •modelování dekompozicí univerzální relace •předpoklad schématu univerzální relace: jednoznačnost jmen atributů •předpoklad jednoznačnosti vztahů –protipříklad: Ved_diplomky(Učitel, Student) Učí (Učitel, Předmět, Student) nelze získat z jednoho schématu univerzální relace P114_2 ‹#› P114_2 14 Omezení DM v RDM •praktická tvorba datového modelu v RDM –kombinace dekompozice a syntézy •absence sémantiky ve formálním aparátu –hra symbolů jejichž interpretace leží „za hranicemi systému“ •nedostatečnost PL1 pro analýzu přirozeného jazyka –potřebujeme v jednom systému pracovat s objekty různých řádů •přílišná formalizace snižující využitelnost intuice –o čem se vyjadřujeme, versus –o čem skutečně přemýšlíme •nereálné předpoklady a jejich obcházení „krokem stranou“ –předpoklad jednoznačnosti vztahů P114_2 ‹#› P114_2 15 Modelování v ERAM •objekt -- kontejnerem je „entita“, „typ entity“ •vztah -- kontejnerem je „typ vztahu“ •atribut (typu entity nebo typu vztahu) -- je funkce přiřazující hodnoty popisných typů •IO --soulad schématu s modelovanou realitou •diagram typů entit a vztahů ERD •kardinalita vztahu, členství ve vztahu •ISA vztah P114_2 ‹#› P114_2 16 Notace (nástroje) •entita –silná, popisná, vazební –klíče (primární, alternativní, cizí, nejednoznačné) •vazba –maximální kardinalita, minimální kardinalita –role MASTER, DETAIL –pojmenování vazeb •podtypy entity –definice podtypu, dědění –skupiny disjunktních podtypů s úplným nebo částečným pokrytím P114_2 P114_2 P114_2 ‹#› P114_2 18 Postup (kroky) •identifikuj entity •urči vazby (mřížka entit) •vytvoř model: doplň diagram + kardinality •odstraň duplicitní vazby •modeluj podtypy entit a uprav vazby –totalita atributů, parcialita vazeb, rozdělení do kategorií –stav entity, rekurzivní vazby, vazba typu kusovník •Příklad: Rozvrh P114_2 ‹#› P114_2 19 „Nesprávnost“ modelu, příklady •diagram bez sémantiky •vztahy jsou v algoritmech a ne ve vazbách –Pojišťovací systém (rozvoje-schopnost „-“) –SELECT SE (procesy) (důsledek pro slévání submodelů) •absence nadtypu a tím velká složitost vazeb –Údržba v REAS (velká složitost vazeb) –Pojišťovací systém (nekonzistentnost informací o partnerech) •konečný počet podtypů –a algoritmů jejich zpracování (problém přidání podtypu, změny klasifikace) P114_2 ‹#› P114_2 20 „Správný“ model, příklady •co je to „správný model“ –pozor na „reálný svět“ vs „svět představ“ –adekvátnost požadavkům (i nevyjádřeným) –úloha analytika - „datového modeláře“ –text může být blábol ze špatně utvořených vět –model může být špatně konstruován z nedobře definovaných konstruktů •„správný“ model: –IS Bílý Motýl –transakční systém EXPANDIA Banky