Relacyjny model danych. Relacyjny model danych

Wielkość: px
Rozpocząć pokaz od strony:

Download "Relacyjny model danych. Relacyjny model danych"

Transkrypt

1 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 )

2 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) < , Kowalski, , 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

3 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

4 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/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ KROLIKOWSKI /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ MAREK /02/ ZAKRZEWICZ /07/ BIALY /10/ KONOPKA /10/ HAPKE /09/ 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 /10/ MATYSIAK /09/ KONOPKA /10/ HAPKE /09/ 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 > (σ PLACA_POD<800 (PRACOWNICY)) = σ PLACA_POD<800 (σ ZATRUDNIONY > (PRACOWNICY))

5 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/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ KROLIKOWSKI /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ MAREK /02/ ZAKRZEWICZ /07/ BIALY /10/ KONOPKA /10/ HAPKE /09/ π 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/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ KROLIKOWSKI /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ MAREK /02/ ZAKRZEWICZ /07/ BIALY /10/ KONOPKA /10/ HAPKE /09/ 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/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ KROLIKOWSKI /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ MAREK /02/ ZAKRZEWICZ /07/ BIALY /10/ KONOPKA /10/ HAPKE /09/ R S R π (σ NAZWA='' (PRACOWNICY)) S π (σ NAZWA='' (PRACOWNICY))

6 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/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ KROLIKOWSKI /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ MAREK SEKRETAR /02/ ZAKRZEWICZ /07/ BIALY /10/ KONOPKA /10/ HAPKE /09/ ZID_ZESP NAZWA ADRES 10 PIOTROWO 3A 20 PIOTROWO 3A 30 STRZELECKA WLODKOWICA 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 MAREK KOSZLAJDA KONOPKA MATYSIAK JEZIERSKI KROLIKOWSKI BRZEZINSKI MORZY HAPKE BIALY ZAKRZEWICZ 30 PID_ZESP=ZID_ZESPZESPOLY 120 SLOWINSKI BLAZEWICZ 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

7 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 /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ KONOPKA /10/ HAPKE /09/ WEGLARZ 68/01/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ MAREK /02/ ZAKRZEWICZ /07/ BIALY /10/ COUNT(ID_PRAC) AVG(PLACA_POD) SUM(PLACA_DOD) I COUNT(ID_PRAC) AVG(PLACA_POD) SUM(PLACA_POD) Połączenie zewnętrzne (1/2) ID_PRAC NAZWISKO ID_SZEFA ZATRUDNI PLACA_POD PLACA_DOD PID_ZESP 100 WEGLARZ 68/01/ BLAZEWICZ /05/ SLOWINSKI /09/ BRZEZINSKI /07/ MORZY /09/ KROLIKOWSKI /09/ KOSZLAJDA /03/ JEZIERSKI /10/ MATYSIAK /09/ MAREK /02/ ZAKRZEWICZ /07/ BIALY /10/ KONOPKA /10/ HAPKE /09/ ID_PRAC NAZWISKO ID_ZESP NAZWA 100 WEGLARZ MAREK KOSZLAJDA KONOPKA null null 50 BADANIA OPERACYJNE??? ZID_ZESP NAZWA ADRES 10 PIOTROWO 3A 20 PIOTROWO 3A 30 STRZELECKA WLODKOWICA BADANIA OPERACYJNE MIELZYNSKIEGO 30 S PRACOWNICY PID_ZESP=ZID_ZESP ZESPOLY 28

8 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

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA Relacyjny model danych. Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Relacyjny model danych Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe Charakterystyka baz danych Model danych definiuje struktury danych operacje ograniczenia integralnościowe

Bardziej szczegółowo

1 Wstęp do modelu relacyjnego

1 Wstęp do modelu relacyjnego Plan wykładu Model relacyjny Obiekty relacyjne Integralność danych relacyjnych Algebra relacyjna 1 Wstęp do modelu relacyjnego Od tego się zaczęło... E. F. Codd, A Relational Model of Data for Large Shared

