J. Zendulka: Databázové systémy 4 Relační model dat 1



Podobné dokumenty
4. Relační model dat. J. Zendulka: Databázové systémy 4 Relační model dat 1

5. Formalizace návrhu databáze

5. Formalizace návrhu databáze

8. Zpracování dotazu. J. Zendulka: Databázové systémy 8 Zpracování dotazu 1

J. Zendulka: Databázové systémy 8 Zpracování dotazu Podstata optimalizace zpracování dotazu

Analýza a modelování dat 3. přednáška. Helena Palovská

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS

Databázové systémy trocha teorie

Kapitola 3: Relační model. Základní struktura. Relační schéma. Instance relace

Primární klíč (Primary Key - PK) Je právě jedna množina atributů patřící jednomu z kandidátů primárního klíče.

Databázové systémy BIK-DBS

Databázové systémy IDS

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Obsah přednášky. Databázové systémy RDBMS. Fáze návrhu RDBMS. Coddových 12 pravidel. Coddových 12 pravidel

Relační model dat (Codd 1970)

Jaký je rozdíl v definicicíh VARCHAR2(20 BYTE) a VARCHAR2(20 CHAR):

Relační databázový model. Vladimíra Zádová, KIN, EF, TUL- DBS

Kapitola 6: Omezení integrity. Omezení domény

Michal Valenta DBS Databázové modely 2. prosince / 35

Databáze I. Přednáška 2

2 Konceptuální modelování a návrh databáze

2 Konceptuální modelování a návrh databáze

Výroková a predikátová logika - VII

4. Relační algebra. Databáze použité v příkladech. Operace. Selekce. jméno relace(selekční podmínka)

Databáze I. 1. přednáška. Helena Palovská

J. Zendulka: Databázové systémy - 1 Úvod Intuitivní vymezení pojmu databáze

Databáze. Logický model DB. David Hoksza

1 Úvod. J. Zendulka: Databázové systémy - 1 Úvod 1

10. Architektura klient/server a třívrstvá architektura

10. Architektura klient/server a třívrstvá architektura

Dotazování v relačním modelu a SQL

DBS relační DB model, relační algebra

Relační model reprezentuje databázi jako soubor relací. Kaţdá relace představuje tabulku nebo soubor (ve smyslu soubor na nosiči dat).

Relační datový model. Integritní omezení. Normální formy Návrh IS. funkční závislosti multizávislosti inkluzní závislosti

Hierarchický databázový model

Obsah přednášky. Databázové systémy. Normalizace relací. Normalizace relací. Normalizace relací. Normalizace relací

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

UČEBNÍ TEXTY OSTRAVSKÉ UNIVERZITY. Přírodovědecká fakulta RELAČNÍ DATABÁZE (DISTANČNÍ VÝUKOVÁ OPORA) Zdeňka Telnarová. Aktualizovaná verze 2006

Fakulta elektrotechniky a informatiky Databázové systémy 2. Leden 2010 souhrn. Červené dobře (nejspíš), modré možná

12. Postrelační databázové systémy

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

RELAČNÍ DATABÁZOVÉ SYSTÉMY

3. Jazyky relačních databázových systémů

Databázové systémy. Ing. Radek Holý

Terminologie v relačním modelu

Databázové systémy. Přednáška 1

Databáze SQL SELECT. David Hoksza

8.2 Používání a tvorba databází

37. Indexování a optimalizace dotazů v relačních databázích, datové struktury, jejich výhody a nevýhody

Databázové systémy Cvičení 5.3

12. Postrelační databázové systémy

Kapitola 4: SQL. Základní struktura

Database engine (databázový stroj, databázový motor, databázové jádro) Systém řízení báze dat SŘBD. Typy SŘBD podle způsobu práce s daty

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Databázové systémy. * relační algebra. Tomáš Skopal. - relační model

6. Fyzická (interní) úroveň databázového systému

6. Fyzická (interní) úroveň databázového systému

4.2 Syntaxe predikátové logiky

Inovace tohoto kurzu byla spolufinancována z Evropského sociálního fondu a státního rozpočtu České republiky.

Predikátová logika. prvního řádu

