Relacyjne bazy danych

Podobne dokumenty
Tadeusz Pankowski Relacyjne bazy danych. są podstawą zachodniej cywilizacji

RBD Relacyjne Bazy Danych

PODSTAWY BAZ DANYCH Wykład 3 2. Pojęcie Relacyjnej Bazy Danych

PODSTAWY BAZ DANYCH Wykład 2 2. Pojęcie Relacyjnej Bazy Danych

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n.

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

1 Wstęp do modelu relacyjnego

Model relacyjny. Wykład II

Autor: Joanna Karwowska

4.6. Gramatyki regularne

WEKTORY skalary wektory W ogólnym przypadku, aby określić wektor, należy znać:

Zbiory wyznaczone przez funkcje zdaniowe

4.3. Przekształcenia automatów skończonych

RBD Relacyjne Bazy Danych

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

SZTUCZNA INTELIGENCJA

Programy współbieżne

Podstawy układów logicznych

Komisja Egzaminacyjna dla Aktuariuszy LII Egzamin dla Aktuariuszy z 15 marca 2010 r. Część I Matematyka finansowa

ZADANIA OTWARTE. Są więc takie same. Trzeba jeszcze pokazać, że wynoszą one 2b, gdyż taka jest długość krawędzi dwudziestościanu.

Wykład 2. Pojęcie całki niewłaściwej do rachunku prawdopodobieństwa

Kodowanie liczb. Kodowanie stałopozycyjne liczb całkowitych. Niech liczba całkowita a ma w systemie dwójkowym postać: Kod prosty

WEKTORY skalary wektory W ogólnym przypadku, aby określić wektor, należy znać:

Wektor kolumnowy m wymiarowy macierz prostokątna o wymiarze n=1 Wektor wierszowy n wymiarowy macierz prostokątna o wymiarze m=1

Wprowadzenie do języka SQL

Model relacyjny. Wykład II

Wstęp do SQL. copyright: KGiIS WGGiOŚ AGH

Wektory [ ] Oczywiście wektor w przestrzeni trójwymiarowej wektor będzie miał trzy współrzędne. B (x B. , y B. α A (x A, y A ) to jest wektor

Całki oznaczone. wykład z MATEMATYKI

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Wyznacznik macierzy. - wyznacznik macierzy A

RACHUNEK CAŁKOWY. Funkcja F jest funkcją pierwotną funkcji f na przedziale I R, jeżeli. F (x) = f (x), dla każdego x I.

Analiza matematyczna v.1.6 egzamin mgr inf niestacj 1. x p. , przy założeniu, że istnieją lim

Zbiory rozmyte. Teoria i zastosowania we wnioskowaniu aproksymacyjnym

Algebra Boola i podstawy systemów liczbowych. Ćwiczenia z Teorii Układów Logicznych, dr inż. Ernest Jamro. 1. System dwójkowy reprezentacja binarna

Przekształcenia automatów skończonych

Analiza Matematyczna (część II)

Wyznacznikiem macierzy kwadratowej A stopnia n nazywamy liczbę det A określoną następująco:

Wykład 6. SQL praca z tabelami 3

Operacja Teta-złączenia. v1 v1 Θ v2

Macierz. Wyznacznik macierzy. Układ równań liniowych

Wszystkim życzę Wesołych Świąt :-)

FUNKCJA KWADRATOWA. RÓWNANIA I NIERÓWNOŚCI DRUGIEGO STOPNIA.

ZADANIA Z ZAKRESU SZKOŁY PODSTAWOWEJ, GIMNAZJUM I SZKOŁY ŚREDNIEJ

Złaczenia tablic: FROM, WHERE, JOIN

Bazy danych. Informacje podstawowe

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe

zestaw DO ĆWICZEŃ z matematyki

4. RACHUNEK WEKTOROWY

Pojęcia Działania na macierzach Wyznacznik macierzy

Ekoenergetyka Matematyka 1. Wykład 15. CAŁKI OZNACZONE. Egzaminy I termin poniedziałek :00 Aula B sala 12B Wydział Informatyki

Wykład 7: Pochodna funkcji zastosowania do badania przebiegu zmienności funkcji

KONKURS MATEMATYCZNY dla uczniów gimnazjów w roku szkolnym 2012/13. Propozycja punktowania rozwiązań zadań

