Poadovan vlastnosti ER modelu korektnost smyslupln a jednoznan

  • Slides: 25
Download presentation
Požadované vlastnosti E-R modelu • • • korektnost (smysluplná a jednoznačná sémantika) klíče, kardinality

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 6/15/2021 Databázové systémy UIN 010 1

2

2

3

3

Datové modely • Síťový databázový model • Hierarchický databázový model • Relační databázový model

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 6/15/2021 Databázové systémy UIN 010 4

Relační databázový model Každý datový model musí definovat: - povolené datové struktury - povolené

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 (a 1, a 2, … 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) 6/15/2021 Databázové systémy UIN 010 5

Schéma relace R(A 1: D 1, A 2: D 2, … An: Dn), Di

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

Tabulková terminologie schéma relace záhlaví tabulky n-tice řádky tabulky atributy sloupce tabulky Pozor: V

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. 6/15/2021 Databázové systémy UIN 010 7

Příklady Schéma relací KINO (Název_k: STRING(25), Adresa: STRING(50), Kapacita: INTEGER) FILM (Název_f: STRING(40), Rok:

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) 6/15/2021 Databázové systémy UIN 010 8

Integritní omezení 1. tvrzení specifikující znalosti o datech v databázi 2. v RMD logické

Integritní omezení 1. tvrzení specifikující znalosti o datech v databázi 2. 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 6/15/2021 Databázové systémy UIN 010 9

Specifikace klíče Definice: Klíč K schématu R(A) je minimální množina atributů z A, jejichž

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 6/15/2021 Databázové systémy UIN 010 10

Referenční integrita = integritní omezení popisující vztah mezi daty obsaženými ve dvou relacích -

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. 6/15/2021 Databázové systémy UIN 010 11

Transformace E-R schématu • reprezentace silného entitního typu • reprezentace vícehodnotových atributů • reprezentace

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 6/15/2021 Databázové systémy UIN 010 12

Reprezentace silného entitního typu • transformace na relace resp. tabulky • atributy tvoří schéma

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í) 6/15/2021 Databázové systémy UIN 010 13

Reprezentace vícehodnot. atributů • je-li dáno maximum hodnot, lze zavést příslušný počet atributů do

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 Osobní_č Zaměstnanec Děti Zaměstnanec (Osobní_č, …) Děti (Osobní_č, Rodné_číslo_dítěte, …) 6/15/2021 Databázové systémy UIN 010 14

Reprezentace skupin. atributů • rozepisují se do atomických složek nebo se pro ně zavede

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

Reprezentace vztahu 1: 1 • reprezentace závisí na tom, zda je členství ve vztahu

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 6/15/2021 Databázové systémy UIN 010 16

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

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

Reprezentace vztahu 1: N • reprezentace závisí pouze na typu determinantu vztahu Povinné členství

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 6/15/2021 Databázové systémy UIN 010 18

Reprezentace vztahu 1: N Pacient (1, 1) umístěn (x, N) Pokoj Pacient (Rodné_číslo, …,

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

Reprezentace vztahu M: N • bez ohledu na typy členství tři schémata, třetí vztahové

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 (x, N) pracuje (x, M) Oddělení Zaměstnanec (Osobní_č, Jméno, …) Oddělení (Číslo_odd, Název, …) Pracuje (Osobní_č, Číslo_odd, Datum, …) 6/15/2021 Databázové systémy UIN 010 20

Reprezentace n-árního vztahu • bez ohledu na typy členství n+1 schémat, poslední vztahové obsahuje

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 C 1 A 6/15/2021 M R N B Databázové systémy UIN 010 A (A 1, A 2, …) B (B 1, B 2, …) C (C 1, C 2, …) R (A 1, B 1, C 1) 21

Reprezentace slabého entitního typu • do tabulky se přidají identifikátory identifikačních vlastníků Exemplář (1,

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

Reprezentace ISA-vztahu • obvykle schémata pro nadtyp i každý podtyp, podtyp dědí klíč z

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

Funkční závislosti • definována mezi dvěma množinami atributů v rámci jednoho schématu • platí

Funkční závislosti • definována mezi dvěma množinami atributů v rámci jednoho schématu • platí obecně Definice: Nechť A= {A 1, . . . , 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í: t 1, t 2 r: (t 1[X] = t 2[X] t 1[Y]= t 2[Y]) 6/15/2021 Předmět Učitel Místnost Matematika Záruba S 7 Matematika Záruba S 1 Dějepis Hořká S 2 Dějepis Hořká S 1 Databázové systémy UIN 010 Jeden předmět učí nejvýše jeden učitel, jeden učitel učí více předmětů Předmět –> Učitel 24

Definice pojmů klíč, nadklíč Definice pojmu nadklíč a klíč s pomocí funkčních závislostí Nechť

Definice pojmů klíč, nadklíč Definice pojmu nadklíč a klíč s pomocí funkčních závislostí Nechť A={A 1, . . . , 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íč). 6/15/2021 Databázové systémy UIN 010 25