Teorie zpracování dat RELAČNÍ DATOVÝ MODEL.

Slides:



Advertisements
Podobné prezentace
DOTAZOVACÍ JAZYKY slajdy přednášce DBI006
Advertisements

Úvod do databázových systémů
Ukázka písemné zkoušky z TZD
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
Databáze.
Databázové systémy Relační algebra.
Informatika pro ekonomy II přednáška 11
Teorie zpracování dat Ukázková písemka. Kapitola 4 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím indexové soubory.
YDASYS Ing. Monika Šimková.
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
1 BUMI Úvod do medicínské informatiky Počítačové cvičení č. 3 Ing. Vratislav Čmiel.
Temporální databáze a TSQL
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Úvod do Teorie množin.
Relační datový model Základní ideje
1IT Relační datový model
Úvod do databázových systémů
Databáze Jiří Kalousek.
Prostorové databáze, prostorové indexy
Cvičení 13 Ing. Pavel Bednář
KONCEPTUÁLNÍ MODELOVÁNÍ
DATOVÉ MODELY (c) Tralvex Yeap. All Rights Reserved.
Fakulta elektrotechniky a informatiky
Relační databáze.
1IT D OTAZOVACÍ JAZYKY V RELAČNÍCH DATABÁZÍCH Ing. Jiří Šilhán.
Konceptuální návrh databáze
Vypracoval: Ondřej Dvorský Třída: VIII.A
Úvod do databázových systémů
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Informatika pro ekonomy II přednáška 10
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Predikátová logika.
Databázové systémy Přednáška č. 3.
Číslo šablony: III/2 VY_32_INOVACE_P4_3.8 Tematická oblast: Aplikační software pro práci s informacemi II. Databáze – základy SQL Typ: DUM - kombinovaný.
Teorie zpracování dat KONCEPTUÁLNÍ SCHÉMA.
Konceptuální návrh databáze
Databázové modelování
Databázové systémy Relační model.
Informatika II PAA DOTAZOVACÍ JAZYKY
Aplikační a programové vybavení
Cvičení 02 Relační algebra Ing. Pavel Bednář
Teorie zpracování dat DATABÁZOVÁ TECHNOLOGIE.
Aplikační a programové vybavení
Úvod do databázových systémů
Databázové systémy Informatika pro ekonomy, př. 18.
Množiny.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Číselné posloupnosti.
XQuery Dotazovací jazyk XML Daniel Privalenkov. O čem bude prezentace Nutnost dotazovacího jazyku v XML Rychlý přehled XQuery Několik příkladů.
Databázové systémy SQL Výběr dat.
Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce
Personalizace výuky prostřednictvím e-learningu. Struktura učebnice pro e-learning Obsah učebnice = struktura předmětu, kapitol cíleTabulka aktivni slovesa.docTabulka.
Teorie zpracování dat Rekapitulace pojmů.
Databázové systémy Datové modely.
P114_21 P114 Klasické metody modelování RDM, ERAM 2.
E-R diagram Entity – Relation diagram, diagram entit a vztahů mezi nimi Entity – objekty, které chci v databázi popisovat, mohou nabývat různých hodnot,
DATABÁZE.
Úvod do databází zkrácená verze.
● Databaze je soubor dat,slouží pro popis reálného světa(např.evidence čkolní knihovny..) ● Relační databaze je databáze založená na relačním modelu.
Základy RA RA = matematický základ pro relační modul DBS jazyk SQL Relační DBS = Relační algebra + Relační model Doména = množina hodnot stejného typu/významu.
MNOŽINY RNDr. Jiří Kocourek. Množina: skupina (souhrn, soubor) nějakých objektů.
Databázové systémy 1 – KIT/IDAS1 Ing. Monika Borkovcová, Ph.D.
Informatika pro ekonomy přednáška 8
Databázové systémy Normální formy.
MNOŽINY RNDr. Jiří Kocourek.
A5M33IZS – Informační a znalostní systémy
Praktický modul - zadání
Transkript prezentace:

Teorie zpracování dat RELAČNÍ DATOVÝ MODEL

RELAČNÍ DATOVÝ MODEL Cíl: Po prostudování celé kapitoly budete umět definovat relaci, relační schéma a schéma relační databáze, rozumět definicím a na příkladech vysvětlit jednotlivé pojmy, vyhledávat informace v relační databázi pomocí dotazovacího jazyka procedurálního – relační algebry i deskriptivního jazyka SQL, definovat pojem funkční závislost mezi podmnožinami atributů, rozumět mu a bezpečně rozeznávat funkční závislosti v praktických úlohách, definovat pomocí normálních forem i vysvětlit na příkladech, co je dobře navržené relační schéma a na základě toho navrhnout optimální strukturu relační databáze.