Notatki z Analizy Matematycznej 4. Jacek M. Jędrzejewski

Klucz odpowiedzi do zadań zamkniętych i schemat oceniania zadań otwartych

3. Podzapytania, łączenie tabel i zapytań

Wykład 2. Granice, ciągłość, pochodna funkcji i jej interpretacja geometryczna

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

Aliasy Select p.first_name, p.salary, j.job_title from employees p, jobs j where p.job_id=j.job_id;

Technologie baz danych

Iloczyn skalarny

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

Semantyka i Weryfikacja Programów - Laboratorium 2 Działania na ułamkach, krotki i rekordy

MATeMAtyka 3 inf. Przedmiotowy system oceniania wraz z określeniem wymagań edukacyjnych. Zakres podstawowy i rozszerzony. Dorota Ponczek, Karolina Wej

e) Kwadrat dowolnej liczby b) Idź na dwór! całkowitej jest liczbą naturalna. c) Lubisz szpinak? f) 12 jest liczbą pierwszą. d) 3 2 =10.

Macierz. Wyznacznik macierzy. Układ równań liniowych

ANALIZA MATEMATYCZNA 2

Analiza matematyczna i algebra liniowa

Matematyczne Podstawy Informatyki

1 Definicja całki oznaczonej

ODPOWIEDZI I SCHEMAT PUNKTOWANIA POZIOM ROZSZERZONY Etapy rozwiązania zadania , 3 5, 7

Gramatyki regularne i bezkontekstowe. Spis treści. Plan wykładu spotkania tydzień po tygodniu. Plan wykładu spotkania tydzień po tygodniu.

JĘZYKI FORMALNE I AUTOMATY SKOŃCZONE

Wstęp Wprowadzenie do BD Podstawy SQL. Bazy Danych i Systemy informacyjne Wykład 1. Piotr Syga

STANDARDOWE FUNKCJE PRZYNALEŻNOŚCI

Zadania. I. Podzielność liczb całkowitych

SQL (ang. Structured Query Language)

PEWNIK DEDEKINDA i jego najprostsze konsekwencje

Informatyka sem. III studia inżynierskie Transport 2018/19 LAB 2. Lab Backup bazy danych. Tworzenie kopii (backup) bazy danych

Pasek narzędziowy Symbolic [View Toolbars Math Symbolic] Pasek narzędziowy Modifier [Symbolic Modifiers]

Projektowanie relacyjnych baz danych

Bazy danych. Algebra relacji

Całki oznaczone. Funkcja górnej granicy całkowania. Zastosowania całek oznaczonych. Całki niewłaściwe. Małgorzata Wyrwas

Podstawy języka SQL cz. 2

Legenda. Optymalizacja wielopoziomowa Inne typy bramek logicznych System funkcjonalnie pełny

Matematyka finansowa r. Komisja Egzaminacyjna dla Aktuariuszy. LXVI Egzamin dla Aktuariuszy z 10 marca 2014 r. Część I

Całki oznaczone. Funkcja górnej granicy całkowania. Zastosowania całek oznaczonych. Całki niewłaściwe. Małgorzata Wyrwas

SQL, LIKE, IN, CASE, EXISTS. Marcin Orchel

Systemy GIS Tworzenie zapytań w bazach danych

WOJEWÓDZKI KONKURS MATEMATYCZNY

PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA

Oznaczenia: K wymagania konieczne; P wymagania podstawowe; R wymagania rozszerzające; D wymagania dopełniające; W wymagania wykraczające

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Komisja Egzaminacyjna dla Aktuariuszy LIX Egzamin dla Aktuariuszy z 12 marca 2012 r. Część I Matematyka finansowa

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL.

± - małe odchylenie od osi. ± - duże odchylenie od osi

Wyk lad 1 Podstawowe wiadomości o macierzach

Równania i nierówności kwadratowe z jedną niewiadomą

Wymagania na ocenę dopuszczającą z matematyki klasa II Matematyka - Babiański, Chańko-Nowa Era nr prog. DKOS /02

Weryfikacja modelowa jest analizą statyczną logiki modalnej

Transkrypt:

