Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Požadované vlastnosti E-R modelu

Podobné prezentace


Prezentace na téma: "Požadované vlastnosti E-R modelu"— Transkript prezentace:

1 Požadované vlastnosti E-R modelu
korektnost (smysluplná a jednoznačná sémantika) klíče, kardinality snaha o minimalizaci E-R diagramu čitelnost E-R diagramu kontrola funkčních závislostí (později) Rada: Postupovat shora dolů – diagram postupně zjemňovat Databázové systémy UIN010

2

3

4 Databázové systémy UIN010
Datové modely Síťový databázový model Hierarchický databázový model Relační databázový model Objektově-relační databázový model Objektově-orientovaný databázový model Databázové systémy UIN010

5 Relační databázový model
Každý datový model musí definovat: povolené datové struktury povolené operace na nich integritní omezení Datové struktury: n-ární relace (v podstatě tabulky) relace = množina prvků tvaru (a1, a2, … an) … n-tice n je řád relace ai  dom (Ai), kde Ai je pojmenování atributu a dom označuje doménu atributu (množina hodnot, jichž může atribut Ai nabývat) ai - hodnota atributu Ai v dané n-tici atribut Ai dán dvojicí Ai: Dom(Ai) Databázové systémy UIN010

6 Databázové systémy UIN010
Schéma relace R(A1: D1, A2: D2, … An: Dn), Di = dom (Ai) pro i = 1, … n Zkrácený zápis schématu: R(A1, A2, … An) nebo pouze R(A) Pozn. Matematicky se jedná o podmnožinu kartézského součinu D1  D2  …  Dn Relace nad schématem R = instance relace tj. {t; t = {<A1, a1>,... , <An, an>}, aiÎDi, i=1,...,n} Relační schéma databáze = konečná množina relačních schémat např. DB = {R1, R2, ..., Rk} Relační databáze nad schématem DB = instance relace tj. množina relací o k prvcích např. {S1 , S2 ,..., Sk}, kde Sj je relace nad schématem Rj Databázové systémy UIN010

7 Tabulková terminologie
schéma relace  záhlaví tabulky n-tice  řádky tabulky atributy  sloupce tabulky Pozor: V relaci nezáleží na pořadí řádků, ale v tabulce je vždy dané nějaké pořadí sloupců a řádků. Relace neobsahuje duplicitní n-tice, ale v tabulce se mohou vyskytovat duplicitní řádky. Tabulka je pouhou reprezentací databázové relace. Databázové systémy UIN010

8 Databázové systémy UIN010
Příklady Schéma relací KINO (Název_k: STRING(25), Adresa: STRING(50), Kapacita: INTEGER) FILM (Název_f: STRING(40), Rok: INTEGER, Země: STRING (30)) PROGRAM (Název_k: STRING(25), Název_f: STRING(40), Datum: STRING(10), Čas: STRING(5)) Relační schéma databáze {KINO, FILM, PROGRAM} Konkrétní n-tice z relace nad schématem KINO a FILM (instance relace) (Blaník, Václavské nám. 25, 420) (Gladiátor, 2000, USA), ale i (dhasudh, 18569, datdtyay) Databázové systémy UIN010

9 Databázové systémy UIN010
Integritní omezení tvrzení specifikující znalosti o datech v databázi v RMD logické podmínky, jež musejí být na datech splněny Instance relace vyhovující integritním omezením se označují jako přípustné. Důležitá integritní omezení Specifikace klíče schématu relace R Referenční integrita Databázové systémy UIN010

10 Databázové systémy UIN010
Specifikace klíče Definice: Klíč K schématu R(A) je minimální množina atributů z A, jejichž hodnoty budou jednoznačně určovat n-tice instance relace R. Důležité pojmy primární klíč nadklíč jednoduchý vs. složený klíč klíčový vs. neklíčový atribut Databázové systémy UIN010

11 Referenční integrita = integritní omezení popisující vztah mezi daty obsaženými ve dvou relacích týká se atribut označovaného jako cizí klíč Př. FILM (Jméno_f, Herec, Rok) PROGRAM (Název_k, Jméno_f, Datum) V jazyce SQL: FOREIGN KEY (Jméno_f) REFERENCES FILM (Jméno_f) Kontrola RI se uplatňuje při vkládání dat do závislé relace PROGRAM a při odstraňování záznamů z hlavní relace FILM. Databázové systémy UIN010

12 Transformace E-R schématu
reprezentace silného entitního typu reprezentace vícehodnotových atributů reprezentace skupinových atributů reprezentace vztahů reprezentace slabého entitního typu reprezentace ISA-vztahu Databázové systémy UIN010

13 Reprezentace silného entitního typu
transformace na relace resp. tabulky atributy tvoří schéma identifikátor se překládá na klíč (při složitém klíči se vyplatí zavést umělý klíč jednoduchý) Zaměstnanec Osobní_č Jméno Příjmení Zaměstnanec (Osobní_č, Jméno, Příjmení) Databázové systémy UIN010

14 Reprezentace vícehodnot. atributů
je-li dáno maximum hodnot, lze zavést příslušný počet atributů do schématu relace (nevyužité mají hodnotu NULL) obvykle umisťujeme do samostatné tabulky s vhodně generovaným klíčem obsahujícím klíč odpovídajícího entitního typu Zaměstnanec Osobní_č Děti Zaměstnanec (Osobní_č, …) Děti (Osobní_č, Rodné_číslo_dítěte, …) Databázové systémy UIN010

