34
Dátové modely

Dátové modely

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Dátové modely

Dátové modely

Page 2: 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í.

Page 3: Dátové modely

Typy modelov

- Matematický- Matice- Rovnice- Funkcie

- Fyzikálny– Z rovnakého materiálu– Z iného materiálu

• Verbálny • Abstraktný

Page 4: Dátové modely

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),

Page 5: Dátové modely

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

Page 6: Dátové modely

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

Page 7: Dátové modely

Zobrazenie väzieb

Page 8: Dátové modely

Ukážka konceptuálnej schémy

PLATYPLATYmá plat

ZAMESTNANECZAMESTNANEC pracuje v

oddelení

ODDELENIEODDELENIE

meno id_zam

priezvisko

Page 9: Dátové modely

Konceptuálna schéma

EXEMPLÁREXEMPLÁR

výpožička

KNIHAKNIHA

ČITATEĽČITATEĽ

záznam

má kópie

INV-Č D-NÁKUP

D-VRAT

Č-ČIT MENO ADRESA

D-REZ

INV-Č

AUTOR

NÁZOV

N 1

N

1 M

N

Page 10: Dátové modely

Dátové modely

1. Hierarchický model

2. Sieťový model

3. Relačný model

Page 11: Dátové modely

Systém pre správu súborov

42-11-12/2156

5 600,-

4 950,-

7 000,-

3 300,-

62-02-28/2053

38-07-02/3097 69-52-10/4510

Peter

Jozef Albert

Mária

Veľký Malý

Bielik

Čierna

Záznamy o zamestnancoch postupne za sebou

Page 12: Dátové modely

Hierarchický model

R

A B C D

1A 2A 3A 1B 2B 1C

1A1 1A2 1B2

Koreň

1. úroveňSynovia koreňového uzla

2. úroveňSynovia uzlov 1. úrovne

3. úroveňSynovia uzlov 2. úrovne

Page 13: Dátové modely

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

Page 14: Dátové modely

Sieťový model

0,800,80

Strojsmaltspol. s r.o.

Strojsmaltspol. s r.o.

KovozávodyRužomberok a.s.

KovozávodyRužomberok a.s.

FRIČspol. s r.o.

FRIČspol. s r.o.

Tatra nábytoka.s.

Tatra nábytoka.s.

Bicyklové rámy

Bicyklové rámy SkrutkySkrutky SedačkySedačky

520520 600600 1,001,00 6868 4848

Page 15: Dátové modely

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)

Page 16: Dátové modely

Relačný model

CENA

T# D# Cena/ks Min_mn.

1005 01 720,00 10

1005 02 690,00 40

1281 01 0,80 150

1281 01 1,00 10

5210 03 68,00 10

5210 04 48,00 40

TOVAR

T# Názov tovaru D#

1005 Bicyklové rámy 01

1281 Skrutky 02

1281 Skrutky 01

5210 Sedačky 04

1005 Bicyklové rámy 02

5210 Sedačky 03

DODAVATELIA

D# Firma Pracovník

01 Strojsmalt spol. s r.o. Peter Veľký

02 Kovozávody Ružomberok a.s. Ignác Malý

03 Frič spol. s r.o. Michal Martinec

04 Tatra nábytok a.s. Vladimír Kováč

Page 17: Dátové modely

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)

Page 18: Dátové modely

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).

Page 19: Dátové modely

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.

Page 20: Dátové modely

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).

Page 21: Dátové modely

Konceptuálny dátový model

Page 22: Dátové modely

Fázy návrhu DB

Page 23: Dátové modely

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

Page 24: Dátové modely

Príklad

Page 25: Dátové modely

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.

Page 26: Dátové modely

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

Page 27: Dátové modely

Vytváranie dátového modelu

1 : 1Ku všetkým entitám z A existuje práve 1 entita z B,a naopak.

Page 28: Dátové modely

Vytváranie dátového modelu 1 : NKu 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.

Page 29: Dátové modely

Vytváranie dátového modelu M : NKu všetkým entitám A existuje 0,1, alebo veľa entít z B a naopak. (Treba eliminovať nebezpečie 0:0)

Page 30: Dátové modely

Vytváranie dátového modelu Rozkladanie relácií M : N

Musíme vytvoriť umelý typ entity, ktorá bude obsahovať identifikátory z predošlých typov entít ako konektory.

Page 31: Dátové modely

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

Page 32: Dátové modely

Vytvorte DM

Page 33: Dátové modely

Príklad

Page 34: Dátové modely

Vytvorte DM