RELAČNÍ DATOVÝ MODEL 5.1. Základní pojmy RDM Definice 5.1. Relační schéma R je výraz tvaru R(A, f), kde R je jméno schématu, A = {A1, A2,..., An} je konečná množina jmen atributů, f je zobrazení přiřazující každému jménu atributu Ai neprázdnou množinu, kterou nazýváme doménou atributu Di, tedy f(Ai) = Di. Definice 5.2. Relace R s relačním schématem R je konečná podmnožina kartézského součinu domén Di, příslušejících jednotlivým atributům Ai, tedy R  D1 x D2 x ...x Dn. Číslo n nazýváme stupněm relace, o relaci R říkáme, že je typu R nebo že je instancí relačního schématu R.

RELAČNÍ DATOVÝ MODEL Příklad 5.1.: Typ entity Zam(jméno, rodcis, kat, plat, fce) Jméno relačního schématu: Zam Množina jmen atributů: A = {jméno, rodcis, kat, plat, fce} Domény: Djméno … množina možných jmen Drodcis … množina 10ciferných čísel, kde … … Zobrazení: f(jméno) = Djméno f(plat) = Dplat Relační schéma: Zam ({jméno, rodcis, kat, plat, fce}, f)

RELAČNÍ DATOVÝ MODEL Příklad 5.2.: Relační schéma: Zam ({jméno, rodcis, kat, plat, fce}, f) Relace: Zam  Djmeno x Drodcis x Dkat x Dplat x Dfce Zam ={(Čáp,1234567890,433,4000,docent), (Holub,23455667788,456,2000,asistent), (Kos,6655443322,455,2500,asistent), (Orel,8877665544,454,5000,docent), …}

RELAČNÍ DATOVÝ MODEL Příklad 5.3.: Relační schéma: Zam({jméno, rodcis, kat, plat, fce}, f) Zobrazení relace tabulkou (modře kartézský součin, bíle prvky relace) Jméno rodcis kat plat fce Anděl Jiří 12345 456 3000 odb.as. doc prof 4000 ... Beneš Jan Žižka Karel 34567 567 8000 99999 999 10000

RELAČNÍ DATOVÝ MODEL definice pojmů Schéma relační databáze je konečná množina relačních schémat R1(A1,f1), R2(A2,f2),. . . , Rm(Am,fm). Relační databází v daném časovém okamžiku je konečná množina relací R1, R2, ..., Rm, tzv. aktuálních relací, kde Ri je typu Ri.

RELAČNÍ DATOVÝ MODEL vlastnosti relační databáze odráží část reality odpovídající aplikačním úlohám, není tedy prvkem relace jakýkoli prvek z D1 x D2 x ... x Dn ale jen prvky vyhovující zadaným podmínkám vyjádřeným jako integritní omezení (IO pro objekty = které objekty z reality mají být do relace zahrnuty). o množině relací (relační databázi) R1, ..., Rk, vyhovujících daným IO řekneme, že je konzistentní databázové relace jsou proměnné v čase změny jsou realizovány 4 databázovými operacemi

RELAČNÍ DATOVÝ MODEL vlastnosti Z definice relace vyplývají tyto jejich tabulkové vlastnosti homogenita sloupců (prvky domény) každý údaj (hodnota atributu ve sloupci) je atomickou položkou na pořadí řádků a sloupců nezáleží (jsou to množiny prvků/atributů) každý řádek tabulky je jednoznačně identifikovatelný hodnotami jednoho nebo několika atributů (primárního klíče)

RELAČNÍ DATOVÝ MODEL Realizace vazeb v relačním modelu Relační model obecně realizuje vazbu pomocí relace, v níž každou entitu do vazby vstupující zastupuje její primární klíč. V některých případech (vazby 1:1, 1:M) však není nutné použít samostatnou vazební tabulku, ale stačí doplnění tabulky na straně M o další atribut - cizí klíč. vazba_1kN.swf vazba_1k1.swf vazba_MkN.swf vazba_unarni.swf vazba_ternarni.swf

RELAČNÍ DATOVÝ MODEL 2 úlohy 2 základní úlohy (relačního) modelu Návrh „správné“ struktury databáze bez redundancí – funkční závislosti, normální formy Vyhledávání informací z databáze – (dotazovací) relační jazyky

Relační jazyky JMD je prostředek pro změny obsahu databáze, obsahuje 4 databázové operace: INSERT, SELECT, UPDATE, DELETE Jazyky pro formulaci požadavků na výběr dat z relační databáze - dotazovací jazyky - jsou 2 typů: jazyky založené na relační algebře, kde jsou výběrové požadavky vyjádřeny jako posloupnost speciálních operací prováděných nad daty; je tedy zadán algoritmus, jak vyhledat požadované informace; jazyky založené na predikátovém kalkulu, které požadavky na výběr zadávají jako predikát charakterizující vybranou relaci; je úlohou překladače jazyka nalézt odpovídající algoritmus; tyto jazyky se dále dělí na - n-ticové relační kalkuly - doménové relační kalkuly Oba typy ekvivalentní možnostmi formulace výběrových podmínek. Skutečně realizované jazyky mají bohatější syntaxi a další funkce.