Relcjne z dnch Tdeusz Pnkowski www.put.poznn.pl/~tdeusz.pnkowski Model dnch Bz dnch Model dnch: Aspekt strukturln: Ziór struktur dnch, ziór opercji n tch strukturch, ziór zleżności międz dnmi. Aspekt semntczn: Ustlenie znczeń znczenie (semntk) struktur dnch względem wiedz o świecie rzeczwistm, określenie semntki (wrtości) opercji. Aspekt prgmtczn: Określenie zsd korzstni z modelu dnch w sstemie z dnch dl rozwiązwni konkretnch prolemów (reprezentcj stnu sstemu rzeczwistego, formułownie zptń, wkonwnie trnskcji,...). Bz dnch: jest logicznie spójnm ziorem dnch posidjącch określoną strukturę, n którch możn wkonwć określone opercje (spekt skłdniow i opercjn); reprezentuje pewien frgment świt rzeczwistego zwnego dziedziną przedmiotową (ppliction domin); zmin w dz.p. odzwierciedlne są w zie dnch (spekt semntczn); jest projektown, tworzon i utrzmwn z punktu widzeni przdtności dl określonch zstosowń, którmi zinteresown jest określon grup użtkowników (spekt prgmtczn). Z zą dnch związne są: źródło, z którego wprowdzne są dne (dz.p.); określon poziom interkcji ze zdrzenimi zchodzącmi w dz.p.; grup użtkowników cznnie zinteresown zwrtością z dnch. 3 4

Relcjn model dnch E.F. Codd, "A reltionl model of dt for lrge shred dt nks", Communictions of ACM 3 (3), 970, ss. 377-387. Model dnch (podstw teoretczn): struktur: dne proste (tomowe), krotki, tele (relcje); opercje: opercje lger relcji, rchunki relcji, opercje ktulizcji; zleżności: zleżności funkcjne (klucze główne), zleżności referencjne (klucze oce), ogrniczeni n wrtości,... Relcjne (SQL-owe) z dnch Relcjne z dnch = SQL-owe z dnch wkrczją istotnie poz teoretczn model relcjn (włączją koncepcje oiektowości, XML, progrmownie), SQL-owe z dnch stndrd SQL-9 stndrd SQL:999, SQL:003 Njwżniejsze relcjne SZBD: Orcle 9i, 0g MS SQL Server 000, 005, 008 DB, Sse, Interse,... Inne sstem relcjne dbase, Clipper, Xse (stre sstem powszechne w Polsce) Access (Microsoft) MSQL, PostgreSQL (oprogrmownie wolne). 5 6 Relcjn model dnch Relcjn model dnch Atrut smol, nzw (np. Nzwisko, NrEwid, DtUr, Cen,...), U = {A,...,A n } ziór trutów. Dziedzin trutu Dom(A), ziór dopuszczlnch wrtości trutu A. Wszstkie wrtości są proste (tomowe). Wróżnion wrtość pust NULL Dom(A). Krotk (wiersz, rekord) tpu U r = [A :,...,A n : n ], i Dom(A i ), [ ] krotk pust, r = (,..., n ) zpis uproszczon, gd ustlon jest kolejność trutów, Tel (relcj) R tpu U skończon ziór (wieloziór mogą wstępowć duplikt!) krotek tpu U. Formlnie: Krotk jest funkcją z U do V=Dom(A )... Dom(A n ), r : U V, r (A i ) = r.a i Dom(A i ) 7 8

Alger relcji Att nieskończon i przeliczln ziór trutów, Vl ziór wrtości Algerą relcji nzwm nstępującą strukturę: AlgRel Att,Vl = (T, { X, X, π X, δ X Y,, σ E }), gdzie: T ziór wszstkich tel utworzonch nd ziormi Att i Vl; X sum mnogościow tel tpu X, X Att (X jest skończon), X różnic mnogościow tel tpu X, π X projekcj teli n ziór X, δ X Y przeminownie teli poprzez zminę nzw z X n odpowidjące im nzw z Y, złączenie tel o dowolnch tpch, σ E selekcj z teli według wrunku E. Opercje n telch (relcjch) Dwie grup opercji:. Opercje mnogościowe -wnikją z fktu, że tel jest ziorem: sum, różnic (+ przekrój).. Opercje relcjne -wnikją z fktu, że tel jest (wielo)ziorem funkcji (krotek): projekcj, przeminownie, złączenie, selekcj (+ pochodne: iloczn krtezjński, złączeni zewnętrzne, podzielenie). 9 0 Opercje mnogościowe sum R, S tele jednkowego tpu U, Wnik tel tpu U. Sum mnogościow (union): R S = { t t R t S}. SQL (UNION usuw duplikt, UNION ALL pozostwi duplikt) tudent union select * from Prcownik Student Prcownik Student ALL Prcownik R S Sum mnogościow R S = { t t R t S} wnik jest ziorem, nie zwier dupliktów union R ALL S = { (k+j)*t k*t R j*t S} wnik jest wieloziorem, zwier duplikt. (k*t R ozncz, że krotk t wstępuje k rz w teli R) union ll

