Vod do datab zov ch syst m
Download
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