350 likes | 507 Views
Dátové modely. Model. Zobrazenie podstatných vlastností reálneho objektu, ktorými sa snažíme zachytiť všetky podstatné skutočnosti tak, aby presne a časovo aktuálne odrážali vlastnosti a deje v našom okolí. Typy modelov. Matematický Matice Rovnice Funkcie Fyzikálny Z rovnakého materiálu
E N D
Model • Zobrazenie podstatných vlastností reálneho objektu, ktorými sa snažíme zachytiť všetky podstatné skutočnosti tak, aby presne a časovo aktuálne odrážali vlastnosti a deje v našom okolí.
Typy modelov • Matematický • Matice • Rovnice • Funkcie • Fyzikálny • Z rovnakého materiálu • Z iného materiálu • Verbálny • Abstraktný
Entitno-relačný model • Model reality sa skladá v každom okamihu z množín objektov a zo vzťahov (relácií) medzi týmito množinami • Model reálneho sveta je v každom časovom okamihu mnohodruhovou relačnou štruktúrou s=(m1,…, mn, r1,…, ru),
Prvky modelu • Entita - objekty prvej triedy sú abstrakciou takých vecí a skutočností reality, o ktorých chceme v báze dát registrovať dáta tvoriace predmet nášho záujmu - sú to teda rozlíšiteľné a identifikovateľné objekty sveta objektov. • Atribút - subjektívna úroveň popisu - výber niektorých vlastností entít • Atribút A je funkcia definovaná na entitnej množine E priraďujúca každej entite eE najviac jednu hodnotu z množiny hodnôt VA
Typy väzieb • vzťah typu 1 : 1 - každej entite z E1 priraďuje práve jednu entitu z E2 - totálna funkcia, resp. maximálne jednu entitu z E2 - čiastočná funkcia). • Vzťah typu 1 : N -. ak pre e1 E1 môže existovať viac ako jedna e2 E taká, že (e1, e2)R (v takomto prípade je len jedna z relácií R(E1, E2) a R(E2, E1) funkciou) • vzťah typu M : N viac ako jedna e1 E1 taká, že (e1, e2)R
priezvisko meno id_zam ODDELENIE PLATY má plat ZAMESTNANEC pracuje v oddelení Ukážka konceptuálnej schémy
Č-ČIT MENO ADRESA ČITATEĽ 1 M D-VRAT D-REZ výpožička záznam N N INV-Č AUTOR NÁZOV N 1 EXEMPLÁR má kópie KNIHA INV-Č D-NÁKUP Konceptuálna schéma
Dátové modely • Hierarchický model • Sieťový model • Relačný model
Veľký Peter 62-02-28/2053 5 600,- Malý Jozef 42-11-12/2156 4 950,- Bielik Albert Záznamy o zamestnancoch postupne za sebou 38-07-02/3097 7 000,- Čierna Mária 69-52-10/4510 3 300,- Systém pre správu súborov
Koreň R 1. úroveň Synovia koreňového uzla A B C D 2. úroveň Synovia uzlov 1. úrovne 1C 1B 2B 1A 2A 3A 3. úroveň Synovia uzlov 2. úrovne 1A1 1A2 1B2 Hierarchický model
Hierarchický model • Predstavuje dáta ako množinu relácií 1:1 alebo 1:N, • Vždy ide o vzťah nadriadenosti a podriadenosti (vlastník - člen) • Dáta organizované na základe stromovej štruktúry vychádzajúcej z koreňa. • Uzol - dátová štruktúra na jednotlivých úrovniach • List - ak z uzla nevychádza ďalšia vetva, • SRBD – vlastníkom koreňového uzla
Strojsmalt spol. s r.o. Kovozávody Ružomberok a.s. FRIČ spol. s r.o. Tatra nábytok a.s. 520 600 0,80 1,00 68 48 Bicyklové rámy Skrutky Sedačky Sieťový model
Sieťový model • predstavuje dáta ako množinu entít, ktoré môžu mať vzťah typu 1:1, 1:N alebo N:M • Atribúty záznamov v sieťových modeloch môžu byť jednoduché, opakujúce sa, zložené alebo zložené opakujúce sa. • môže obsahovať aj cykly a slučky. • je založený na ukazovateľoch (lineárnych alebo cyklických)
Relačný model • Relačný dátový model (RDM) organizuje údaje do tzv. usporiadaných entít - tabuliek. • Relačnú databázu - sústavu v čase sa meniacich normalizovaných tabuliek • Doména - každá položka (stĺpec) tabuľky • Kortéž - každý záznam (riadok)
Vlastnosti • Každá entita (tabuľka) má v RDM svoj jednoznačný názov, ktorý ju v databáze identifikuje. • Každá entita (tabuľka) obsahuje len kortéži (riadky, záznamy) rovnakého typu. • Každá doména (stĺpec) tabuľky má svoj názov – meno, ktorým je identifikovaný v RDM. Ak sa Každý stĺpec obsahuje hodnoty rovnakého atribútu a tieto hodnoty musia byť z domény skalárnych hodnôt rovnakého typu - t.j. napr. len samé číslice, len textové reťazce, len logické hodnoty a pod. • Každý kortéž (riadok) tabuľky zodpovedá jednému výskytu entity daného typu. • Každý riadok je jednoznačne identifikovateľný - primárny kľúč -. Pre identifikáciu sa používa zvláštny atribút - tzv.. • Na poradí stĺpcov a riadkov v tabuľke nezáleží. • Všetky hodnoty v danom riadku sú jednoznačne a úplne závislé na primárnom kľúči. • Každá bunka tabuľky (ak je obsadená) musí obsahovať len jednoduchú hodnotu príslušnej domény (t.j. nie opakujúcu sa skupinu hodnôt). • Kľúčové hodnoty musia byť vždy obsadené - t.j. nesmú obsahovať NULL (Hodnota NULL indikuje, že príslušná hodnota nie je známa).
Normalizácia • Prvá normálna forma (1NF) vyžaduje atomičné atribúty, t.j. aby jednotlivé atribúty neobsahovali zložené hodnoty • Druhá normálna forma (2NF) vyžaduje, aby všetky nekľúčové hodnoty v riadku boli významovo úplne závislé na kľúčových hodnotách daného riadku – odstrániť závislosť na časti kľúča. • Tretia normálna forma (3NF) rieši problém tzv. tranzitívnej závislosti, kedy niektorá nekľúčová hodnota závisí od inej nekľúčovej hodnoty v danom riadku.
Objektovo orientované BD • Identita objektov – objekty sa chápu ako abstraktné objekty • identifikátorov objektov. Identifikátor zostáva stále rovnaký, mení sa len hodnota objektu, ktorá reprezentuje stav objektu • identita, ktorá je nezávislá na hodnote objektu. • Triedy a typy Typ v OOSRBD sumarizuje spoločnú štruktúru množiny objektov s rovnakými charakteristikami. • trieda je viac ako typ a je v rôznych OOSRBD chápaný rôzne. • kontejneri objektov. • Zapuzdrenie vychádza z ponímania abstraktných dátových typov. • metódy, • správy, • posielane správ. • Polymorfizmus je schopnosť operácií fungovať na objektoch viac ako jedného typu alebo patriacich do viac ako jednej triedy. univerzálny s potencionálne nekonečným oborom typov a • ad hoc, kde funkcie pracujú nad nejakou konečnou množinou typov. • Dedenie Objektovo orientovaný prístup umožňuje používateľovi odvodzovať z existujúcich tried nové triedy • Rozšíriteľnosť znamená možnosť definovať nové základné typy a následne nové typy pomocou konštruktorov pre vytváranie typov (externe definované typy).
Entito-relačný (ER)model • Entita (záznam) • je “vec” reálneho sveta (predmet,úloha, objekt, udalosť,...), ktorá existuje nezávisle, a o ktorej je potrebné uchovávať informáciu. • Atribút (položka) • je charakteristika typu entity. • Konkrétna entita obsahuje hodnotu svojich atribútov. • Typy atribútov • jednoduché versus zložené • s jednou hodnotou versus viachodnotové • uložené versus odvodené • Typ entity (tabuľka) • množina entít, ktoré majú rovnaké atribúty. Každý typ entity je určený svojím menom a zoznamom atribútov
Entito-relačný (ER)model • Kľúčový atribút (identifikátor) • je atribút, ktorého hodnoty sú rozličné pre každú individuálnu entitu z jedného typu entity. • Deskriptor • je atribút (alebo množina atribútov), ktorý obsahuje potrebnú informáciu. • Cudzí kľúč (konektor) • je kľúčový atribút z iného typu entity. • Doména atribútov • je množina hodnôt, ktoré môžu byť priradené jednotlivým atribútom pre každú entitu.
Vytváranie dátového modelu Realizuje sa v 2 krokoch: • 1. Identifikácia typov entít - Štruktúrované vyhodnocovanie, (Structured walk through) • Realizuje sa niekoľkonásobným postupným prechádzaním požiadaviek popisujúcich činnosť firmy a ich vyhodnocovaním z hľadiska relevantnosti k danému informačnému systému. • Postup: • Vytvorenie zoznamu typov entít • Priradenie všetkých potrebných atribútov k daným entitám • Vyznačenie identifikátorov • 2. Identifikácia vzťahov • Existujú 3 typy vzťahov s kardinalitami: • 1 : 1 • 1 : N • M : N
Vytváranie dátového modelu 1 : 1 Ku všetkým entitám z A existuje práve 1 entita z B, a naopak.
Vytváranie dátového modelu 1 : N Ku všetkým entitám A existuje 0,1 alebo veľa entít z B a zároveň ku všetkým entitám z B existuje práve jedna entita z A.
Vytváranie dátového modelu M : N Ku všetkým entitám A existuje 0,1, alebo veľa entít z B a naopak. (Treba eliminovať nebezpečie 0:0)
Vytváranie dátového modeluRozkladanie relácií M : N Musíme vytvoriť umelý typ entity, ktorá bude obsahovať identifikátory z predošlých typov entít ako konektory.
Entito-relačný (ER)model - Príklad • Podnik je rozdelený na oddelenia. Každé oddelenie má jedinečný názov, jedinečné číslo a vedúceho. Uchovávame informáciu o nástupnom dátume zamestnanca na miesto vedúceho oddelenia. Oddelenie môže byť lokalizované na viacerých miestach. • Každé oddelenie vedie niekoľko projektov, ktoré majú jedinečný názov a číslo. • O každom zamestnancovi potrebujeme vedieť jeho meno, rodné číslo, adresu, plat a dátum narodenia. Každý zamestnanec je členom jedného oddelenia, ale môže participovať na niekoľkých projektoch, ktoré môžu spadať pod kompetenciu iných oddelení. Zaznamenávame tiež informáciu o počte hodín, ktoré zamestnanec týždenne strávil prácou na každom z projektov, na ktorých sa podieľa. Tiež vieme meno priameho nadriadeného každého pracovníka firmy. • Kvôli platbe poistky potrebujeme o každom zamestnancovi vedieť informácie o vyživovaných osobách a to ich meno, dátum narodenia a vzťah, aký majú k zamestnancovi