Relační algebra Relační algebra (RA) je dotazovací jazyk pracující s celými relacemi. Operátory RA se aplikují na relace, výsledkem jsou opět relace. Pro operace , , - musí být relační schémata shodná. Základní množinové operace relační algebry pro relace R a S: sjednocení relací téhož stupně R  S = {x | x  R  x  S} průnik relací R  S = {x | x  R  x  S} rozdíl relací R - S = {x | x  R  x  S} kartézský součin relace R stupně m a relace S stupně n R x S = {rs | r  R  s  S}, kde rs = {r1,...,rm,s1,...sn}

Relační algebra Příklad 1. Jsou dány relace R, S, určete T = R  S

Relační algebra Příklad 2. Jsou dány relace R, S, určete T = R  S

Relační algebra Příklad 3. Jsou dány relace R, S, určete T = R  S

Relační algebra Příklad 4. Jsou dány relace R, S, určete T = R  S

Relační algebra Příklad 5. Jsou dány relace R, S, určete T = R - S

Relační algebra příklad relací X, Y X x A B C D E X.C Y.C 3 s 1 2 ff 5 c gg t 7 hh 6 jj d

Relační algebra Další operace jsou relační: projekce relace R stupně n na komponenty B  {A1,...An}, R[B] = {r[B] | r  R}, kde R[B] = (ri1, . . . , rim) pro r  R selekce (výběr řádků) z relace R podle podmínky P je R(P) = {r | r  R  P(r)} spojení relací R s atributy A a S s atributy B dle relačního operátoru  = {<, =, >,...} v atributu Ai relace R a v atributu Bj relace S je R[AB]S = {rs | r  R  s  S  r[Ai]  s[Bj]} R[A*B]S = {R[A=B]S} pro operátor = , bez duplicitního sloupce přirozené spojení relací R(A) a S(B) R[*]S = ((RxS)[P])[A1,...,Ak,C1,..,Cm+n-k] kde ze součinu RxS se vyberou řádky se stejnými hodnotami u stejnojmenných atributů obou relací R a S

Relační algebra Příklad 6. Z tabulky R vyberte atributy B a C. Zapíšeme T = R [ B, C ].

Relační algebra Příklad 7. Z tabulky S vyberte atributy A a C. Zapíšeme T = S [A, C].

Relační algebra Příklad 8. Z tabulky R vyberte řádky, pro které platí podmínka A>2. Zapisujeme T = R ( A > 2 ).

Relační algebra příklad relací X, Y X x A B C D E X.C Y.C 3 s 1 2 ff 5 c gg t 7 hh 6 jj d [A >C ]

Relační algebra příklad relací X, Y X x A B C D E X.C Y.C 3 s 1 2 ff 5 c gg t 7 hh 6 jj d [*]

Relační algebra Příklad: Mějme relace Učitel U (ČU, jméno, fce, plat) Úvazek V (ČU, ČP, hodin) Najděte čísla učitelů, kteří vyučují alespoň jeden předmět nevyučují žádný předmět vyučují předmět P2 vyučují alespoň jeden předmět, ale ne předmět P2 nevyučují předmět P2 vyučují jiný předmět, než P2 vyučují pouze předmět P2 Najděte jména učitelů, kteří

Relační algebra Příklad: Mějme relace Učitel U (ČU, jméno, fce, plat) Úvazek V (ČU, ČP, hodin) Najděte čísla učitelů, kteří vyučují alespoň jeden předmět V[ČU] nevyučují žádný předmět U[ČU] - V[ČU] vyučují předmět P2 (V(ČP = 'P2'))[ČU] vyučují alespoň jeden předmět, ale ne předmět P2 V[ČU] - ((V(ČP = 'P2'))[ČU]) nevyučují předmět P2 U[ČU] - ((V(ČP = 'P2'))[ČU]) vyučují jiný předmět, než P2 (V(ČP <> 'P2'))[ČU] vyučují pouze předmět P2 ((V(ČP = 'P2'))[ČU]) - ((V(ČP <> 'P2'))[ČU]) Najděte jména učitelů, kteří vyučují alespoň jeden předmět (V[ČU][*]U)[jméno]

Relační algebra Mezi základní databázové operace patří mimo vyhledávání dále vkládání, rušení a modifikace jednotlivých prvků relace. Operace vložení nového prvku relace se provádí speciálním příkazem INSERT INTO R VALUES (hod1, hod2, ..., hodn) Operace rušení prvků se provádí ve dvou krocích. Nejprve se formuluje výběr prvků určených ke zrušení (operací vyhledání) a poté se speciální operací pro výmaz prvky z relace zruší. Obě operace se často zapíší jediným příkazem. DELETE FROM R WHERE vyhledávací_výraz Operace modifikace se opět provádí ve dvou krocích: vyhledání prvků pro modifikaci a po změně hodnot jejich opětovné zařazení. UPDATE R SET atrib=hodn WHERE vyhledávací_výraz