Bardziej szczegółowo

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

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Relacyjny model danych Wykład przygotował: Robert Wrembel BD wykład 2 (1) 1 Plan wykładu Relacyjny model danych Struktury danych Operacje Oganiczenia integralnościowe BD wykład 2 (2) W ramach drugiego

Bardziej szczegółowo

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING.

Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. Język SQL. Rozdział 4. Funkcje grupowe Funkcje grupowe, podział relacji na grupy, klauzule GROUP BY i HAVING. 1 Funkcje grupowe (agregujące) (1) Działają na zbiorach rekordów, nazywanych grupami. Rekordy

Bardziej szczegółowo

Język SQL. Rozdział 8. Język manipulowania danymi DML zadania

Język SQL. Rozdział 8. Język manipulowania danymi DML zadania Język SQL. Rozdział 8. Język manipulowania danymi DML zadania 1. Wstaw do relacji PRACOWNICY trzy nowe rekordy: Nazwa atrybutu 1. rekord 2. rekord 3. rekord ID_PRAC 250 260 270 KOWALSKI ADAMSKI NOWAK ETAT

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 1.

SQL do zaawansowanych analiz danych część 1. SQL do zaawansowanych analiz danych część 1. Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

Język SQL. Rozdział 8. Język manipulowania danymi DML

Język SQL. Rozdział 8. Język manipulowania danymi DML Język SQL. Rozdział 8. Język manipulowania danymi DML Wstawianie danych i polecenie INSERT, modyfikowanie danych i polecenie UPDATE, usuwanie danych i polecenie DELETE, połączenia modyfikowalne, sekwencje.

Bardziej szczegółowo

Model relacyjny. Wykład II

Model relacyjny. Wykład II Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji

Bardziej szczegółowo

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

2010-10-21 PLAN WYKŁADU BAZY DANYCH MODEL DANYCH. Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna HISTORIA PLAN WYKŁADU Relacyjny model danych Struktury danych Operacje Integralność danych Algebra relacyjna BAZY DANYCH Wykład 2 dr inż. Agnieszka Bołtuć MODEL DANYCH Model danych jest zbiorem ogólnych zasad posługiwania

Bardziej szczegółowo

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

Algebra relacji. nazywamy każdy podzbiór iloczynu karteziańskiego D 1 D 2 D n. Algebra relacji Definicja 1 (Relacja matematyczna). Relacją R między elementami zbioru D 1 D 2 D n, gdzie przypomnijmy D 1 D 2 D n = {(d 1, d 2,..., d n ) : d i D i, i = 1, 2,..., n}, nazywamy każdy podzbiór

Bardziej szczegółowo

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY

Podstawy SQL. 1. Wyświetl całość informacji z relacji ZESPOLY. 2. Wyświetl całość informacji z relacji PRACOWNICY Podstawy SQL 1. Wyświetl całość informacji z relacji ZESPOLY ID_ZESP NAZWA ADRES ---------- -------------------- -------------------- 10 ADMINISTRACJA PIOTROWO 3A 20 SYSTEMY ROZPROSZONE PIOTROWO 3A 30

Bardziej szczegółowo

Bazy danych. Algebra relacji

Bazy danych. Algebra relacji 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

Bardziej szczegółowo

Klasyczna Analiza Danych

Klasyczna Analiza Danych Klasyczna Analiza Danych Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Wyszukiwanie danych wg zadanego wzorca Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut

Bardziej szczegółowo

Relacyjny model danych. Relacyjny model danych

Relacyjny model danych. Relacyjny model danych Pla rozdzału Relacyjy model daych Relacyjy model daych - pojęca podstawowe Ograczea w modelu relacyjym Algebra relacj - podstawowe operacje projekcja selekcja połączee operatory mogoścowe Algebra relacj

Bardziej szczegółowo

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1 Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła

030 PROJEKTOWANIE BAZ DANYCH. Prof. dr hab. Marek Wisła 030 PROJEKTOWANIE BAZ DANYCH Prof. dr hab. Marek Wisła Elementy procesu projektowania bazy danych Badanie zależności funkcyjnych Normalizacja Projektowanie bazy danych Model ER, diagramy ERD Encje, atrybuty,

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne bazy danych Podstawy języka SQL Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured

Bardziej szczegółowo

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009

Systemy baz danych. Notatki z wykładu. http://robert.brainusers.net 17.06.2009 Systemy baz danych Notatki z wykładu http://robert.brainusers.net 17.06.2009 Notatki własne z wykładu. Są niekompletne, bez bibliografii oraz mogą zawierać błędy i usterki. Z tego powodu niniejszy dokument

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. Ograniczenia integralnościowe, modyfikowanie struktury relacji, zarządzanie ograniczeniami. 1 Ograniczenia integralnościowe Służą do weryfikacji

Bardziej szczegółowo

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym

Bardziej szczegółowo

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną

Bardziej szczegółowo

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu

Bardziej szczegółowo

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

Bazy danych. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski Bazy danych Andrzej Grzybowski Instytut Fizyki, Uniwersytet Śląski Wykład 2 Podstawy integralności w relacyjnym modelu baz danych Bazy danych. Wykład 2 2 Integralność relacyjnych baz danych Schemat relacji

Bardziej szczegółowo

Normalizacja 1NF, 2NF, 3NF, BCNF, 4NF, 5NF

Normalizacja 1NF, 2NF, 3NF, BCNF, 4NF, 5NF 1 Normalizacja 1NF, 2NF, 3NF, BCNF, 4NF, 5NF Plan rozdziału 2 Wzorce projektowe Zależności funkcyjne Postaci normalne pierwsza postać normalna druga postać normalna trzecia postać normalna postać normalna

Bardziej szczegółowo

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH algebra relacyjna. Opracował: dr inż. Piotr Suchomski BAZY DANYCH algebra relacyjna Opracował: dr inż. Piotr Suchomski Wprowadzenie Algebra relacyjna składa się z prostych, ale mocnych mechanizmów tworzenia nowych relacji na podstawie danych relacji. Hdy

Bardziej szczegółowo

Bazy danych wykład drugi. Konrad Zdanowski

Bazy danych wykład drugi. Konrad Zdanowski Algebra relacji - przypomnienie Niech R(A 1,..., A k ) i S(B 1,..., B n ) relacje. Podstawowe operacje na relacjach: operacje teoriomnogościowe: suma R S, iloczyn R S, różnica R \ S, iloczyn kartezjański

Bardziej szczegółowo

Wykład 2. Relacyjny model danych

Wykład 2. Relacyjny model danych Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających

Bardziej szczegółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski

BAZY DANYCH model relacyjny. Opracował: dr inż. Piotr Suchomski BAZY DANYCH model relacyjny Opracował: dr inż. Piotr Suchomski Relacyjny model danych Relacyjny model danych posiada trzy podstawowe składowe: relacyjne struktury danych operatory algebry relacyjnej, które

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność

Bardziej szczegółowo

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) 1 Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2)

Bardziej szczegółowo

Bazy danych Algebra relacji Wykład dla studentów matematyki