Opercje mnogościowe różnic R, S tele jednkowego tpu U, Wnik tel tpu U. Różnic mnogościow (difference): R S = { t t R t S}. Opercje mnogościowe różnic Student Prcownik Student Prcownik SQL (ecept usuw duplikt): ecept SQL (ecept usuw duplikt): tudent ecept select * from Prcownik 3 SQL (not eists): tudent s S where not eists (select * from Prcownik P where S.Nzwisko=P.Nzwisko nd S.Kierunek = P.Kierunek) 4 S R Różnic mnogościow S R = { t t S t R} wnik jest ziorem, nie zwier dupliktów ecept S LDup R = { k*t k*t S t R} wnik jest wieloziorem, zwier duplikt where not eists( where R.A = S.A nd S.B=R.B) Opercje mnogościowe przekrój R, S tele jednkowego tpu U, Wnik tel tpu U. Przekrój mnogościow (intersection): R S = { t t R t S}. SQL (intersect usuw duplikt): : intersect 5 6

Opercje mnogościowe przekrój Student Prcownik Student Prcownik SQL (intersect usuw duplikt): tudent intersect select * from Prcownik R S Przekrój j mnogościow R S = { t t R t S} wnik jest ziorem, nie zwier dupliktów intersect R S = S R R LDup S = { k*t k*t R t S} wnik jest wieloziorem, zwier duplikt SQL (eists): tudent s S whereeists(select* from Prcownik P where S.Nzwisko=P.Nzwisko nd S.Kierunek = P.Kierunek) 7 where eists( where R.A=S.A nd S.B=R.B) R S S R 8 Opercje n krotkch projekcj Przkłd: π {A,C} ([A:, B:, C:c]) = [A:, C:c] Definicj (projekcj krotki n ziór trutów) Niech r ędzie krotką tpu U, i niech X ędzie podziorem U, X U. Projekcją (rzutem, ogrniczeniem) (ng. projection) krotki r n ziór X, co oznczm π X (r), nzwm krotkę tpu X tką, któr jest identczn z krotką r n ziorze trutów X, tj.: t = π X (r), jeśli dl kżdego A X, t.a = r. A. (t.a ozncz wrtość krotki t n trucie A). Opercje n krotkch przeminownie Przkłd: δ A D ([A:, B:, C:c]) = [D:, B:, C:c]. Definicj (przeminownie trutów w krotce) Niech r ędzie krotką tpu U, B trutem w U i C trutem nie nleżącm do U. Przeminowniem trutu B n C w krotce r, co oznczm δ B C (r), nzwm krotkę t powstłą z r przez zminę trutu B n C, tj. tką krotkę t tpu U {B} {C}, że: t.a = r. A, dl kżdego A U {B}, t.c = t.b. Gd X jest zorem pustm (X = {}), to projekcj dowolnej krotki n X jest krotką pustą, tj. π {} (t) = [] Przkłd: π {} ([A:, B:, C:c]) = []. 9 Uogólnienie n ciągi trutów: Niech X=(B,, B k ) i Y=(C,, C k ) ędą ciągmi trutów, X U, Y U = {}. Przeminownie trutów z X n odpowidjące im trut z Y w krotce r definiujem nstępująco: δ X Y (r) = δ B k Ck (... (δ B C (r))...). 0

