vod do datab zov ch syst m
Download
Skip this Video
Download Presentation
Úvod do databázových systémů

Loading in 2 Seconds...

play fullscreen
1 / 23

Úvod do databázových systémů - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

Úvod do databázových systémů. Cvičení 05. Ing. Pavel Bednář [email protected] http://pavelbednar.aspone.cz. Relační datový model. Relační schéma

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Úvod do databázových systémů' - hani


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
vod do datab zov ch syst m

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

Cvičení 05

Ing. Pavel Bednář

[email protected]

http://pavelbednar.aspone.cz

rela n datov model
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
rela n datov model3
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.

rela n datov model4
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ý.
rela n algebra
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.
rela n algebra1
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.
rela n algebra2
Relační algebra
  • Příklad: R ∪ S
  • Nelze udělat sjednocení, protože to nejsou shodné relace

=

rela n algebra3
Relační algebra
  • Příklad: R ∪ S

=

rela n algebra4
Relační algebra
  • Příklad: R ∩ S

=

rela n algebra5
Relační algebra
  • Příklad: R - S

-

=

rela n algebra6
Relační algebra
  • Příklad: X × Y

=

×

rela n operace
Relační operace
  • Projekce
  • Selekce
  • Spojení
  • Přirozené spojení
rela n algebra7
Relační algebra
  • Z tabulky studentů, vybereme login a příjmení.
  • T = Student [login,příjmení]

T

rela n algebra8
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

rela n algebra9
Relační algebra
  • Obecné spojení X [A>C] Y

X

Y

X × Y

X [ A > C] Y

3 > 2

p klady
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])

p klady1
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]

p klady2
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]

p klady3
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]

p klady4
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]

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