Bazy danych Algebra relacji Wykład dla studentów matematyki Bazy danych Algebra relacji Wykład dla studentów matematyki 8 marca 2015 Algebra relacji Model teoretyczny do opisywania semantyki relacyjnych baz danych, zaproponowany przez T. Codda (twórcę koncepcji

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji

Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski. Relacyjne bazy danych. są podstawą zachodniej cywilizacji Relacyjne bazy danych Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1 Model danych Relacyjne bazy danych są podstawą zachodniej cywilizacji 3 Model danych: Aspekt strukturalny: Zbiór struktur

Bardziej szczegółowo

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Bazy Danych Model Relacyjny Krzysztof Regulski WIMiIP, KISiM, regulski@agh.edu.pl B5, pok. 408 Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach

Bardziej szczegółowo

Normalizacja. Wzorce projektowe semantyka atrybutów relacji. Ocena poprawności schematu

Normalizacja. Wzorce projektowe semantyka atrybutów relacji. Ocena poprawności schematu 1 Plan rozdziału 2 Normalizacja 1NF, 2NF, 3NF, BCNF, 4NF, 5NF Wzorce projektowe Zależności funkcyjne Postaci normalne pierwsza postać normalna druga postać normalna trzecia postać normalna postać normalna

Bardziej szczegółowo

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości. elacja chemat relacji chemat relacji jest to zbiór = {A 1,..., A n }, gdzie A 1,..., A n są artybutami (nazwami kolumn) np. Loty = {Numer, kąd, Dokąd, Odlot, Przylot} KaŜdemu atrybutowi A przyporządkowana

Bardziej szczegółowo

Rozdział 14 Funkcje analityczne

Rozdział 14 Funkcje analityczne Rozdział 14 Funkcje analityczne Operatory ROLLUP i CUBE, funkcja GROUPING, funkcje porządkujące (ranking), okienkowe, raportujące, statystyczne, funkcje LAG/LAD (c) Instytut Informatyki Politechniki Poznańskiej

Bardziej szczegółowo

RBD Relacyjne Bazy Danych

RBD Relacyjne Bazy Danych Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji

Bardziej szczegółowo

Relacyjne systemy baz danych i język SQL

Relacyjne systemy baz danych i język SQL Krzysztof Dembczyński Instytut Informatyki Zakład Inteligentnych Systemów Wspomagania Decyzji Politechnika Poznańska Technologie Wytwarzania Oprogramowania Semestr zimowy 2004/05 Plan wykładu Ewolucja

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 2: Relacyjny model danych - zależności funkcyjne. SQL - podstawy Definicja zależności funkcyjnych Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Cel normalizacji. Tadeusz Pankowski

Cel normalizacji. Tadeusz Pankowski Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

WYKŁAD 1. Wprowadzenie do problematyki baz danych

WYKŁAD 1. Wprowadzenie do problematyki baz danych WYKŁAD 1 Wprowadzenie do problematyki baz danych WYKŁAD 2 Relacyjny i obiektowy model danych JĘZYK UML (UNIFIED MODELING LANGUAGE) Zunifikowany język modelowania SAMOCHÓD

Bardziej szczegółowo

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

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy GIS Tworzenie zapytań w bazach danych Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE

Bardziej szczegółowo

Widok Connections po utworzeniu połączenia. Obszar roboczy

Widok Connections po utworzeniu połączenia. Obszar roboczy Środowisko pracy 1. Baza danych: Oracle 12c - Serwer ELARA - Konta studenckie, dostęp także spoza uczelni - Konfiguracja: https://e.piotrowska.po.opole.pl/index.php?option=conf 2. Środowisko: SQL Developer

Bardziej szczegółowo

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy.

Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy. Plan wykładu: Relacyjny model danych: opis modelu, podstawowe pojęcia, ograniczenia, więzy. Przejście od modelu związków encji do modelu relacyjnego: odwzorowanie zbiorów encji, odwzorowanie związków encji

Bardziej szczegółowo

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

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Plan wykładu Bazy danych Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy SQL. Deficja zależności funkcyjnych Klucze relacji Reguły dotyczące zależności funkcyjnych Domknięcie zbioru atrybutów

Bardziej szczegółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy

Bardziej szczegółowo

SZKOLENIE: Administrator baz danych. Cel szkolenia

SZKOLENIE: Administrator baz danych. Cel szkolenia SZKOLENIE: Administrator baz danych. Cel szkolenia Kurs Administrator baz danych skierowany jest przede wszystkim do osób zamierzających rozwijać umiejętności w zakresie administrowania bazami danych.

Bardziej szczegółowo

Normalizacja. Pojęcie klucza. Cel normalizacji

Normalizacja. Pojęcie klucza. Cel normalizacji Plan Normalizacja Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski 1. Cel normalizacji. 2. Klucze schematów relacyjnych atrybuty kluczowe i niekluczowe. 3. 2PN druga postać normalna. 4. 3PN trzecia

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia IV Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. IV Jesień 2011 1 / 13 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania Język SQL. Rozdział 9. Język definiowania danych DDL, część 2. zadania 1. Zmodyfikuj strukturę relacji PROJEKTY, dodając do niej definicje następujących ograniczeń integralnościowych (użyj kilku poleceń):

Bardziej szczegółowo

ACESS- zadania z wykorzystaniem poleceń SQL

ACESS- zadania z wykorzystaniem poleceń SQL ACESS- zadania z wykorzystaniem poleceń SQL Dane są relacje o schematach: Pracownik ( (nr integer, nazwisko text(12), etat text(10), szef integer, pracuje_od date, placa_pod Currency, placa_dod Currency,

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Wstęp do problematyki baz danych Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS w. I Jesień 2014 1 / 17 Plan wykładu 1 Bazy danych 1 Motywacja

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn

Bardziej szczegółowo

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE

PLAN WYKŁADU BAZY DANYCH GŁÓWNE ETAPY PROJEKTOWANIA BAZY MODELOWANIE LOGICZNE PLAN WYKŁADU Modelowanie logiczne Transformacja ERD w model relacyjny Odwzorowanie encji Odwzorowanie związków Odwzorowanie specjalizacji i generalizacji BAZY DANYCH Wykład 7 dr inż. Agnieszka Bołtuć GŁÓWNE

Bardziej szczegółowo

MongoDB. mini przewodnik. Instytut Informatyki, Politechnika Poznańska. v

MongoDB. mini przewodnik. Instytut Informatyki, Politechnika Poznańska. v mini przewodnik v20180109 Plan W tym przewodniku dowiesz się jak: utworzyć bazę danych, kolekcje i wstawić dokumenty, odpytać bazę danych o dokumenty (projekcja, selekcja, konstruować zapytanie wyliczające

Bardziej szczegółowo

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do Na dotychczasowych zajęciach zapoznaliście się Państwo z poleceniem SELECT pozwalającym ą na wykonywanie zapytań ń do bazy danych i odczytywanie danych zawartych w relacjach. Celem tego ćwiczenia jest

Bardziej szczegółowo

Przygotowanie do egzaminu. część I

Przygotowanie do egzaminu. część I 1 Przygotowanie do egzaminu część I Modelowanie związków encji 2 Narysuj schemat EER dla poniższej rzeczywistości. Oznacz unikalne identyfikatory encji. Dla każdego związku zaznacz jego opcjonalność/obowiązkowość

Bardziej szczegółowo

MongoDB. mini przewodnik. Instytut Informatyki, Politechnika Poznańska. v

MongoDB. mini przewodnik. Instytut Informatyki, Politechnika Poznańska. v mini przewodnik v20180414 Plan W tym przewodniku dowiesz się jak: utworzyć bazę danych, kolekcje i wstawić dokumenty, odpytać bazę danych o dokumenty (projekcja, selekcja, konstruować zapytania wyliczające

Bardziej szczegółowo

Laboratorium Bazy danych SQL 2

Laboratorium Bazy danych SQL 2 Klauzula order by występuje jako ostatnia klauzula w poleceniu select, powoduje posortowanie wierszy będących wynikiem zapytania według wartości atrybutu w niej wskazanego. Domyślnie sortowanie jest według

Bardziej szczegółowo

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji.

Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. podstawie kluczy podstawowych wiązanych relacji. TRANSFORMACJA DO SCHEMATU RELACYJNEGO pojęcia podstawowe Repetytorium pojęcia podstawowe relacyjnego modelu danych Schemat implementacyjny (logiczny) bazy danych: schemat, na którym działają aplikacje.

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. 77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele

Bardziej szczegółowo

Projektowanie relacyjnych baz danych

Projektowanie relacyjnych baz danych Mam nadzieję, że do tej pory przyzwyczaiłeś się do tabelarycznego układu danych i poznałeś sposoby odczytywania i modyfikowania tak zapisanych danych. W tym odcinku poznasz nieco teorii relacyjnych baz

Bardziej szczegółowo

Pojęcie zależności funkcyjnej

Pojęcie zależności funkcyjnej Postacie normalne Plan wykładu Zależności funkcyjne Cel normalizacji Pierwsza postać normalna Druga postać normalna Trzecia postać normalna Postać normalna Boyca - Codda Pojęcie zależności funkcyjnej Definicja

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Relacyjny model danych

Relacyjny model danych Model relacyjny Relacyjny model danych Relacyjny model danych jest obecnie najbardziej popularnym modelem używanym w systemach baz danych. Podstawą tego modelu stała się praca opublikowana przez E.F. Codda

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Ćwiczenie 4 - połączenia

Ćwiczenie 4 - połączenia Bazy Danych Ćwiczenie 4 - połączenia Połączenia relacji. Ćwiczenie 4 połączenia Dotychczas omawiane zapytania zawsze dotyczyły jednej relacji. Możliwe jest jednak pisanie zapytań, które odczytują i łączą

Bardziej szczegółowo

RBD Relacyjne Bazy Danych Więzy realcji

RBD Relacyjne Bazy Danych Więzy realcji Wykład 8 RBD Relacyjne Bazy Danych Więzy realcji Bazy Danych - A. Dawid 2011 1 Więzy (Constraints) Więzy ograniczenia na związki między poszczególnymi atrybutami w bazie danych. Określają często zakres

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO Biologiczne Aplikacje Baz Danych dr inż. Anna Leśniewska alesniewska@cs.put.poznan.pl REPETYTORIUM Schemat bazy danych zbiór schematów relacji Relacja (tabela)

Bardziej szczegółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki.

Pożyczkobiorcy. Anomalia modyfikacji: Anomalia usuwania: Konta_pożyczkowe. Anomalia wstawiania: Przykłady anomalii. Pożyczki. Normalizacja Niewłaściwe zaprojektowanie schematów relacji może być przyczyną dublowania się danych, ich niespójności i anomalii podczas ich aktualizowania Przykłady anomalii PROWNIY id_prac nazwisko adres

Bardziej szczegółowo

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z

Tworzenie tabeli przez select CREATE TABLE PRAC2 AS SELECT P.NAZWISKO, Z.NAZWA FROM PRAC P NATURAL JOIN ZESP Z Tworzenie tabeli Np. create table nazwa_tab( \\stworzenie tabeli Id numer(4) constraint PRAC_PK primary key, \\ustawiamy klucz podst. Nazwisko varchar2(30), \\typ tekstowy 30 znaków Kwota number(10,2)

Bardziej szczegółowo

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML

Procedury wyzwalane. Rozdział 13. Procedury wyzwalane. Cele stosowania procedur wyzwalanych. Definiowanie procedury wyzwalanej DML Procedury wyzwalane Rozdział 13 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie

Bardziej szczegółowo

Ćwiczenie 6 - DML. Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML. Wymagania: Bazy Danych

Ćwiczenie 6 - DML. Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML. Wymagania: Bazy Danych Bazy Danych Ćwiczenie 6 - DML Tworzenie, modyfikacja i usuwanie krotek. Podstawy poleceń COMMIT i ROLLBACK. Ćwiczenie 6 DML Na dotychczasowych zajęciach zapoznaliście się Państwo z poleceniem SELECT pozwalającym

Bardziej szczegółowo

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski

Transformacja modelu EER do postaci relacyjnego modelu danych. Zbyszko Królikowski Transformacja modelu EER do postaci relacyjnego modelu danych Zbyszko Królikowski 1 Repetytorium pojęcia podstawowe relacyjnego modelu danych Schemat implementacyjny (logiczny) bazy danych: schemat, na

Bardziej szczegółowo

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

Bardziej szczegółowo

Podstawy języka SQL cz. 2

Podstawy języka SQL cz. 2 Podstawy języka SQL cz. 2 1. Operatory zbiorowe a. UNION suma zbiorów z eliminacją powtórzeń, b. EXCEPT różnica zbiorów z eliminacją powtórzeń, c. INTERSECT część wspólna zbiorów z eliminacją powtórzeń.

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

Normalizacja schematów logicznych relacji

Normalizacja schematów logicznych relacji Normalizacja schematów logicznych relacji Wykład przygotował: Tadeusz Morzy BD wykład 5 Celem niniejszego wykładu jest przedstawienie i omówienie procesu normalizacji. Proces normalizacji traktujemy jako

Bardziej szczegółowo

Bazy danych 2. Algebra relacji Zależności funkcyjne

Bazy danych 2. Algebra relacji Zależności funkcyjne Bazy danych 2. Algebra relacji Zależności funkcyjne P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011/12 Relacyjne systemy baz danych... zdominowały rynek. Systemy nierelacyjne maja status eksperymentalny

Bardziej szczegółowo

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe

Funkcje. Rozdział 3. Funkcje. Funkcje znakowe (1) Funkcje wierszowe Funkcje Rozdział 3 Funkcje Funkcje wierszowe (funkcje znakowe, funkcje liczbowe, funkcje operujące na datach, funkcje konwersji, funkcje polimorficzne), funkcje grupowe, podział relacji na grupy, klauzule

Bardziej szczegółowo

Program wykładu. zastosowanie w aplikacjach i PL/SQL;

Program wykładu. zastosowanie w aplikacjach i PL/SQL; Program wykładu 1 Model relacyjny (10 godz.): podstawowe pojęcia, języki zapytań (algebra relacji, relacyjny rachunek krotek, relacyjny rachunek dziedzin), zależności funkcyjne i postaci normalne (BCNF,

Bardziej szczegółowo

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

PRZESTRZENNE BAZY DANYCH WYKŁAD 2 PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie

Bardziej szczegółowo

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle Rozszerzenie obiektowe w SZBD Oracle Cześć 2. Kolekcje Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Malinowski Nowak Kowalski tablica zagnieżdżona (ang.

Bardziej szczegółowo

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego Transformacja modelu ER do modelu relacyjnego Wykład przygotował: Robert Wrembel BD wykład 4 (1) Plan wykładu Transformacja encji Transformacja związków Transformacja hierarchii encji BD wykład 4 (2) Pojęcia

Bardziej szczegółowo

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli

Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa. Studia Podyplomowe dla Nauczycieli Projekt jest finansowany ze środków Unii Europejskiej, Europejskiego Funduszu Społecznego i budŝetu państwa Studia Podyplomowe dla Nauczycieli Bazy danych SQL Języki baz danych Interfejs DBMS składa się

Bardziej szczegółowo

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego

- Przedmiot kończy się egzaminem - Egzamin ma formę testu teoretycznego Dr inż. Ludmiła Rekuć p. 58 B4 www.ioz.pwr.wroc.pl, ludmila.rekuc@pwr.wroc.pl Dr inż. Witold Rekuć p. 57 B4 www.ioz.pwr.wroc.pl, witold.rekuc@pwr.wroc.pl - Przedmiot kończy się egzaminem - Egzamin ma formę

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Klucz podstawowy PRIMARY KEY Klucz kandydujący UNIQUE Klucz alternatywny - klucze kandydujące, które nie zostały wybrane na klucz podstawowy Klucz obcy - REFERENCES Tworząc tabelę,

Bardziej szczegółowo