Opercje n krotkch złączenie Definicj (złączenie krotek) Niech r ędzie krotką tpu X, s krotką tpu Y. Jeśli ziór r s jest krotką, to nzwm go złączeniem nturlnm r i s, i oznczm r s. Jeśli r s nie spełni wrunków krotki, to mówim, że r i s są niezłączlne. Przkłd: [A:,B:,C:c] [D:d,E:e] = [A:,B:,C:c,D:d,E:e] krotki rozłącznch tpów; [A:,B:,C:c] [B:,E:e] = [A:,B:,C:c,E:e] krotki nierozłącznch tpów; [A:,B:,C:c] [] = [A:,B:,C:c] złączenie z krotką pustą nie zmieni krotki; [A:, B:, C:c] i [B:d, E:e] krotki niezłączlne! sum [A:, B:, C:c, B:d, E:e] nie jest krotką o trut B wstępuje dw rz rz z wrtością '' i powtórnie z wrtością 'd'. Włściwości projekcji i złąz łączeni krotek (5) π {} (t) = [] wnikiem projekcji krotki n ziór pust jest krotk pust []; r r = r złączenie krotki z smą soą nie zmieni krotki; r s= s t złączenie krotek jest przemienne; r (s t) =(r s) t złączenie krotek jest łączne; r [] = r krotk pust jest elementem neutrlnm dl złączeni; Spełninie wrunku przez krotkę Definicj (wrunek nd ziorem trutów U) Niech U ędzie ziorem trutów, Const ziorem stłch (licz, tekstów). Niech: A, A' U, c Const, θ {=,!=, <, <=, >, >=, like,... } opertor porównni. Wrunkiem nd U nzwm wrżenie logiczne E o nstępującej skłdni: E ::= A θ c A θ A' (E ) not E E or E E nd E Krotk r tpu U spełni wrunek E, E (r ) = TRUE, jeśli wrżenie powstłe z E przez podstwienie z kżde wstąpienie trutu A wrtości r.a jest prwdziwe. Spełninie wrunku przez krotkę Przkłd (3): E := (Kierunek= mt or Kierunek= fiz ) (Kierunek= mt or Kierunek= fiz )([NrStud:345, Kierunek: mt ]) = TRUE (Kierunek= mt or Kierunek= fiz )([NrStud:345, Kierunek: inf ]) = FALSE (Kierunek= mt or Kierunek= fiz )([NrStud:345, Kierunek:NULL]) = UNKNOWN Prolem wrtości pustch NULL 3 4

Spełninie wrunku przez krotkę Krotki: r = [NrStud:345, Kierunek: mt ] s = [NrStud:346, Kierunek:NULL] Wrunek: E Kierunek= mt Spełninie: E(r) = TRUE E(s)!= TRUE, E(s) = UNKNOWN Uwg: Wstępownie wrtości NULL powoduje, że dziłm w logice trójwrtościowej z wrtościmi logicznmi: {TRUE, FALSE, UNKNOWN} (lu {T, F, U}). Dowolne porównnie z NULL dje wrtość logiczną UNKNOWN. t.a θ NULL = UNKNOWN, NULL θ, dje UNKNOWN dl kżdego, również równego NULL. Opercje n telch (4). Projekcj: π X (R) = {π X (r) r R }. Przeminownie: δ X Y (R) := {δ X Y (r) r R } 3. Złączenie nturlne: R S = {r s r R, s S } 4. Selekcj: σ E (R ) = {r r R E (r ) = TRUE} 5 6 Opercje n telch projekcj Projekcj Projekcj: π X (R) = {π X (r) r R } Prolem dupliktów Cz (pielęgnirk, 500,00) powinn dw rz wstępowć w π {Stnowisko, Płc} (Prcownik)? - tk, jeśli chcem wliczć średnią płcę, - nie, jeśli sporządzm wkz stnowisk i płce n tch stnowiskch. 7 Szczególn przpdek: π {} (R) = if R = {} then {} else {[]} 8