platné nejsou Sokrates je smrtelný. (r) 1/??

Okruh č.3: Sémantický výklad predikátové logiky

Informační systémy 2008/2009. Radim Farana. Obsah. Obsah předmětu. Požadavky kreditového systému. Relační datový model, Architektury databází

6. SQL složitější dotazy, QBE

Datové modelování II

Databázové systémy. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 3) Základní relační operace Databázové systémy 1 / 37

Databáze I. Přednáška 7

Databázové systémy. Přirozené spojení. Vilém Vychodil. V. Vychodil (KMI/DATA1, Přednáška 4) Přirozené spojení Databázové systémy 1 / 41

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

Výroková a predikátová logika - VII

2. Konceptuální model dat, E-R konceptuální model

3. Jazyky relačních databázových systémů

Objektově relační databáze a ORACLE 8

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Maturitní témata Školní rok: 2015/2016

Databáze I. Přednáška 6

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

Databázové systémy. Doc.Ing.Miloš Koch,CSc.

Otázka č. 1 (bodů za otázku: 4)

Databázové systémy Cvičení 5

1 Báze a dimenze vektorového prostoru 1

Relace x vztah (relationship)

Databáze I. 5. přednáška. Helena Palovská

Databáze I. Přednáška 4

Konceptuální modelování. Pavel Tyl

Jazyk SQL 1. Michal Valenta. Katedra softwarového inženýrství FIT České vysoké učení technické v Praze c Michal Valenta, 2012 BI-DBS, ZS 2011/12

Stručný obsah. část III Aktualizace dat Kapitola 10: Aktualizace databáze 257 Kapitola 11: Integrita dat 275 Kapitola 12: Zpracování transakcí 307

DUM 12 téma: Příkazy pro tvorbu databáze

Úvod do databázových systémů. Ing. Jan Šudřich

Integrace relačních a grafových databází funkcionálně

Matematika B101MA1, B101MA2

Úvod do informatiky. Miroslav Kolařík. Zpracováno dle učebního textu R. Bělohlávka: Úvod do informatiky, KMI UPOL, Olomouc 2008.

Úvod do databázových systémů. Lekce 1

SQL - trigger, Databázové modelování

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Transkript:

4. Relační model dat 4.1. Relační struktura dat... 3 4.2. Integritní pravidla v relačním modelu... 9 4.2.1. Primární klíč... 9 4.2.2. Cizí klíč... 11 4.2.3. Relační schéma databáze... 13 4.3. Relační algebra... 15 4.4. Relační kalkul... 22 4.4.1. N-ticový relační kalkul (NRK)... 23 4.4.2. Doménový relační kalkul (DRK)... 25 Literatura... 26 J. Zendulka: Databázové systémy 4 Relační model dat 1 1970 - E.F.Codd: A relational data model for large shared data banks Přínos publikace: Oddělení logické struktury dat od implementace Transparentnost přístupových metod při manipulacích s daty, Poskytnutí matematické podpory pro manipulaci s daty Poskytnutí matematické podpory k omezení redundance při návrhu logické struktury databáze Složky relačního modelu dat Relační datová struktura Obecná integritní omezení pro relační databáze Manipulace s daty v relační databázi J. Zendulka: Databázové systémy 4 Relační model dat 2

4.1. Relační struktura dat Doména - pojmenovaná množina skalárních hodnot téhož typu. Př) Doména názvů měst Skalární hodnota - nejmenší sémantická jednotka dat, atomická (vnitřně nestrukturovaná). Př) Josef Novák J. Zendulka: Databázové systémy 4 Relační model dat 3 Složená doména doména složená z několika jednoduchých domén. Př) (Josef, Novák) - Každý atribut je definován na nějaké doméně - (A i :D i ). Jednoduchý atribut na jednoduché, složený na složené. - Domény omezují porovnávání hodnot. Poznámka: Většina SŘBD pojem domén nepodporuje vůbec nebo jen částečně (pojmenované standardní datové typy). Př) SQL/92, ne Oracle, SQLBase CREATE DOMAIN Města CHAR[20] DEFAULT??? CREATE TABLE Zákazník (, město Města, ) J. Zendulka: Databázové systémy 4 Relační model dat 4

