Upload
nguyenminh
View
220
Download
0
Embed Size (px)
Citation preview
Bazy danychAlgebra relacji
Wykład dla studentów matematyki
Zbigniew Jurkiewicz, Instytut Informatyki UW
3 marca 2018
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Algebra relacji
Model teoretyczny do opisywania semantyki relacyjnychbaz danych, zaproponowany przez T. Codda (twórcekoncepcji relacyjnych baz danych).Algebra, której dziedzine stanowia relacje, tzn. zmiennewystepujace w wyrazeniach reprezentuja relacje.Operatory dobrane tak, aby odpowiadały typowymoperacjom wystepujacym w zapytaniach podczaswyszukiwania informacji z tabel w bazie danych.Miała byc jezykiem zapytan (query language) dlarelacyjnych baz danych.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Relacje
Relacje reprezentowane ich nazwami.Z nazwa kazdej relacji jest zwiazany jej schemat — ciagnazw atrybutów (odpowiadajacych kolumnommodelowanej tabeli), np.
R(A,B,C)Student(indeks, imie, nazwisko)
Nazwy atrybutów w schemacie relacji musza byc rózne.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Podstawowe operacje
Typowe operacje teoriomnogosciowe: suma zbiorów (∪),iloczyn zbiorów (∩) i róznica zbiorów (−), ale
oba argumenty musza miec ten sam schematIloczyn kartezjanski R × S
Poniewaz argumenty moga miec atrybuty o tych samychnazwach, nazwy atrybutów w schemacie wyniku trzebaczasem poprzedzac nazwami relacji, z których pochodzaNp. dla relacji R(A,B,C) i S(C,D,E) schematem ichiloczynu kartezjanskiego bedzie
R × S(A,B,R.C,S.C,D,E)
Lepiej jednak uzyc przemianowania.
Selekcja (wybór) σwarunek (R): wybieramy z relacji tylko tekrotki, dla których jest spełniony podany warunek.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Podstawowe operacje
Rzutowanie (projekcja) πatrybut1,...,atrybutn(R): wybieramytylko wskazane atrybuty z relacjiPrzemianowanie ρS(R): zmiana nazwy relacji lub zmiananazw jej atrybutów ρR(X ,Y ,Z )R, czasem jedno i drugieρS(X ,Y ,ZX)R.Złaczenie R 1
θS: podobne do iloczynu kartezjanskiego,
ale łaczy sie ze soba tylko pary krotek spełniajace podanywarunek.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Selekcja
Relacja Zwierzaki:gatunek imie wagaPapuga Kropka 3,50Papuga Lulu 5,35Papuga Hipek 3,50Lis Fufu 6,35Krokodyl Czako 75,00σgatunek=′Papuga′Zwierzaki:gatunek imie wagaPapuga Kropka 3,50Papuga Lulu 5,35Papuga Hipek 3,50
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Rzutowanie
Duplikaty sa eliminowane (bo to relacje!)πgatunek ,wagaZwierzaki:gatunek wagaPapuga 3,50Papuga 5,35Lis 6,35Krokodyl 75,00
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Uogólnione rzutowanie
Oprócz nazw atrybutów sa dozwolone dowolne wyrazeniana atrybutach, np. arytmetyczne.Trzeba je wtedy nazwac:
A + B → CAtrybuty moga wystapic wielokrotnie.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Uogólnione rzutowanie
R = A B1 23 4
πA+B→C,A,A→A1R = C A A13 1 17 3 3
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Iloczyn kartezjanski
R1 = A B1 23 4
R2 = B C5 67 89 10
R1 × R2 = A R1.B R2.B C1 2 5 61 2 7 81 2 9 103 4 5 63 4 7 83 4 9 10
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie theta
R 1θ
S = σθ(R × S)
θ oznacza dowolny warunek na atrybuty łaczonych relacji,np. A < C.Złaczenie theta, w którym warunek jest prosta równosciapary atrybutów, nazywa sie złaczeniem równosciowym.Pojecie porzuconej krotki (dangling tuple): krotki z jednej zrelacji, do której nie pasuje zadna krotka z drugiej relacji.Taka krotka nie pojawi sie w wyniku.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie theta
Zwierzakigatunek imie wagaPapuga Kropka 3,50Papuga Lulu 5,35Papuga Hipek 3,50Lis Fufu 6,35Krokodyl Czako 75,00
Gatunkinazwa kontynentPapuga AmerykaLis EuropaKrokodyl Afryka
Zwierzaki 1gatunek=nazwa
Gatunki
gatunek imie waga nazwa kontynentPapuga Kropka 3,50 Papuga AmerykaPapuga Lulu 5,35 Papuga AmerykaPapuga Hipek 3,50 Papuga AmerykaLis Fufu 6,35 Lis EuropaKrokodyl Czako 75,00 Krokodyl Afryka
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie naturalne
Notacja: R 1 S.Łaczone relacje musza miec co najmniej jeden wspólnyatrybut o tej samej nazwie (w przeciwnym razie otrzymamyiloczyn kartezjanski).Warunkiem złaczenia jest równosc dla wszystkich paratrybutów o tych samych nazwach.W wyniku pozostaje tylko jeden atrybut z kazdej paryatrybutów o tych samych nazwach.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie naturalne
Zwierzakigatunek imie wagaPapuga Kropka 3,50Papuga Lulu 5,35Papuga Hipek 3,50Lis Fufu 6,35Krokodyl Czako 75,00
Gatunkigatunek kontynentPapuga AmerykaLis EuropaKrokodyl Afryka
Zwierzaki 1 Gatunkigatunek imie waga kontynentPapuga Kropka 3,50 AmerykaPapuga Lulu 5,35 AmerykaPapuga Hipek 3,50 AmerykaLis Fufu 6,35 EuropaKrokodyl Czako 75,00 Afryka
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie naturalne
Ciekawostka: złaczenia naturalnego mozna uzyc, zeby usunacwiersze zawierajace wartosci puste (NULL, ⊥). Wystarczyzrobic
A 1 A.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Przemianowanie
Pozwala na nazywanie relacji wynikowych:ρRS(A,B,X ,C,D,E)(R × S).Uproszczona notacja: R1(A1,B,X ,C,D,E) := (R × S).
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Wyrazenia złozone
Poniewaz jest to algebra, wiec operacje mozna składacotrzymujac wyrazenia złozone.Równowaznosc wyrazen mozna wykorzystac przyoptymalizacji, zastepujac dane wyrazenie równowaznymmu, lecz bardziej efektywnym.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Wyrazenia złozone: samozłaczenie
Zwierzakigatunek imie wagaPapuga Kropka 3,50Papuga Lulu 5,35Papuga Hipek 3,50Lis Fufu 6,35Krokodyl Czako 75,00
Znajdz pary zwierzaków (imiona) tego samego gatunku
πZ1.imie,Z2.imie(ρZ1Zwierzaki 1Z1.gatunek=Z2.gatunek∧
Z1.imie<Z2.imie
ρZ2Zwierzaki)
(drugi warunek pozwala uniknac „duplikatów”).
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Wielozbiory
Zgodnie z matematyczna definicja relacji jako zbioru walgebrze relacji utozsamia sie jednakowe krotki(powstajace np. podczas rzutowania).Mozna rozszerzyc te algebre na wielozbiory, dopuszczajacpowtórzenia.Powstaje jednak problem odpowiedniej semantyki dlaoperacji iloczynu i róznicy teoriomnogosciowej.Intuicyjnie zdefiniowane rozszerzenia operacji nawielozbiory zastosowane do relacji daja relacje z wyjatkiemsumy, która dla dwóch relacji moze dac wielozbiór.Przestaja zachodzic niektóre prawa algebry relacji, np.
(R ∪ S)− T = (R − T ) ∪ (S − T )
Operator eliminacji powtórzen δ(R) dla multizbiorów.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Grupowanie
Aby móc modelowac proste zapytania statystycznewprowadzimy operator grupowania z opcjonalnymobliczeniem funkcji agregujacej
γA,MIN(B)→MinB(R)
Zauwazmy, zeγA1,...,An(R) = δ(R)
jesli Ai to wszystkie atrybuty R.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Sortowanie
Operator sortowania τC,B(R).Nie jest to operator algebry relacji ani wielozbiorów, leczewentualnej algebry list, dlatego powinien byczewnetrznym operatorem wyrazenia!
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenia zewnetrzne
Umozliwiaja zachowanie zawieszonych krotek w wynikuUzywa sie specjalnej wartosci ⊥ do wskazaniabrakujacych wartosci z drugiego argumentu złaczenia
Pełne: R◦1 S
Lewostronne: R◦1L S
Brane sa tylko porzucone krotki z pierwszego argumentu;
Prawostronne: R◦1R S;
Oczywiscie zamiast złaczenia naturalnego mozna uzyczłaczenia theta (z warunkiem u dołu).
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie zewnetrzne
Zwierzakigatunek imie wagaPapuga Kropka 3,50Papuga Lulu 5,35Papuga Hipek 3,50Lis Fufu 6,35Krokodyl Czako 75,00
Gatunkigatunek kontynentPapuga AmerykaLis EuropaKrokodyl AfrykaKrowa Europa
Zwierzaki 1 Gatunkigatunek imie waga kontynentPapuga Kropka 3,50 AmerykaPapuga Lulu 5,35 AmerykaPapuga Hipek 3,50 AmerykaLis Fufu 6,35 EuropaKrokodyl Czako 75,00 AfrykaKrowa ⊥ ⊥ Europa
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Złaczenie zewnetrzne
Inny przykład. Schemat fikcyjnego hotelu obejmuje relacjePokoje(numer,lozka,lazienka,cena)Rezerwacje(id,pokoj,pesel,odkiedy,dokiedy,zaplacono)
Pokoje bez rezerwacji mozna znalezc zapytaniem
πnumer Pokoje − πpokojRezerwacje
ale dla wiekszej zabawy uzyjemy
σpokoj=⊥(Rooms◦1
numer=pokojRezerwacje)
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki
Zastosowania algebry relacji
Zapisywanie zapytan (np. modelowanie semantyki)Nakładanie ograniczen na poprawnosc bazy danych(wiezy). Przykłady:
R ∩ S = ∅ (styl równosciowy)R ∩ S ⊆ ∅ (styl teoriomnogosciowy)
Modelowanie integralnosci referencyjnej
πklucz-obcy (R) ⊆ πklucz(S)
πklucz-obcy (R)− πklucz(S) = ∅
Inny zapis zaleznosci funkcyjnych
A→ B : σR.A=R1.A∧R.b 6=R1.B(R × ρR1(R)) = ∅
Postac posrednia do kompilacji zapytan na operacje bazydanych.
Zbigniew Jurkiewicz, Instytut Informatyki UW Bazy danych Algebra relacji Wykład dla studentów matematyki