1 Plan rozdziału 2 Relacyjny model danych Relacyjny model danych - pojęcia podstawowe Ograniczenia w modelu relacyjnym Algebra relacji - podstawowe operacje projekcja selekcja połączenie operatory mnogościowe Algebra relacji - operacje rozszerzone grupowanie i funkcje agregujące połączenie zewnętrzne Relacyjny model danych 3 Domena 4 Historia E.Codd, "A Relational Model for Large Shared Data Banks", 1970 projekty badawcze: IBM System R, Berkeley Ingres projekty komercyjne: Ingres, Oracle, DB2, Sybase, Informix Podstawowe cechy: relacyjne struktury danych, dostępność operatorów algebry relacji umożliwiających tworzenie, wyszukiwanie i modyfikowanie danych, możliwość definiowania ograniczeń integralnościowych i referencyjnych Domena (ang. domain) to zbiór atomowych (niepodzielnych) wartości. Każda domena posiada typ danych oraz format. Przykłady domen numer telefonu stacjonarnego: ciąg 10 cyfr rozpoczynający się od 0 numer PESEL: ciąg 11 cyfr wiek pracownika: liczba z przedziału <18,70> nazwa departamentu: ciąg znaków, np. Informatyka, Fizyka Domena atrybutu A i jest oznaczana przez dom(a i )
Schemat relacji 5 Relacja 6 Schemat relacji R (ang. relation schema) oznaczony przez R(A 1,A 2,...,A n ) składa się z nazwy relacji R oraz listy atrybutów. Każdy atrybut A i jest nazwą roli pełnionej przez pewną domenę D w schemacie relacji R. Stopniem relacji (ang. degree) nazywamy liczbę atrybutów w schemacie relacji. Relacja (ang. relation) r schematu relacji R(A 1,A 2,...,A n ), oznaczona przez r(r), to zbiór krotek r={t 1,t 2,...,t m }, gdzie każda krotka t jest uporządkowaną listą n wartości t=<v 1,v 2,...,v n > i każda wartość v i jest elementem domeny dom(a i ) lub specjalną wartością null. I-tą wartość w krotce t (wartość atrybutu A i ) oznaczamy przez t[a i ] Alternatywna definicja relacji Relacja r(r) jest matematyczną relacją stopnia n na domenach dom(a 1 ), dom(a 2 ),..., dom(a n ), która jest podzbiorem iloczynu kartezjańskiego domen, r(r) dom(a 1 ) dom(a 2 )... dom(a n ) Przykład schematu relacji Przykład krotki PRACOWNIK(PESEL, Nazwisko, DataUr, Etat, Telefon, Pensja) <72011802672, Kowalski, 18-10-1972, Adiunkt, 3490, 3200> Cechy relacji (1/2) 7 Cechy relacji (2/2) 8 Porządek krotek w relacji relacja jest zbiorem krotek, w związku z czym porządek krotek jest nieistotny, relacja reprezentuje znane fakty na poziomie logicznym, na którym może istnieć wiele alternatywnych porządków między krotkami Porządek wartości w krotce krotka jest uporządkowaną listą n wartości, stąd dwie krotki o tych samych wartościach i różnym porządku atrybutów są różne porządek wartości w krotce jest nieistotny o ile można zapewnić jednoznaczną odpowiedniość wartości i atrybutów Relacja r schematu relacji R(A 1,A 2,...,A n ) jest skończonym zbiorem odwzorowań r={t 1,t 2,...,t m }, gdzie każde t i jest odwzorowaniem schematu R na zbiór D, gdzie D jest sumą zbiorową domen atrybutów D=dom(A 1 ) dom(a 2 )... dom(a n ). Wartości w krotkach wartości atrybutów są niepodzielne z punktu widzenia modelu relacyjnego, atrybuty złożone i wielowartościowe są niedozwolone specjalna wartość null jest wykorzystywana do oznaczania wartości nieznanych istniejących lecz niedostępnych nie stosujących się do danej krotki nie stosujących się do danej krotki Interpretacja relacji schemat relacji jest asercją (deklaracją) dotyczącą struktury pewnej klasy obiektów, każda krotka reprezentuje fakt (o encji lub związku) schemat relacji jest predykatem, każda krotka jest zbiorem wartości spełniających predykat
Nadklucze i klucze 9 Klucze obce 10 Nadklucz relacji R(A 1,A 2,...,A n ) (ang. superkey) to każdy podzbiór zbioru atrybutów SK={A i,...,a m } taki, że żadne dwie różne krotki t 1 i t 2 należące do dowolnego stanu relacji r(r) nie posiadają tej samej kombinacji wartości atrybutów nadklucza, tzn. t 1,t 2 r(r) t 1 [SK] t 2 [SK] zbiór wszystkich atrybutów relacji jest nadkluczem relacji atrybuty w nadkluczu mogą być nadmiarowe unikalność nadklucza jest prawdziwa dla wszystkich stanów relacji Klucz relacji R(A 1,A 2,...,A n ) (ang. key) to minimalny nadklucz, tzn. taki zbiór atrybutów K={A i,...,a m }, że usunięcie dowolnego atrybutu ze zbioru K pozostawia zbiór atrybutów nie będący nadkluczem R. jeśli relacja posiada wiele kluczy, to każdy klucz jest kluczem kandydującym (ang. candidate key), a jeden klucz jest wybierany jako klucz podstawowy relacji (ang. primary key) żaden atrybut wchodzący w skład klucza nie może być pusty Zbiór atrybutów FK={A i,...,a m } w relacji R 1 jest kluczem obcym (ang. foreign key) relacji R 1 wskazującym na relację R 2 jeśli atrybuty ze zbioru FK należą do tych samych domen co atrybuty w kluczu podstawowym PK relacji R 2 wartości atrybutów ze zbioru FK w krotce t 1 stanu relacji r 1 (R 1 ) albo występują jako wartości atrybutów ze zbioru PK w krotce t 2 stanu relacji r 2 (R 2 ), lub są puste ograniczenie referencyjne (ang. referential integrity constraints) służą do zachowywania spójności między wieloma relacjami klucze obce reprezentują związki między wystąpieniami encji klucz obcy może wiązać relację z samą sobą, reprezentuje wówczas związek unarny między wystąpieniami tej samej encji Ograniczenia 11 Przykład 12 Więzy integralności (ang. integrity constraints) to ograniczenia kojarzone z obiektami bazy danych. PRACOWNICY ID_PRAC NAZWISKO ID_ZESP ID_SZEFA PLACA_POD PLACA_DOD ZATRUDNIONY Typy więzów integralności unikalność krotek relacji: klucz podstawowy, klucz unikalny ograniczenia referencyjne: klucz obcy integralność krotki: dziedzina atrybutu, format wartości, związki między atrybutami w krotce ograniczenia zbioru krotek ograniczenia statyczne: atrybuty muszą spełniać ograniczenia statyczne w każdym możliwym stanie relacji R ograniczenia dynamiczne: związane z przejściem bazy danych z jednego stanu w inny stan ZESPOLY ID_ZESP NAZWA ADRES PROJEKTY ID_PROJEKTU NAZWA OPIS PRACUJE_NAD ID_PROJEKTU ID_PRAC ROLA LICZBA_GODZIN klucze podstawowe oznaczamy ciągłym podkreśleniem klucze obce oznaczamy przerywanym podkreśleniem
Naruszanie ograniczeń 13 Algebra relacji 14 Wstawianie nowych krotek (INSERT) możliwe naruszenie klucza podstawowego, unikalnego, obcego, naruszenie ograniczeń związanych z domeną atrybutu, formatem wartości lub związkami między wartościami w krotce możliwe strategie: odrzucenie wstawienia, naprawa wstawienia Usuwanie krotek (DELETE) możliwe naruszenie klucza obcego (usunięcie krotki która jest wskazywana przez istniejące klucze obce) możliwe strategie: odrzucenie usunięcia, usunięcie kaskadowe, zamiana wartości w zależnych krotkach (np. na wartość null) Modyfikowanie istniejących krotek (UPDATE) traktowane jako sekwencja usunięcia krotki i wstawienia nowej Algebra relacji (ang. relational algebra) to zbiór operacji zdefiniowanych w modelu relacyjnym. Operacje działają na relacjach i wynikiem każdej operacji jest nowa relacja. Sekwencja operacji algebry relacji to wyrażenie algebry relacji, którego wynikiem także jest relacja. Podstawowe operacje algebry relacji: selekcja: wybór krotek relacji spełniających określone warunki, projekcja: zawężenie relacji do podzbioru atrybutów, połączenie: łączenie krotek należących do różnych relacji, operatory mnogościowe (suma, iloczyn, różnica, iloraz): implementacja klasycznych operatorów zbiorowych, operatory zaawansowane: agregacja, grupowanie, połączenia i sumy zewnętrzne, domknięcie relacji. Selekcja (1/2) 15 Selekcja (2/2) 16 Wynikiem operacji selekcji jest zbiór krotek relacji spełniających określony warunek, zwany warunkiem selekcji. ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIONY PLACA_POD PLACA_DOD NAZWA 100 WEGLARZ 68/01/01 1730.00 420.50 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 120 SLOWINSKI 100 77/09/01 1070.00 130 BRZEZINSKI 100 68/07/01 960.00 140 MORZY 130 75/09/15 830.00 105.00 150 KROLIKOWSKI 130 77/09/01 645.50 160 KOSZLAJDA 130 85/03/01 590.00 170 JEZIERSKI 130 92/10/01 439.70 80.50 190 MATYSIAK 140 93/09/01 371.00 180 MAREK 100 85/02/20 410.20 200 ZAKRZEWICZ 140 94/07/15 208.00 210 BIALY 130 93/10/15 250.00 170.60 220 KONOPKA 110 93/10/01 480.00 230 HAPKE 120 92/09/01 480.00 90.00 Cechy operatora selekcji wyrażenie selekcji może składać się z wielu klauzul, klauzule mogą być łączone za pomocą operatorów AND, OR, NOT σ PLACA_POD<1000 AND (NAZWA='' OR NAZWA='') (PRACOWNICY) operator selekcji stosowany jest do relacji, więc jego argumentem może być nazwa relacji lub wyrażenie algebry relacji σ ='' (σ PLACA_POD>1500 (PRACOWNICY)) σ ='' (PRACOWNICY) ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIONY PLACA_POD PLACA_DOD NAZWA 170 JEZIERSKI 130 92/10/01 439.70 80.50 190 MATYSIAK 140 93/09/01 371.00 220 KONOPKA 110 93/10/01 480.00 230 HAPKE 120 92/09/01 480.00 90.00 stopień wyniku selekcji jest taki sam jak stopień oryginalnej relacji relacja wynikowa zawiera niewięcej krotek niż relacja źródłowa operacja selekcji jest komutatywna σ ZATRUDNIONY > 01.01.2005 (σ PLACA_POD<800 (PRACOWNICY)) = σ PLACA_POD<800 (σ ZATRUDNIONY > 01.01.2005 (PRACOWNICY))
Projekcja (1/2) 17 Projekcja (2/2) 18 Wynikiem operacji projekcji jest zbiór krotek relacji ograniczony do wybranego podzbioru atrybutów. ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIONY PLACA_POD PLACA_DOD NAZWA 100 WEGLARZ 68/01/01 1730.00 420.50 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 120 SLOWINSKI 100 77/09/01 1070.00 130 BRZEZINSKI 100 68/07/01 960.00 140 MORZY 130 75/09/15 830.00 105.00 150 KROLIKOWSKI 130 77/09/01 645.50 160 KOSZLAJDA 130 85/03/01 590.00 170 JEZIERSKI 130 92/10/01 439.70 80.50 190 MATYSIAK 140 93/09/01 371.00 180 MAREK 100 85/02/20 410.20 200 ZAKRZEWICZ 140 94/07/15 208.00 210 BIALY 130 93/10/15 250.00 170.60 220 KONOPKA 110 93/10/01 480.00 230 HAPKE 120 92/09/01 480.00 90.00 π NAZWISKO,,ZATRUDNIONY (PRACOWNICY) NAZWISK ZATRUDNIONY WEGLARZ 68/01/01 BLAZEWIC 73/05/01 SLOWINSK 77/09/01 BRZEZINSK 68/07/01 MORZY 75/09/15 KROLIKOW 77/09/01 KOSZLAJDA 85/03/01 JEZIERSKI 92/10/01 MATYSIAK 93/09/01 MAREK 85/02/20 ZAKRZEWI 94/07/15 BIALY 93/10/15 KONOPKA 93/10/01 HAPKE 92/09/01 Cechy operatora projekcji kolejność atrybutów w relacji wynikowej jest taka sama, jak kolejność atrybutów w liście projekcji operatora jeśli na liście projekcji nie ma atrybutów klucza podstawowego (czyli w relacji wynikowej mogą się pojawić duplikaty), to operator projekcji usuwa wszystkie duplikaty liczba krotek w relacji wynikowej jest niewiększa niż liczba krotek w relacji źródłowej operacja projekcji nie jest komutatywna π A (π B (R)) = π A (R), pod warunkiem że A B Przemianowanie 19 Operatory mnogościowe (1/2) 20 ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIONY PLACA_POD PLACA_DOD NAZWA 100 WEGLARZ 68/01/01 1730.00 420.50 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 120 SLOWINSKI 100 77/09/01 1070.00 130 BRZEZINSKI 100 68/07/01 960.00 140 MORZY 130 75/09/15 830.00 105.00 150 KROLIKOWSKI 130 77/09/01 645.50 160 KOSZLAJDA 130 85/03/01 590.00 170 JEZIERSKI 130 92/10/01 439.70 80.50 190 MATYSIAK 140 93/09/01 371.00 180 MAREK 100 85/02/20 410.20 200 ZAKRZEWICZ 140 94/07/15 208.00 210 BIALY 130 93/10/15 250.00 170.60 220 KONOPKA 110 93/10/01 480.00 230 HAPKE 120 92/09/01 480.00 90.00 W SLOWINSKI ZAKRZEWICZ BIALY HAPKE π NAZWISKO (σ NAZWA='' (PRACOWNICY)) T σ NAZWA='' (PRACOWNICY) W π NAZWISKO (T) ρ (W) (π NAZWISKO (σ NAZWA='' (PRACOWNICY))) Relacje R(A 1,...,A n ) i S(B 1,...,B n ) są zbiorowo kompatybilne (ang. union compatible) jeśli mają ten sam stopień n i dom(a i )=dom(b i ) dla 1 i n. ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIONY PLACA_POD PLACA_DOD NAZWA 100 WEGLARZ 68/01/01 1730.00 420.50 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 120 SLOWINSKI 100 77/09/01 1070.00 130 BRZEZINSKI 100 68/07/01 960.00 140 MORZY 130 75/09/15 830.00 105.00 150 KROLIKOWSKI 130 77/09/01 645.50 160 KOSZLAJDA 130 85/03/01 590.00 170 JEZIERSKI 130 92/10/01 439.70 80.50 190 MATYSIAK 140 93/09/01 371.00 180 MAREK 100 85/02/20 410.20 200 ZAKRZEWICZ 140 94/07/15 208.00 210 BIALY 130 93/10/15 250.00 170.60 220 KONOPKA 110 93/10/01 480.00 230 HAPKE 120 92/09/01 480.00 90.00 R S R π (σ NAZWA='' (PRACOWNICY)) S π (σ NAZWA='' (PRACOWNICY))
Operatory mnogościowe (2/2) 21 Produkt kartezjański 22 Typy operatorów suma (ang. union): wynikiem sumy R S jest relacja zawierająca wszystkie krotki z R i S (duplikaty są eliminowane) iloczyn (ang. intersection): wynikiem iloczynu R S jest relacja zawierająca wszystkie krotki należące zarówno do R jak i do S różnica (ang. difference): wynikiem różnicy R-S jest relacja zawierająca te krotki z R, które nie należą do S Cechy operatorów suma i iloczyn są komutatywne: R S=S R, R S=S R suma i iloczyn są łączne: R (S T)=(R S) T, R (S T)=(R S) T różnica nie jest komutatywna: R-S S-R X NAZWA R π (PRACOWNICY) π NAZWA (PRACOWNICY) wynikiem iloczynu kartezjańskiego relacji R(A 1,...,A n ) i S(B 1,...,B m ) jest relacja Q(A 1,...,A n,b 1,...,B m ) zawierająca jedną krotkę dla każdej kombinacji krotek z R i S, Q = R * S iloczyn kartezjański jako samodzielna operacja najczęściej pozbawiony jest sensu NAZWA Połączenie (1/2) ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIPLACA_POD PLACA_DODPID_ZESP 100 WEGLARZ 68/01/01 1730.00 420.50 10 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 40 120 SLOWINSKI 100 77/09/01 1070.00 30 130 BRZEZINSKI 100 68/07/01 960.00 20 140 MORZY 130 75/09/15 830.00 105.00 20 150 KROLIKOWSKI 130 77/09/01 645.50 20 160 KOSZLAJDA 130 85/03/01 590.00 20 170 JEZIERSKI 130 92/10/01 439.70 80.50 20 190 MATYSIAK 140 93/09/01 371.00 20 180 MAREK SEKRETAR 100 85/02/20 410.20 10 200 ZAKRZEWICZ 140 94/07/15 208.00 30 210 BIALY 130 93/10/15 250.00 170.60 30 220 KONOPKA 110 93/10/01 480.00 20 230 HAPKE 120 92/09/01 480.00 90.00 30 ZID_ZESP NAZWA ADRES 10 PIOTROWO 3A 20 PIOTROWO 3A 30 STRZELECKA 14 40 WLODKOWICA 16 50 BADANIA OPERACYJNE MIELZYNSKIEGO 30 R PRACOWNICY ZESPOLY S σ PID_ZESP=ZID_ZESP (R) T π ID_PRAC,NAZWISKO,PID_ZESP,NAZWA (S) U ρ (ID_PRAC,PRACOWNIK,ID_ZESP,ZESPOL) (T) S PRACOWNICY ID_PRAC PRACOWNIK ID_ZESP ZESPOL 100 WEGLARZ 10 180 MAREK 10 160 KOSZLAJDA 20 220 KONOPKA 20 190 MATYSIAK 20 170 JEZIERSKI 20 150 KROLIKOWSKI 20 130 BRZEZINSKI 20 140 MORZY 20 230 HAPKE 30 210 BIALY 30 200 ZAKRZEWICZ 30 PID_ZESP=ZID_ZESPZESPOLY 120 SLOWINSKI 30 110 BLAZEWICZ 40 23 Połączenie (2/2) wynikiem operacji połączenia relacji R(A 1,...,A n ) i S(B 1,...,B m ) jest relacja Q(A 1,...,A n,b 1,...,B m ) zawierająca jedną krotkę dla każdej kombinacji krotek z R i S spełniających warunek połączenia ogólna postać operatora połączenia to R warunek S, gdzie warunek to ciąg wyrażeń A i ΘB j, A i jest atrybutem z R, B j jest atrybutem z S, dom(a i )=dom(b j ) i Θ {=,<,>,,, } rodzaje operacji połączenia połączenie typu theta: dowolny warunek połączenia połączenie równościowe: warunek połączenia tylko z operatorem = połączenie naturalne: połączenie równościowe, w którym pary atrybutów w łączonych relacjach mają tę samą nazwę R PRACOWNICY ZESPOLY relacja wynikowa R S zawiera między 0 i R * S krotek, stosunek liczby krotek do R * S nazywa się selektywnością połączenia 24
Funkcjonalna pełność 25 Iloraz 26 Można udowodnić, że zbiór operatorów algebry relacji {σ,π,,-, } jest zbiorem funkcjonalnie pełnym, tzn. dowolne wyrażenie algebry relacji może zostać przedstawione w postaci sekwencji operatorów z powyższego zbioru iloczyn R S (R S)-((R-S) (S-R)) połączenie R C S σ C (R S) Operator ilorazu zbiorowego (ang. division) stosowany jest do dwóch relacji R(Z) S(X), gdzie X Z. Niech Y=Z-X. Wynikiem ilorazu R(Z) S(X) jest relacja T(Y)={ t[y]: t R s S (t[y] s) R) } Przykład znajdź nazwy zespołów w których występują wszystkie etaty występujące w zespole "Systemy eksperckie" R NAZWA S R S R S Agregacja i grupowanie Funkcje agregujące są wyliczane na podstawie grup wartości, grupy są tworzone na podstawie listy atrybutów grupujących, gdzie wszystkie krotki w jednej grupie posiadają te same wartości atrybutów grupujących rodzaje funkcji: SUM, AVERAGE, MIN, MAX, COUNT ID_PRAC NAZWISKO ID_SZEFA ZATRUDNIONY PLACA_POD PLACA_DOD 150 KROLIKOWSKI 130 77/09/01 645.50 160 KOSZLAJDA 130 85/03/01 590.00 170 JEZIERSKI 130 92/10/01 439.70 80.50 190 MATYSIAK 140 93/09/01 371.00 220 KONOPKA 110 93/10/01 480.00 230 HAPKE 120 92/09/01 480.00 90.00 100 WEGLARZ 68/01/01 1730.00 420.50 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 120 SLOWINSKI 100 77/09/01 1070.00 130 BRZEZINSKI 100 68/07/01 960.00 140 MORZY 130 75/09/15 830.00 105.00 180 MAREK 100 85/02/20 410.20 200 ZAKRZEWICZ 140 94/07/15 208.00 210 BIALY 130 93/10/15 250.00 170.60 COUNT(ID_PRAC) AVG(PLACA_POD) SUM(PLACA_DOD) 2 617.75 4 1052.50 315.00 I COUNT(ID_PRAC) AVG(PLACA_POD) SUM(PLACA_POD) 1 1730.00 420.50 2 229.00 170.60 4 442.68 170.50 1 410.20 27 Połączenie zewnętrzne (1/2) ID_PRAC NAZWISKO ID_SZEFA ZATRUDNI PLACA_POD PLACA_DOD PID_ZESP 100 WEGLARZ 68/01/01 1730.00 420.50 10 110 BLAZEWICZ 100 73/05/01 1350.00 210.00 40 120 SLOWINSKI 100 77/09/01 1070.00 30 130 BRZEZINSKI 100 68/07/01 960.00 20 140 MORZY 130 75/09/15 830.00 105.00 20 150 KROLIKOWSKI 130 77/09/01 645.50 20 160 KOSZLAJDA 130 85/03/01 590.00 20 170 JEZIERSKI 130 92/10/01 439.70 80.50 20 190 MATYSIAK 140 93/09/01 371.00 20 180 MAREK 100 85/02/20 410.20 10 200 ZAKRZEWICZ 140 94/07/15 208.00 30 210 BIALY 130 93/10/15 250.00 170.60 30 220 KONOPKA 110 93/10/01 480.00 20 230 HAPKE 120 92/09/01 480.00 90.00 30 ID_PRAC NAZWISKO ID_ZESP NAZWA 100 WEGLARZ 10 180 MAREK 10 160 KOSZLAJDA 20 220 KONOPKA 20............ null null 50 BADANIA OPERACYJNE??? ZID_ZESP NAZWA ADRES 10 PIOTROWO 3A 20 PIOTROWO 3A 30 STRZELECKA 14 40 WLODKOWICA 16 50 BADANIA OPERACYJNE MIELZYNSKIEGO 30 S PRACOWNICY PID_ZESP=ZID_ZESP ZESPOLY 28
Połączenie zewnętrzne (2/2) 29 Pytania 30 wynikiem tradycyjnego połączenia jest zbiór tylko tych krotek z relacji R i S, które spełniają kryteria połączenia połączenie zewnętrzne (ang. outer join) umożliwia pozostawienie w wyniku także tych krotek, dla których nie znaleziono odpowiednika w łączonej tabeli Typy połączeń zewnętrznych połączenie lewostronne R S: zawiera wszystkie krotki z relacji R połączone z odpowiadającymi im krotkami w relacji S (lub połączone z pustą krotką, jeśli nie znaleziono odpowiednika w S) połączenie prawostronne R S: zawiera wszystkie krotki z relacji S połączone z odpowiadającymi im krotkami w relacji R (lub połączone z pustą krotką, jeśli nie znaleziono odpowiednika w R) połączenie obustronne R S: zawiera wszystkie krotki z obu łączonych relacji R i S wraz z odpowiadającymi im krotkami z drugiej relacji (lub połączone z pustą krotką) Zdefiniuj poniższe pojęcia: domena, atrybut, krotka, schemat relacji, stan relacji, stopień relacji Odpowiedz na pytania: dlaczego porządek krotek w relacji jest nieistotny? jaka jest różnica między kluczem podstawowym a unikalnym? jaka jest różnica między połączeniem i połączeniem zewnętrznym? Zadania: podaj przykład połączenia theta, równościowego i naturalnego podaj przykłady operacji INSERT, UPDATE i DELETE które naruszyłyby spójność relacji PRACOWNICY podaj własny przykład zastosowania operatorów mnogościowych Zadania 31 PRACOWNICY ID_PRAC NAZWISKO ID_SZEFA ZATRUDNI PLACA_POD PLACA_DOD PID_ZESP ZESPOLY ZID_ZESP NAZWA ADRES Wykorzystując powyższy schemat napisz poniższe zapytania przy wykorzystaniu operatorów algebry relacji wyświetl nazwiska adiunktów i asystentów zarabiających poniżej 500 wyświetl nazwiska i etaty pracowników pracujących w zespole o nazwie "Administracja" wyświetl nazwisko pracownika będącego szefem Morzego wyświetl nazwisko najlepiej zarabiającego pracownika wyświetl nazwy zespołów zatrudniających więcej niż 2 pracowników