Relace Relace na doménách D 1, D 2,...,D n je dvojice R = (R, R*), kde R = R(A 1 :D 1, A 2 :D 2,... A n :D n ) je schéma relace a R* D 1 x D 2 x... x D n je tělo relace. Schéma relace zapisujeme často zjednodušeně ve tvaru R(A 1, A 2,...,A n ). Počet atributů n relace se označuje stupeň (řád) relace, kardinalita těla relace m = R* se označuje kardinalita relace. - Stupeň relace je konstantní, kardinalita proměnná Vztah pojmu relace v relačním modelu dat a pojmu tabulka relace tabulka základní abstraktní pojem relačního modelu forma znázornění relace Poznámka: Název relační model a relační databáze je odvozen od faktu, že relace je základním abstraktním pojmem modelu a jedinou strukturou databáze na logické úrovni. J. Z endulka: Databázové systémy 4 Relační model dat 5 Alternativní definice záhlaví + tělo relace Relace R na doménách D 1, D 2,...,D n je dvojice R = (H, B), kde H značí záhlaví relace a B tělo relace. Záhlaví relace je množina: H = {(A 1 :D 1 ), (A 2 :D 2 ),..., (A n :D n )} A i A j pro i j, A i (i = 1,..., n) značí atributy a D i (i=1,...,n) jsou odpovídající domény. Tělo relace je tvořeno časově proměnnou množinou n-tic: B(t) = {r 1, r 2,..., r m (t)}, kde r i = {(A 1 :v i1 ), (A 2 :v i2 ),..., (A n :v in )} i = 1,2,..., m(t), n - stupeň (řád) relace, m- kardinalita relace. Vlastnosti relace: Neexistují duplicitní n-tice, n-tice jsou neuspořádané Hodnoty jednoduchých atributů jsou atomické Prohřešky SQL - DISTINCT/ALL(?), NEXT (?) J. Zendulka: Databázové systémy 4 Relační model dat 6

Přínos požadavku normalizované relace (v 1NF) - Normalizovaná relace je jednodušší, stačí jednodušší operace. Př) relace Účet Nenormalizovaná účet r_číslo č_účtu pobočka 4440726/0672 4320286 Jánská 2075752 Palackého 530610/4532 1182648 Palackého Normalizovaná r_číslo č_účtu pobočka 4440726/0672 4320286 Jánská 4440726/0672 2075752 Palackého 530610/4532 1182648 Palackého J. Zendulka: Databázové systémy 4 Relační model dat 7 Typy relací pojmenované bázové (reálné) pohledy (virtuální) materializované pohledy (snapshot)- odvozené, ale existující dočasné nepojmenované výsledky dotazů mezivýsledky Př) SQL/92 - příklad přechodné tabulky pro SQL sezení CREATE GLOBAL TEMPORARY TABLE Temp ( ) [ON COMMIT {PRESERVE DELETE} ROWS] Shrnutí základních vlastností relační struktury Relační databáze je vnímána uživatelem (aplikací) jako kolekce časově proměnných normalizovaných relací. Veškerá data v relační databázi jsou reprezentována explicitní hodnotou (žádné ukazatele apod.). J. Zendulka: Databázové systémy 4 Relační model dat 8

4.2. Integritní pravidla v relačním modelu - omezení plynoucí z reality reprezentované daty v databázi Typy integritních omezení: specifická pro konkrétní aplikaci obecná musí platit v každé databázi daného typu - obecná omezení v relačním modelu se týkají primárních a cizích klíčů 4.2.1. Primární klíč - atribut, který jednoznačně identifikuje n-tici v relaci Atribut k relace R se nazývá kandidátním klíčem, když má tyto dvě časově nezávislé vlastnosti: 1. jednoznačnost 2. minimalita (neredukovatelnost). - relaci lze chápat jako paměť s asociativním výběrem - každá relace má alespoň jeden kandidátní klíč - atribut, který je součástí kandidátního klíče budeme nazývat klíčový J. Zendulka: Databázové systémy 4 Relační model dat 9 Primárním klíčem je jeden z kandidátních klíčů (vybraný), zbývající kandidátní klíče se nazývají alternativní (někdy také sekundární). - způsob výběru primárního klíče není v relačním modelu specifikován - existence primárního klíče neimplikuje existenci odpovídajícího indexu - primární klíč je základním prostředkem adresace n-tic v relačním modelu Př) Použití hodnoty primárního klíče pro adresaci SELECT * FROM Klient WHERE r_cislo='440726/0672' SELECT * FROM Klient WHERE jmeno='jan Novák'; J. Zendulka: Databázové systémy 4 Relační model dat 10