15 Reprezentace skupin. atributů
rozepisují se do atomických složek nebo se pro ně zavede samostatná tabulka Zaměstnanec Osobní_č Ulice, číslo Město PSČ Zaměstnanec (Osobní_č, …) Adresa (Osobní_č, Město, Ulice + číslo, PSČ) Databázové systémy UIN010

16 Databázové systémy UIN010
Reprezentace vztahu 1:1 reprezentace závisí na tom, zda je členství ve vztahu povinné či nikoli Nepovinném členství pro oba typy  samostatná tabulka klíčovaná klíčem kteréhokoliv ze dvou zúčastněných typů Povinné členství pro jeden typ  přidání atributů vztahu včetně klíče nezávislého typu do tabulky pro existenčně závislý (s povinným členstvím) Povinné členství pro oba typy  jediné schéma pro oba entitní typy i vztah Databázové systémy UIN010

17 Reprezentace vztahu 1:1 Zaměstnanec (Osobní_č, Jméno, …)
používá (0,1) Zaměstnanec (Osobní_č, Jméno, …) Vůz (SPZ, Výrobce, …) Používá (Osobní_č, SPZ, …) Zaměstnanec Vůz používá (1,1) (0,1) Zaměstnanec (Osobní_č, Jméno, …) Vůz (SPZ, Výrobce, …, Osobní_č) Zaměstnanec Vůz používá (1,1) Zaměstnanec (Osobní_č, Jméno, …, SPZ, …)

18 Reprezentace vztahu 1:N
reprezentace závisí pouze na typu determinantu vztahu Povinné členství determinantu vztahu  ke schématu determinantu přidáme atributy klíče druhého typu, primárním klíčem zůstává klíč determinantu Nepovinné členství determinantu vztahu  nové schéma pro vztah obsahující vztahové atributy a identifikační atributy obou typů, primárním klíčem bude klíč determinantu Databázové systémy UIN010

19 Reprezentace vztahu 1:N
Pacient Pokoj umístěn (x, N) (1,1) Pacient (Rodné_číslo, …, Číslo pokoje) Pokoj (Číslo_pokoje, Počet_lůžek, …) Pacient Pokoj umístěn (x, N) (0,1) Pacient (Rodné_číslo, …) Pokoj (Číslo_pokoje, Počet_lůžek, …) Umístěn (Rodné_číslo, Číslo_pokoje, …) Databázové systémy UIN010

20 Reprezentace vztahu M:N
bez ohledu na typy členství tři schémata, třetí vztahové obsahuje klíče z obou typů a vztahové atributy, primárním klíčem je dvojice příslušných primárních klíčů Zaměstnanec Oddělení pracuje (x, M) (x, N) Zaměstnanec (Osobní_č, Jméno, …) Oddělení (Číslo_odd, Název, …) Pracuje (Osobní_č, Číslo_odd, Datum, …) Databázové systémy UIN010

21 Reprezentace n-árního vztahu
bez ohledu na typy členství n+1 schémat, poslední vztahové obsahuje identifikační klíče všech typů a vztahové atributy primární klíč však nemusí obsahovat všechny zmíněné cizí klíče, závisí na poměrech v n-árním vztahu A B R N M C 1 A (A1, A2, …) B (B1, B2, …) C (C1, C2, …) R (A1, B1, C1) Databázové systémy UIN010

22 Reprezentace slabého entitního typu
do tabulky se přidají identifikátory identifikačních vlastníků Exemplář Kniha (1,1) (0,n) Kniha (ISBN, Název, Autor, …) Exemplář (Č_exempláře, ISBN, Datum nákupu, …) Databázové systémy UIN010

23 Reprezentace ISA-vztahu
obvykle schémata pro nadtyp i každý podtyp, podtyp dědí klíč z nadtypu ISA OSOBA UČITEL STUDENT Osoba (Osobní_č, Jméno, …) Učitel (Osobní_č, Titul, …) Student (Osobní_č, Obor, Ročník …) Databázové systémy UIN010

24 Databázové systémy UIN010
Funkční závislosti definována mezi dvěma množinami atributů v rámci jednoho schématu platí obecně Definice: Nechť A= {A1,...,An} je relační schéma, X,Y podmnožiny A. Řekneme, že Y funkčně závisí na X, značíme X->Y, jestliže pro každou instanci r nad A platí:  t1,t2  r: (t1[X] = t2[X]  t1[Y]= t2[Y]) Předmět Učitel Místnost Matematika Záruba S7 S1 Dějepis Hořká S2 Jeden předmět učí nejvýše jeden učitel, jeden učitel učí více předmětů Předmět –> Učitel Databázové systémy UIN010

25 Definice pojmů klíč, nadklíč
Definice pojmu nadklíč a klíč s pomocí funkčních závislostí Nechť A={A1,...,An} je relační schéma. Nadklíčem schématu A rozumíme každou podmnožinu množiny A, na níž A funkčně závisí. Klíčem schématu A je takový nadklíč schématu A, jehož žádná vlastní podmnožina není nadklíčem A (tj. minimální nadklíč). Databázové systémy UIN010


Stáhnout ppt "Požadované vlastnosti E-R modelu"

Podobné prezentace


Reklamy Google