Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Cvičení 02 Relační algebra Ing. Pavel Bednář

Podobné prezentace


Prezentace na téma: "Cvičení 02 Relační algebra Ing. Pavel Bednář"— Transkript prezentace:

1 Cvičení 02 Relační algebra Ing. Pavel Bednář pavel.bednar.st1@vsb.cz http://pavelbednar.aspone.cz

2  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.  O relaci R říkáme, že je typu R nebo že je instancí relačního schématu R.  Stupeň relace

3

4

5  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 Ri je typu Ri.

6  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.

7

8  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činR × 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  Sjednocení množin – A ∪ B Sjednocení prvků množin A,B rozumíme množinu všech prvků, které náleží alespoň do jedné z množin A,B.

10  Průnik množin – A ⋂ B Průnik množiny A, B rozumíme množinu všech prvků, které patří do množiny A i do množiny B.

11  Doplněk množiny – A‘ Doplněk množiny A rozumíme množinu všech prvků, které do množiny A nepatří.

12  Rozdíl množin A-B Rozdíl množin A,B rozumíme množin prvků, které do množiny A patří a do množiny B nepatří.

13

14

15

16

17

18

19 jménopříjmenílogin DavidJežekJEZ032 DlouhýPetrDLO351 MarieVlčkováVLC0043 BenešováJiřinaBEN391 DlouhýPetrDLO102 příjmenílogin JežekJEZ032 PetrDLO351 VlčkováVLC0043 JiřinaBEN391 PetrDLO102 T

20 T příjmeníloginročník JežekJEZ0322 PetrDLO3511 VlčkováVLC00433 JiřinaBEN3912 PetrDLO1021 příjmeníloginročník JežekJEZ0322 VlčkováVLC00433 JiřinaBEN3912

21 T příjmeníloginročníkVSP JežekJEZ03221.32 PetrDLO35112.06 VlčkováVLC004321.11 JiřinaBEN39122.65 PetrDLO10211.78 login JEZ032 VLC0043

22  X × Y  X \cross Y loginjménopříjmení fas123RadostavFasuga Lyk001EduardLyko Kra222MichalKrátký příjmeníměstodoprava FasugaOstravaauto FasugaBrnovlak KrátkýOlomoucletadlo BenešOstravapionýr loginjménoX.příjmeníY.příjmeníměstodoprava fas123RadostavFasuga Ostravaauto fas123RadostavFasuga Brnovlak fas123RadostavFasugaKrátkýOlomoucletadlo fas123RadostavFasugaBenešOstravapionýr Lyk001EduardLykoFasugaOstravaauto Lyk001EduardLykoFasugaBrnovlak Lyk001EduardLykoKrátkýOlomoucletadlo Lyk001EduardLykoBenešOstravapionýr Kra222MichalKrátkýFasugaOstravaauto Kra222MichalKrátkýFasugaBrnovlak Kra222MichalKrátký Olomoucletadlo Kra222MichalKrátkýBenešOstravapionýr × =

23  X ⋈ Y nebo X \join Y ABC 3s1 5c2 7t3 CDE 1ffs 2ggt 3hhc 6jjd ABX.CY.CDE 3s12ffs 3s12ggt 3s13hhc 3s16jjd 5c22ffs 5c22ggt 5c23hhc 5c26jjd 7t32ffs 7t32ggt 7t33hhc 7t36jjd X YX × Y ABX.CY.CDE 3s11ffs 3s12ggt 3s13hhc 3s16jjd 5c21ffs 5c22ggt 5c23hhc 5c26jjd 7t31ffs 7t32ggt 7t33hhc 7t36jjd 1=1 ? ABX.CY.CDE 3s11ffs 3s12ggt 3s13hhc 3s16jjd 5c21ffs 5c22ggt 5c23hhc 5c26jjd 7t31ffs 7t32ggt 7t33hhc 7t36jjd ABCDE 3s1Ffs 5c2ggt 7t3hhc X ⋈ Y

24  X ⋈ A>C Y nebo X \join_{A>C} Y ABC 3s1 5c2 7t3 CDE 2ffs 2ggt 3hhc 6jjd ABX.CY.CDE 3s12ffs 3s12ggt 3s13hhc 3s16jjd 5c22ffs 5c22ggt 5c23hhc 5c26jjd 7t32ffs 7t32ggt 7t33hhc 7t36jjd X YX × Y ABX.CY.CDE 3s12ffs 3s12ggt 3s13hhc 3s16jjd 5c22ffs 5c22ggt 5c23hhc 5c26jjd 7t32ffs 7t32ggt 7t33hhc 7t36jjd 3 > 2 ABX.CY.CDE 3s12ffs 3s12ggt 3s13hhc 3s16jjd 5c22ffs 5c22ggt 5c23hhc 5c26jjd 7t32ffs 7t32ggt 7t33hhc 7t36jjd ABX.CY.CDE 3s12ffs 3s12ggt 3s13hhc 3s16jjd 5c22ffs 5c22ggt 5c23hhc 5c26jjd 7t32ffs 7t32ggt 7t33hhc 7t36jjd ABCDE 5c2ffs 5c2ggt 7t3hhc X [ A > C] Y

25  R ∪ S  R \union S  Nelze udělat sjednocení, protože to nejsou shodné relace jménopříjmeníkatedra RadoslavFasuga456 EduardLyko454 MichalKrátký456 jménopříjmení PetrDlouhý JiřinaBenešová PetrDlouhý ∪=

26  R ∪ S  R \union S jménopříjmení RadostavFasuga EduardLyko MichalKrátký jménopříjmení RadostavFasuga EduardLyko MichalKrátký PetrDlouhý JiřinaBenešová ∪= příjmeníjméno DlouhýPetr BenešováJiřina DlouhýPetr

27  R ∩ S  R \intersect S jménopříjmení DavidJežek DlouhýPetr MarieVlčková BenešováJiřina DlouhýPetr ∩= jménopříjmení DlouhýPetr DavidJežek BenešováJiřina KarelDlouhý jménopříjmení DlouhýPetr DavidJežek BenešováJiřina

28  R - S  R \diff S jménopříjmení DavidJežek KrestaMojmír MarieVlčková BenešováKlára DlouhýPetr -= jménopříjmení DlouhýPetr DavidJežek BenešováJiřina KarelDlouhý jménopříjmení KrestaMojmír MarieVlčková BenešováKlára

29  Přejmenujte sloupce ‘jméno‘ a ‘příjmení‘ na ‘FirstName‘ a ‘LastName‘  \rename_{‘FirstName‘, ‘LastName‘} Student jménopříjmení DavidJežek KrestaMojmír MarieVlčková BenešováKlára DlouhýPetr = FirstNameLastName DavidJežek KrestaMojmír MarieVlčková BenešováKlára DlouhýPetr


Stáhnout ppt "Cvičení 02 Relační algebra Ing. Pavel Bednář"

Podobné prezentace


Reklamy Google