Pravidlo integrity entit U žádné komponenty primárního klíče bázové relace nesmí chybět hodnota (nesmí být NULL). - entity jsou identifikovatelné n- tice musí být také - pravidlo se vztahuje na bázové relace - pravidlo se týká pouze primárního klíče Každá n-tice bázové relace musí být v každém okamžiku jednoznačně identifikovatelná hodnotou primárního klíče. 4.2.2. Cizí klíč Př) transakce.č_účtu - je hodnota 5270817 legální? Klient r_cislo Transakce c_uctu Ucet c_uctu Ucet pobocka Pobocka c_uctu Transakce odkazující relace odkazovaná relace referenční integrita J. Zendulka: Databázové systémy 4 Relační model dat 11 Atribut FK bázové relace R2 se nazývá cizí klíč, právě když splňuje tyto časově nezávislé vlastnosti: 1. Každá hodnota FK je buď plně zadaná nebo plně nezadaná. 2. Existuje bázová relace R1 s primárním klíčem PK takovým, že každá zadaná hodnota FK je identická s hodnotou PK nějaké n-tice relace R1. - cizí a odpovídající primární klíč by měly být definovány na téže doméně - referenční cesta, sebeodkazující relace, referenční cykly - soulad hodnot cizích a primárních klíčů představuje vztahy mezi n- ticemi ("drží databázi pohromadě") Pravidlo referenční integrity DB nesmí obsahovat žádnou nesouhlasnou hodnotu cizího klíče. - pravidlo referenční integrity se týká stavu databáze J. Zendulka: Databázové systémy 4 Relační model dat 12

4.2.3. Relační schéma databáze Relačním schématem databáze nazýváme dvojici (R, I), kde R = {R 1, R 2,..., R k,} je množina schémat relací a I = {I 1, I 2,..., I l } je množina integritních omezení. Někdy jsou lokální integritní omezení rozdělena mezi jednotlivá schémata, tj. R = {(R 1, I 1 ), (R 2, I 2 ),..., (R k, I k )} (Přípustnou) relační databází se schématem (R, I) nazýváme množinu relací R 1, R 2,..., R k takových, že prvky těla relací splňují všechna integritní omezení z I. Říkáme také, že relace, resp. data jsou konzistentní. J. Zendulka: Databázové systémy 4 Relační model dat 13 Diagram schématu databáze J. Zendulka: Databázové systémy 4 Relační model dat 14

4.3. Relační algebra Relační algebrou rozumíme dvojici RA = (R, O), kde nosičem R je množina relací a O je množina operací, která zahrnuje: tradiční množinové operace (sjednocení, průnik, rozdíl, součin), speciální relační operace, mezi které patří projekce, selekce (restrikce), spojení a dělení. Tradiční operace Relace jsou množiny n-tic, proto mají tradiční operace obvyklý význam s respektováním vlastností relací (není libovolná množina). Sjednocením relací R1 = (R, R1*) a R1 = (R, R2*) se schématem R je relace R1 UNION R2 = (R, R1* R2*). Analogicky pro průnik (R1 INTERSECT R2) a rozdíl (R1 MINUS R2). Kartézským součinem relací R1 = (R1, R1*) a R2 = (R2, R2*) je relace R1 TIMES R2 = ((R1,R2), R1* x R2*). J. Zendulka: Databázové systémy 4 Relační model dat 15 Speciální relační operace - projekce, selekce (restrikce) - unární; spojení, dělení binární Projekce Projekce relace R1 na atributy X, Y,..., Z ( je relace R1[X, Y,..., Z] se schématem (X, Y,..., Z) a tělem zahrnujícím všechny n-tice t = (x, y,, z) takové, že v R1* existuje n-tice t s hodnotou atributu X rovnou x, Y rovnou y,... Z rovnou z. Př) Klient [r_číslo, jméno] r_číslo jméno 440726/0672 Jan Novák 530610/4532 Petr Veselý 601001/2218 Ivan Zeman 510230/048 Pavel Tomek 580807/9638 Josef Mádr 625622/6249 Jana Malá J. Zendulka: Databázové systémy 4 Relační model dat 16