Projekcj Opercje n telch przeminownie Przeminownie: δ A B (R) := {δ A B (r) r R } SQL: select Stnowisko, Płc from Prcownik usuwnie dupliktów: select distinct Stnowisko, Płc from Prcownik 9 30 Dl relcji: Przeminownie (przk (przkłd) Studenci(IdStud, Nzwisko, Dt_ur, Miejscowość) δ Miejscowość Misto (Studenci) SQL: select IdStud, Nzwisko, Dt_ur, Miejscowość s Misto from Studenci Opercje n telch złączenie Złączenie (nturlne): R S = {r s r R, s S } 3 3

Złączenie nturlne (c.d.) Złączenie nturlne (c.d.) >< >< 33 Złączenie nturlne (c.d.) Złączenie nturlne (c.d.) W złączenie nturlnm dwóch tel R i S tpów odpowiednio X i Y: trut wstępujące w X mogą wstępowć tkże w Y, relcj wnikow zwier sumę trutów z X i Y (ez powtórzeń), łączone są te krotki, które n wspólnch trutch mją jednkowe wrtości. SQL: lu: select Nzwisko, P.Oddził, Ordntor from Prcownik P, Oddził O where P.Oddził = O.Oddził select Nzwisko, P.Oddził, Ordntor from Prcownik P join Oddził O on P.Oddził = O.Oddził 35 36

Złączenie włściwości Szczególne przpdki złączeni: R relcj tpu X, S relcj tpu Y.. Jeśli X = Y, to R S = R S złączenie nturlne jest przekrojem mnogościowm.. Jeśli X Y = {}, to złączenie jest ilocznem krtezjńskim (kżd krotk z R łącz się z kżdą krotką z S). 3. R {[]} = R wnikiem złączeni teli R z telą tpu pustego zwierjącą krotkę pustą, jest tel R; 4. R {} = {} wnikiem złączeni teli R z pustą telą tpu pustego, jest tel pust; Złączenie włściwości (4) Twierdzenie (włściwości złączeni nturlnego i krtezjńskiego) R tel tpu U, wówczs:. R S = S R złączenie jest przemienne.. (R S) T = R (S T) złączenie jest łączne. 3. Jeśli X U, to R π X (R) = R złączenie teli R z dowolną swoją projekcją dje w wniku R. 4. Jeśli X Y = U, to R π X (R) π Y (R) tel jest zwrt w złączeniu dowolnch dwóch swoich projekcji, którch sum tpów jest równ tpowi relcji. Zchodzi zwiernie nie równość (!). 37 38 Ilustrcj włściwow ciwości (4) Ilustrcj włściwow ciwości (4) Sprz π,idtow (Sprz) π,dt (Sprz) Sprz π,idtow (Sprz) π,dt (Sprz) IdTow Dt IdTow Dt IdTow Dt IdTow Dt 3 3 3 3 π,idtow (Sprz) π,dt (Sprz) π,idtow (Sprz) π,dt (Sprz) IdTow Dt IdTow Dt?? Sprz π {,IdTow} (Sprz) π {,Dt} (Sprz), krotk [,, ] nie nleż do Sprz! 3 3 39 40

Opercje n telch selekcj Selekcj - przkłd Selekcj: σ E (R ) = {r r R E (r ) = TRUE} Wnikiem selekcji jest ziór tch krotek teli R, które spełniją wrunek E. select * from Studenci where Dt_ur > 98..3 nd Miejscowosc < > Poznń 4 4 Pochodne opercje n telch Iloczn krtezjński (c.d.) P P O O Iloczn krtezjński: R M N S = δ X M.X (R) δ Y N.Y (S) Kżd krotk z R jest łączon z kżdą krotką z S. Jeśli R m n R kolumn i m R wiersz, S m n S kolumn i m S wiersz, to R N M S m n R + n S kolumn i m R *m S wiersz. SQL: lu select P.Nzwisko, P.Oddził, O.Oddził, O.Ordntor from Prcownik P, Oddził O select P.*, O.* from Prcownik P, Oddził O 43 44

Złączenie wrunkowe, θ-złączenie ( (θ-join) Złączeni zewnętrzne (OUTER JOIN) Definicj (θ-złączenie) Niech R i S ędą telmi tpów odpowiednio X i Y, E niech ędzie wrunkiem selekcji nd ziorem trutów X Y. Złączeniem (wrunkowm) tel R i S, względem wrunku E, nzwm selekcję złączeni nturlnego R i S względem wrunku E R E S= σ E (R S), Celem wprowdzeni złączeni zewnętrznego jest to, w relcji wnikowej zwrte ł wszstkie krotki nleżące do jednego z rgumentów (relcji leżącej po lewej ądź po prwej stronie opertor), lo do odwu tch rgumentów i to niezleżnie od tego, cz dl dnej krotki istnieje dopsown do niej krotk nleżąc do drugiej relcji, cz nie. Wróżnim:. Złączenie zewnętrzne lewostronne - LEFT OUTER JOIN. Złączenie zewnętrzne prwostronne - RIGHT OUTER JOIN 3. Złączenie zewnętrzne pełne - FULL OUTER JOIN 45 46 Złączenie zewnętrzne lewostronne LEFT OUTER JOIN (LOJ) Definicj Niech R i S ędą telmi tpów odpowiednio X i Y, E niech ędzie wrunkiem selekcji nd ziorem trutów X Y. Lewostronnm złączeniem zewnętrznm tel R i S względem E, co oznczm, R + E S, nzwm nstępującą telę tpu X Y: R + E S= R E S {t Null(Y X) t R π X (R E S)} Złączenie zewnętrzne lewostronne - przkłd Podj dne o wszstkich studentów wrz z informcjmi o zdnch przez nich egzminch: Do wniku nleżą więc wszstkie krotki lewego opernd (R) złączone ądź z dopsownmi krotkmi teli S, ądź z wrtościmi NULL, gd rk dl nich w S dopsownch krotek. 47 48

Złączenie zewnętrzne prwostronne RIGHT OUTER JOIN (ROJ) Złączenie zewnętrzne prwostronne - przkłd Definicj Niech R i S ędą telmi tpów odpowiednio X i Y, E niech ędzie wrunkiem selekcji nd ziorem trutów X Y. Prwostronnm złączeniem zewnętrznm tel R i S względem E, co oznczm, R + E S, nzwm nstępującą telę tpu X Y: R + E S= R E S {Null(X Y) t t S π Y (R E S)} Do wniku nleżą więc wszstkie krotki prwego opernd (S) złączone ądź z dopsownmi krotkmi teli R, ądź z wrtościmi NULL, gd rk dl nich w R dopsownch krotek. 49 50 Złączenie zewnętrzne pełne FULL OUTER JOIN (FOJ) Definicj Niech R i S ędą telmi tpów odpowiednio X i Y, E niech ędzie wrunkiem selekcji nd ziorem trutów X Y. Pełnm złączeniem zewnętrznm tel R i S względem E, co oznczm, R + + E S, nzwm sumę mnogościową złączeń lewo- i prwostronnego tel R i S względem wrunku E: R + + E S= R + E S R + E S Złączenie zewnętrzne pełne -przkłd Podj wszstkich studentów, wszstkich prcowników wrz z informcjmi o promotorstwie prc mgisterskich. 5 5

Podzielenie ( (division) Podzielenie - przkłd Podj numer studentów, którz zdwli egzmin z kżdego przedmiotu. Definicj Niech dne ędą relcje R(U) i S(X) i niech X U. Podzieleniem relcji R(U) przez S(X) nzwm relcję R S, tką że: R S := {t π U X (R) s S. t s R}. 53 54 Podzielenie wrżenie z pomocą innch opercji T π U X (R) T π NrStud (Egzmin) T π U X ((S T) R) T π NrStud ((Przedmiot T) Egzmin) T = T T T = T T Przedmiot T Przedmiot T Egzmin Podzielenie (c.d) Podj numer studentów, którz zdwli egzmin z kżdego przedmiotu. Wrż zptnie tpu dl-kżdego Schemt rozumowni (z podwójną negcją): studenci, dl którch nie istnieje przedmiot, z którego nie zdwli egzminu select distinct E.NrStud from Egzmin E where not eists (select * from Przedmiot P where not eists (select * from Egzmin E where E.NrPrzed = P.NrPrzed nd E.NrStud = E.NrStud))) 55 56

Podzielenie (c.d) {e.nrstud Egzmin(E) p(przedmiot(p) e (Egzmin(e) e.nrprzed=p.nrprzed e.nrstud= e.nrstud))} Zstąpienie : (ϕ ϕ ) ( (ϕ ϕ )) {e.nrstud Egzmin(E) p(przedmiot(p) e (Egzmin(e) e.nrprzed=p.nrprzed e.nrstud= e.nrstud))} select E.NrStud from Egzmin E where not eists (select * from Przedmiot P where not eists (select * from Egzmin E where E.NrPrzed = P.NrPrzed nd E.NrStud = E.NrStud))) 57