1 / 23

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

Úvod do databázových systémů. Cvičení 05. Ing. Pavel Bednář pavel.bednar.st1@vsb.cz http://pavelbednar.aspone.cz. Relační datový model. Relační schéma

hani
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Úvod do databázových systémů Cvičení 05 Ing. Pavel Bednář pavel.bednar.st1@vsb.cz http://pavelbednar.aspone.cz

  2. Relační datový model • Relační schéma 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. • Relace 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. • Orelaci R říkáme, že je typu R nebo že je instancí relačního schématu R. • Stupeň relace

  3. Relační datový model

  4. Relační datový model

  5. Relační datový model • 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áze V daném časovém okamžiku je konečná množina relací R1, R2, ..., Rm, tzv. aktuálních relací, kde Rije typu Ri.

  6. Relační datový model • Homogenita sloupců • Atomické atributy • Nezáleží na pořadí řádků a sloupců • Každý řádek (záznam) je jednoznačně identifikovatelný.

  7. Relační algebra • Pro formulaci požadavků na výběr dat z relační databáze • Pracuje s celými relacemi • Operátory RA se aplikují na relace, výsledkem jsou opět relace.

  8. Relační algebra • Operace • Sjednocení R ∪ S = { x | x  R ∨ x S } • Průnik R ∩ S = { x | x  R ∧ x S } • Rozdíl R - S = { x | x  R ∧ x S } • Kartezský součin R × S = { rs| r  R ∧ sS} rs= { r1, …,rm,s1, …, sn} • Operace sjednocení a průnik musí být mezi shodnými relacemi • Výsledek operace v RA je bez duplicit.

  9. Relační algebra • Příklad: R ∪ S • Nelze udělat sjednocení, protože to nejsou shodné relace ∪ =

  10. Relační algebra • Příklad: R ∪ S ∪ =

  11. Relační algebra • Příklad: R ∩ S ∩ =

  12. Relační algebra • Příklad: R - S - =

  13. Relační algebra • Příklad: X × Y = ×

  14. Relační operace • Projekce • Selekce • Spojení • Přirozené spojení

  15. Relační algebra • Z tabulky studentů, vybereme login a příjmení. • T = Student [login,příjmení] T

  16. Relační algebra • Z tabulky studentů, vybereme studenty, kteří jsou ve druhém a vyšším ročníku • T = Student(ročník >= 2) T

  17. Relační algebra • Obecné spojení X [A>C] Y X Y X × Y X [ A > C] Y 3 > 2

  18. Příklady Clen(rc,jmeno,prijmeni,email) Titul(cislo_titulu,nazev_cez, nazev_angl, delka) Pujceno(rc,cislo_titulu,datum) • Číslo titulu, který byl alespoň jednou půjčen Pujceno[cislo_titulu] • Číslo titulu, který dosud nebyl půjčen Titul[cislo_titulu] – Pujceno[cislo_titulu] • RČ člena, který si půjčil film číslo 123 (Pujceno(cislo_titulu=123))[rc] • RČ člena, který si půjčil alespoň jeden film, ale ne film 123 Pujceno[rc]-((Pujceno(cislo_titulu=123))[rc]) • RČ člena, který si nepůjčil film 123 Clen[rc]-((Pujceno(cislo_titulu=123))[rc])

  19. Příklady Clen(rc,jmeno,prijmeni,email) Titul(cislo_titulu,nazev_cez, nazev_angl, delka) Pujceno(rc,cislo_titulu,datum) • RČ člena, který si půjčil jiný film než 12 (Pujceno(cislo_titulu<>123))[rc] • RČ člena, který si půjčil pouze film 123 Pujceno[rc]-((Pujceno(cislo_titulu<>123))[rc]) • Najděte názvy filmů, které byly alespoň jednou půjčeny (Pujceno[cislo_titulu][*]Titul)[nazev_cesky] • Najděte jména členů, kteří si dosud nepůjčili žádný film ((Clen[rc]-Pujceno[rc])[*]Clen)[jmeno, prijmeni] • Najděte názvy filmů, které si půjčili členové s příjmením Novák ((((Clen(prijmeni=‘Novák‘))[*]Pujceni)[cislo_titulu])[*]Titul)[nazev_cesky]

  20. Příklady LÉKAŘ(licence,jménoL,specializace) PACIENT(ČP,jménoP,adresa,telefon,narození) NÁVŠTĚVA((licence,ČP,typ,datum,diagnóza,cena) • seznam všech specializací lékařů Lekar[specializace] • jmenný seznam všech ortopédů Lekar(specializace=‘ortoped‘)[jmenoL] • jmenný seznam pacientů starších 65 let Pacient(narozeni<1943)[jmenoP] • seznam licencí lékařů, které navštívila paní Marie Nová (Pacient(jmenoP=‘Marie Nova‘)[cp][*]Navsteva)[licence] • jména lékařů, kteří byli na návštěvě domů na zavolání (Navsteva(typ=‘domu na zavolani‘)[licence][*]Lekar)[jmenoL]

  21. Příklady LÉKAŘ(licence,jménoL,specializace) PACIENT(ČP,jménoP,adresa,telefon,narození) NÁVŠTĚVA((licence,ČP,typ,datum,diagnóza,cena) • jména a adresy pacientů, kteří byli vyšetřeni dr. Lomem dne 23.5.93 ((Lekar(jmenoL=‘Lom‘)[licence][*]Navsteva)(datum=’23.5.1993‘)[cp][*]Pacient)[jmenoP,adresa] • jména a adresy pacientů, kterým byla určena diagnóza HIV+ (Navsteva(diagnoza=‘HIV+‘)[cp][*]Pacient)[jmenoP, adresa] • jména a specializace lékařů, kteří určili diagnózu vřed na dvanácterník (Navsteva(diagnoza=‘vred na Dvanacterniku‘)[licence][*]Lekar)[jmenoL, specializace] • jména a adresy pacientů, kteří byli vyšetřováni pouze dr. Čermákem (((Lekar(jmenoL=‘Cermak‘)[licence][*]Navsteva)[cp])- ((Lekar(jmenoL<>Cermak)[licence][*]Navsteva)[cp]))[*]Pacient)[jmenoP, adresa]

  22. Příklady LÉKAŘ(licence,jménoL,specializace) PACIENT(ČP,jménoP,adresa,telefon,narození) NÁVŠTĚVA((licence,ČP,typ,datum,diagnóza,cena) • jména a adresy pacientů, kteří byli vyšetřováni dr. Čermákem. (Lekar(jmenoL=Cermak)[licence][*]Navsteva)[cp][*]Pacient)[jmenoP,adresa] • jména a adresy pacientů, kteří nebyli vyšetřováni dr. Čermákem (Pacient[cp]-(Lekar(jmenoL=Cermak)[licence][*]Navsteva)[cp]) [*]Pacient)[jmenoP, adresa] • Seznam jmen pacientů i lékařů Lekar[jmenoL] ∪ Pacient[jmenoP]

  23. Modelovací nástroje • Oracle SQL Data Modeler • Download – nutná registrace • Výukové video • Toad data modeler • Download – omezení 25 tabulek

More Related