Selekce (restrikce) Nechť θ reprezentuje operátor porovnání dvou hodnot (<, >, <>, =, atd.). θ selekce (restrikce) relace R na atributech X a Y je relace R WHERE X θ Y, která má stejné schéma jako relace R a obsahuje všechny n-tice t R*, pro které platí x θ y, kde x je hodnota atributu X a y hodnota atributu Y v n-tici t. - na místě buď X nebo Y může být literál Př) Klient where r_číslo = '440726/0672' r_číslo jméno ulice město 440726/0672 Jan Novák Cejl 8 Brno rozšíření podmínky o logické spojky: R1 WHERE c1 AND c2 (R1 WHERE c1) INTERSECT (R1 WHERE c2) - podobně OR, NOT. J. Zendulka: Databázové systémy 4 Relační model dat 17 Spojení Nechť R1 je relace se schématem R1(X1,X2,..,Xm,Y1,Y2,...,Yn) a R2 relace se schématem (Y1,Y2,...,Yn, Z1,Z2,...,Zk). Uvažujme složené atributy X=(X1,X2,...,Xm), Y=(Y1,Y2,...,Yn) a Z=(Z1,Z2,...,Zk). Potom přirozené spojení relací R1 a R2 je relace R1 JOIN R2 se schématem (X, Y, Z) a tělem zahrnujícím všechny n-tice t = (x, y, z) takové, že v R1* existuje n-tice t s hodnotou x atributu X a hodnotou y atributu Y a v R2* existuje n-tice t s hodnotou y atributu Y a hodnotou z atributu Z. Př) Účet JOIN Transakce č_účtu stav r_číslo č_účtu č_transakce 4320286 52000 440726/0672 1182648 10853 530610/4532 4320286 1 4320286 2 č_účtu stav r_číslo č_transakce 4320286 52000 440726/0672 1 4320286 52000 440726/0672 2 J. Zendulka: Databázové systémy 4 Relační model dat 18

Další typy spojení Obecné spojení - theta join: R1 [X θy] =df (R1 TIMES R2 WHERE X θ Y) Polospojení (levé): R1 SEMIJOIN R2 =df (R1 JOIN R2 ) [atributy R1] Vnější spojení (levé): R1 OUTER JOIN R2 Dělení Nechť R1 je relace se schématem (X, Y), kde X a Y jsou obecně složené atributy a R2 relace se schématem (Y). Výsledkem dělení relace R1 relací R2 je relace R1 DIVIDEBY R2 se schématem (X) a tělem obsahujícím množinu všech n-tic t = (x) takových, že v R1* existují n-tice t 1 = (x, y 1 ), t 2 = (x, y 2 ),, t k = (x, y k ), kde y 1, y 2,.., y k jsou všechny hodnoty atributu Y v n-ticích v R2*. J. Zendulka: Databázové systémy 4 Relační model dat 19 Př) Účet [r_číslo, pobočka] DIVIDEBY Pobočka[RENAME název TO pobočka] r_číslo pobočka název r_číslo 440726/0672 Jánská 530610/4532 Palackého 440726/0672 Palackého Jánská Palackého 440726/0672 Minimální množina operací relační algebry - Sjednocení, rozdíl, kartézský součin, projekce, selekce Rozšířená relační algebra - Definice dalších operací a pojmů (přiřazení, přejmenování (rename), agregační funkce,...) Poznámka: V literatuře se často používají pro operace relační algebry následující symboly: σ θ (R) R WHERE θ Π X, Y (R) R [X, Y] R S R JOIN S R S R DIVIDEBY S J. Zendulka: Databázové systémy 4 Relační model dat 20

