azy danych lgebra relacji
Model danych Model danych to spójny zestaw pojęć służący do opisywania danych i związków między nimi oraz do manipulowania danymi i ich związkami, a także do wyrażania więzów nałożonych na dane.
Model relacyjny Twórcą modelu relacyjnego jest E.F.odd, który w roku 90 ogłosił pracę dotyczącą systemu baz danych opartego na modelu danych zbudowanym z relacji. Relacja R jest to dowolny podzbiór iloczynu kartezjańskiego jednego lub więcej zbiorów: R...... k k = {( a, a,..., a k ): a i, i {,,..., k}} i
Model relacyjny Schematem R relacji nazywamy zbiór atrybutów {,..., n } Relacją r o schemacie R = {,..., n } nazywamy skończony zbiór r = {t,..., t m } odwzorowań t i : R, gdzie jest równy sumie dziedzin atrybutów,..., n, takich, że t i ( j ) j dla i=,...,m, j=,...,n. Każde takie odwzorowanie nazywamy krotką. Przykład: R={Numer, Skąd, okąd, Odlot, Przylot} t i ={(Numer,8), (Skąd, 'udapeszt'), okąd, 'Warszawa'). (Odlot, ':0'), (Przylot, ':0}
Model relacyjny Relacje mogą być reprezentowane w postaci tabel krotki wiersze (rekordy) atrybuty kolumny (pola) PROWNIY(Nazwisko, Imię, Wiek, Pensja) - schema Nazwisko Imię Wiek Pensja rekord Kowalski Jan 0 Nowak Piotr 00 Zielińska nna 0
Integralność danych - klucz Kluczem schematu R relacji nazywamy taki zbiór atrybutów K tego schematu, że przez wartości atrybutów z tego zbioru można jednoznacznie zidentyfikować każdą krotkę (tzn. żadne dwie różne krotki dowolnej relacji r rozpiętej na schemacie R nie mają tych samych wartości dla atrybutów z K własność jednoznaczności). Własności: Wartość klucza pozwala jednoznacznie identyfikować rekordy. any schemat może posiadać więcej kluczy. Każdy nadzbiór klucza jest kluczem. Klucz, którego żaden podzbiór właściwy nie jest kluczem (własność minimalności), nazywa się kluczem właściwym (kandydującym). Wśród kluczy wybiera się jeden i nazywa go się kluczem głównym.
Klucz schemat relacji NE_OSOOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur 09 Nowak Jan 0-0- 890 Kowalski Piotr -0-0 EF 88 Nowak nna 0--9 GH 99880 ogucki ndrzej 0-0- IJ 8889 Nowak nna --9 KL 0 Smutny Waldemar -09- Kluczami są np. (nr_dowodu), (nr_dowodu, nazwisko). Kluczem właściwym jest (nr_dowodu).
Integralność danych klucz obcy Kluczem obcym schematu S relacji nazywamy zbiór atrybutów FK tego schematu, który jest kluczem kandydującym pewnego schematu R relacji. RZEMIEŚLNIK_KTO RZEMIEŚLNIK_O nazwisko adres NIP NIP wyrób cena Nowak Warszawa naszyjnik 0 Nowak Opole 8 89 obrączki 0 Nowak Gdynia 89 kolczyki Kowalski Kraków 809 809 naszyjnik Kowalski Kraków 809 kolczyki relacja nadrzędna relacja podrzędna
Integralność danych Wartość pusta (NULL) reprezentuje wartość atrybutu, która w danej chwili nie jest znana lub nie może zostać ustalona. Rodzaje relacyjnych więzów integralności: Integralność encji Każdy schemat relacji posiada klucz główny i żaden składnik klucza głównego nie akceptuje wartości pustej. Integralność referencyjna Każda wartość klucza obcego wynosi NULL lub jest równa wartości klucza kandydującego pewnej krotki w relacji nadrzędnej. Więzy ogólne odatkowe warunki poprawności danych określone przez użytkowników lub administratorów bazy danych.
Manipulowanie danymi algebra relacji lgebra relacji język proceduralny, dostarcza zbioru jawnych operacji (np. rzut, złączenie) wskazujących systemowi, jak tworzyć pewne poszukiwane relacje z relacji dostępnych w bazie danych. 0
lgebra relacji Podstawowe operacje na relacjach służące do wyszukiwania danych: Selekcja - polega na wyborze tych rekordów relacji, które spełniają określoną własność. Projekcja - polega na wyborze z relacji podzbioru atrybutów. Złą łączenie - polega na utworzeniu z danych dwóch relacji jednej relacji. Najczęściej łączy się relacje, które mają taki sam atrybut.
Selekcja - definicja ef. Selekcją relacji r o schemacie R={,..., k } dla warunku logicznego F nazywamy relację q = σ F (r) taką, że t q t r i t spełnia warunek F. NE_OSOOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur 09 Nowak Jan 9-0-0 890 Kowalski Piotr 90-0- EF 88 Nowak nna 99--0 GH 99880 ogucki ndrzej 9-0-0 IJ 8889 Nowak nna 99-- KL 0 Smutny Waldemar 9-09- NE_OSOOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur 09 Nowak Jan 9-0-0 EF 88 Nowak nna 99--0 IJ 8889 Nowak nna 99-- F={nazwisko=Nowak} σ nazwisko=nowak (r)
Projekcja (rzut) - definicja Projekcją relacji r o schemacie R={,..., k } na podzbiór zbioru atrybutów R nazywamy relację q = Π (r) taką, że t q ( u r)( u = t) NE_OSOOWE(nr_dowodu, nazwisko, imię, data_ur) nr_dowodu nazwisko imię data_ur 09 Nowak Jan 9-0-0 890 Kowalski Piotr 90-0- EF 88 Nowak nna 99--0 GH 99880 ogucki ndrzej 9-0-0 IJ 8889 Nowak nna 99-- KL 0 Smutny Waldemar 9-09- nazwisko imię Nowak Jan Kowalski Piotr Nowak nna ogucki ndrzej Smutny W aldemar ={nazwisko, imię} Π{nazwisko, imię}(r)
Operacje teoriomnogościowe Sumą dwóch relacji: r i s o schemacie R={,..., k } nazywamy relację q = r s o schemacie R. Przekrojem dwóch relacji: r i s o schemacie R={,..., k } nazywamy relację q = r s o schemacie R. Różnicą dwóch relacji: r i s o schemacie R={,..., k } nazywamy relację q = r \ s o schemacie R.
Iloczyn kartezjański - definicja Iloczynem kartezjańskim dwóch relacji: r o schemacie R={,..., k } i s o schemacie S={,..., m } takich, że R S=, nazywamy relację q = r s o schemacie Q=R S taką, że s S t r R t q t v S t s v u R t r u q t = = ) )( ( ) )( (
Iloczyn kartezjański - przykład r s r x s E E Jan Opole Fiat Uno Jan Opole Fiat Uno Iwona rzeg Opel orsa Jan Opole Opel orsa Piotr Nysa Iwona rzeg Fiat Uno Iwona rzeg Opel orsa Iloczyn kartezjański relacji r i s jest zbiorem wszystkich możliwych połączeń krotek z relacji r i s. Piotr Piotr Nysa Nysa Fiat Opel Uno orsa
Iloczyn kartezjański - przykład r s r x s s. Jan Opole Fiat Uno Jan Opole Fiat Uno Iwona rzeg Opel orsa Jan Opole Opel orsa Piotr Nysa Iwona rzeg Fiat Uno Jeżeli RS, to w celu obliczenia iloczynu kartezjańskiego należy najpierw zmienić nazwy powtarzających się atrybutów (np. poprzez poprzedzenie nazwy atrybutu nazwą relacji z i na s. i ). Iwona Piotr Piotr rzeg Nysa Nysa Opel Fiat Opel orsa Uno orsa
Równozłączenie - definicja Równozłączeniem dwóch relacji: r o schemacie R={,..., k,,..., n } i s o schemacie S={,..., m,,..., n } nazywamy relację q o schemacie Q={,..., k, r.,..., r. n,,..., m, s.,..., s. n } taką, że t q t t t { { { r.,...,,..., k k, r., s.,..., r. n },..., r. n,..., s. = t { s. } r n } s,..., s. n } 8
9 Równozłączenie - przykład Łączymy ze sobą te krotki, które dla wspólnych atrybutów relacji r i s mają takie same wartości. s r 0 9 8 8 8 s. q r.
Złączenie naturalne - przykład r 9 s 0 8 krotka wisząca r s 8 8 Krotka wisząca to krotka relacji, której nie można połączyć z żadną krotką w drugiej relacji 0
Złączenie naturalne - własności Π R (r s) r Π S (r s) s s r 0 9 8 q 8 8 Π S (q) Π R (q) 8 Gdy Π R (r s) = r i Π S (r s) = s, to przy złączaniu nie następuje utrata informacji.
Złączenie teta (Θ-złączenie) Θ-złączeniem relacji r i s nazywamy relację q = r Θ s będącą wynikiem operacji selekcji wg kryterium Θ iloczynu kartezjańskiego relacji r i s. r Θ s = σ Θ (r s)
Θ-złączenie - przykład s r 0 9 8 Niech Θ = (= >8) 0 9 8 0 9 8 9 s. t 0 8 r. 0 9 0 9 0 9 s. q r.
Złączenia zewnętrzne Złączenia zewnętrzne są stosowane wtedy, gdy chcemy zachować w wyniku wszystkie krotki z jednej relacji bez względu na to, czy mają one odpowiadające sobie krotki w drugiej relacji.
Lewostronne złączenie zewnętrzne Lewostronnym złączeniem zewnętrznym dwóch relacji: r o schemacie R={,..., k,,..., n } i s o schemacie S={,..., m,,..., n } nazywamy relację q o schemacie Q={,..., k,,..., n,,..., m } (Q=R S) taką, że t q t R r ( t S s i. t( i ) = NULL)
Prawostronne złączenie zewnętrzne Prawostronnym złączeniem zewnętrznym dwóch relacji: r o schemacie R={,..., k,,..., n } i s o schemacie S={,..., m,,..., n } nazywamy relację q o schemacie Q={,..., k,,..., n,,..., m } (Q=R S) taką, że t q t S s ( t R r i. t( i ) = NULL)
Złączenia zewnętrzne - przykład s r 0 9 8 Złączenie lewostronne NULL NULL 8 Złączenie prawostronne 0 9 NULL 8 krotki wiszące 8 NULL NULL 0 9 NULL Złączenie zewnętrzne
To na dzis wszystko ziękuję za uwagę!