Výrazy relační algebry jako dotazovací jazyk Jazyk výrazů relační algebry je procedurálním dotazovacím jazykem. Př) Kteří klienti prováděli transakce v říjnu? (Klient JOIN Účet JOIN Transakce) WHERE datum >= 1.10.2003 AND datum <= 31.10.2003 Význam relační algebry vhodný základ pro optimalizaci zpracování dotazů referenční prostředek pro hodnocení vlastností a porovnání relačních dotazovacích jazyků Databázový jazyk je relačně úplný (relationally complete), je-li alespoň tak mocný jako relační algebra. J. Zendulka: Databázové systémy 4 Relační model dat 21 4.4. Relační kalkul - dotazovací jazyk na bázi logiky - neprocedurální dotazovací jazyk (CO chceme dostat) Př) Kteří klienti mají účet u pobočky Jánská?" RA: (Klient JOIN Účet) WHERE pobočka='jánská' RK (zavedený Coddem): {k k Klient u Účet (k.r_číslo=u.r_číslo u.pobočka='jánská') } Typy relačního kalkulu n-ticový relační kalkul (NRK) doménový relační kalkul (DRK) J. Zendulka: Databázové systémy 4 Relační model dat 22

Termy 4.4.1. N-ticový relační kalkul n-ticové proměnné - definované na n-ticích relací odkazy na atributy (např. z.jméno) konstanty (hodnoty z domény) Predikátové symboly - {<,>,<=,>=,=,<>}... θ Atomická formul R(x), kde R je relace a x je n-ticová proměnná x.a θ y.b, resp. x.a θ 'c' Formule (WFF Well Formed Formula) atomická formule je-li P1 formule, pak i NOT P1 a (P1) jsou formule jsou-li P1 a P2 formule, pak i P1 AND P2, P1 OR P2 a IF P1 THEN P2 jsou formule je-li P(x) formule s volnou n-ticovou proměnnou x, pak i EXISTS x R (P(x)) a FORALL x R (P(x)) jsou formule (s tzv. omezenými kvantifikátory). J. Zendulka: Databázové systémy 4 Relační model dat 23 Jazyk NRK jsou výrazy tvaru: seznam_komponent_volných_proměnných where formule_dotazu Problém bezpečnosti výrazů Výraz je bezpečný, pokud všechny hodnoty výsledku jsou vytvořeny z n-tic v databázi. Př) výraz, který není bezpečný x WHERE NOT R(x) - pro bezpečné výrazy musí být syntaxe omezena NRK omezený na bezpečné výrazy je ekvivalentní relační algebře. Př) "Kteří klienti mají účet u pobočky Jánská?" k WHERE Klient(k) AND EXISTS u Účet(u.r_číslo = k.r_číslo AND u.pobočka = Jánská ) J. Zendulka: Databázové systémy 4 Relační model dat 24

Termy 4.4.2. Doménový relační kalkul (DRK) doménové proměnné - definované na doménách konstanty (hodnoty z domény) Predikátové symboly - {<,>,<=,>=,=,<>}... θ Atomická formule: R(A 1 :t 1, A 2 :t 2,..., A n :t n ), t 1 θ t 1 Formule - viz NRK Problém bezpečnosti výrazů - analogicky jako u NRK Př) výraz, který není bezpečný x where not R(jméno:x) Př) "Kteří klienti mají účet u pobočky Jánská?" rc, j, u, m WHERE Klient(r_číslo: rc, jméno: j, ulice: u, město: m) AND Účet(r_číslo:rc, pobočka: Jánská) J. Zendulka: Databázové systémy 4 Relační model dat 25 Literatura 1. Silberschatz, A., Korth H.F, Sudarshan, S.:Database System Concepts. Fourth Edition. McGRAW-HILL. 2001, str. 79 131. 2. Pokorný, J.: Dotazovaci jazyky. Science, Veletiny, 1994, str. 21 46. 3. Pokorný, J.: Databazová abeceda. Science, Veletiny, 1998, str. 145 148. 4. Date C.J.: An Introduction to Database Systems. Sixth edition. Addison-Wesley, 1995, str. 79 218. J. Zendulka: Databázové systémy 4 Relační model dat 26