RBD Relacyjne Bazy Danych Więzy realcji



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

RBD Relacyjne Bazy Danych

1 Wstęp do modelu relacyjnego

Plan wykładu: Operacje relacji: suma, przekrój, różnica, złączenia proste, iloczyn kartezjański, złączenia teta.

Model relacyjny. Wykład II

Bazy danych wykład drugi. Konrad Zdanowski

Bazy danych Wykład zerowy. P. F. Góra

Teoretyczne podstawy informatyki

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

SZKOLENIE: Administrator baz danych. Cel szkolenia

Wykład II Encja, atrybuty, klucze Związki encji. Opracowano na podstawie: Podstawowy Wykład z Systemów Baz Danych, J.D.Ullman, J.

Technologie baz danych

Projektowanie Systemów Informacyjnych

Wykład 2. Relacyjny model danych

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

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

Technologie baz danych

Model relacyjny. Wykład II

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

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

1. Zakłada się, że każda operacja (read, write) w harmonogramie obejmuje również blokowanie i odblokowanie jednostki. Czy następujący harmonogram

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

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Bazy danych. Algebra relacji

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

Rozpatrzymy bardzo uproszczoną bazę danych o schemacie

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

Baza danych. Modele danych

Pojęcie zależności funkcyjnej

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

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

Relacyjny model danych

Bazy Danych egzamin 9 luty, 2012 rozwiazania

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

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Autor: Joanna Karwowska

BAZY DANYCH wprowadzenie do języka SQL. Opracował: dr inż. Piotr Suchomski

Relacyjny model baz danych, model związków encji, normalizacje

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Przestrzenne bazy danych Podstawy języka SQL

Egzamin / zaliczenie na ocenę* 0,5 0,5

Bazy danych i usługi sieciowe

Grupa kursów: Wykład Ćwiczenia Laboratorium Projekt Seminarium 15 30

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

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

- język zapytań służący do zapisywania wyrażeń relacji, modyfikacji relacji, tworzenia relacji

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

Bazy danych. Andrzej Łachwa, UJ, /15

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

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

SQL (ang. Structured Query Language)

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

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

Jak wiernie odzwierciedlić świat i zachować występujące w nim zależności? Jak implementacja fizyczna zmienia model logiczny?

Transformacja modelu ER do modelu relacyjnego

Wykład :45 BD-1 W_3

Model relacyjny bazy danych

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

PRZYKŁAD. Prosta uczelnia. Autor: Jan Kowalski nr indeksu: (przykładowy projekt)

Autor: Joanna Karwowska

Relacyjne systemy baz danych i język SQL

PLAN WYKŁADU BAZY DANYCH ZALEŻNOŚCI FUNKCYJNE

Podstawowy kurs z systemów baz danych / Jeffrey D. Ullman, Jennifer Widom. - wyd Gliwice, cop Spis treści.

Projektowanie relacyjnych baz danych

Bazy Danych. Model Relacyjny. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI Ogólne umiejętności posługiwania się komputerem

SQL praca z tabelami 4. Wykład 7

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Przykładowa baza danych BIBLIOTEKA

Podstawy języka SQL. standardy SQL formułowanie zapytań operacje na strukturach danych manipulowanie danymi. Bazy danych s.5-1

Systemy baz danych. Notatki z wykładu

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Podstawowe zapytania SELECT (na jednej tabeli)

Aspekty aktywne baz danych

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

TEORETYCZNE PODSTAWY INFORMATYKI

Wprowadzenie do języka SQL

WYRAŻENIA ALGEBRAICZNE

Systemy GIS Tworzenie zapytań w bazach danych

TEORETYCZNE PODSTAWY INFORMATYKI

Bazy danych 1. Wykład 5 Metodologia projektowania baz danych. (projektowanie logiczne)

Autor: Joanna Karwowska

Bazy Danych. Modele danych. Krzysztof Regulski WIMiIP, KISiM,

Bazy danych. Plan wykładu. Przetwarzanie zapytań. Etapy przetwarzania zapytania. Translacja zapytań języka SQL do postaci wyrażeń algebry relacji

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Bazy danych 6. Klucze obce. P. F. Góra

Bazy Danych i Usługi Sieciowe

1 Działania na zbiorach

Relacyjny model danych. Relacyjny model danych

Bazy danych. Zasady konstrukcji baz danych

Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)

Bazy danych. Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Wykład 3: Model związków encji.

Podstawy języka SQL cz. 2

Normalizacja. Pojęcie klucza. Cel normalizacji

Transkrypt:

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 wartości jakie mogą zawierać pola danych dla poszczególnych atrybutów. Klasyfikacja więzów 1. Klucze (keys) 2. Więzy jednoznaczności (single-value-constraints) 3. Więzy integralności referencyjnej (referential integrity constraints) 4. Więzy domenowe (domain constraints) 5. Więzy zasadnicze (general constraints) Bazy Danych - A. Dawid 201

Więzy (Constraints) Więzy jednoznaczności każdy atrybut ma tylko jedną określoną wartość. Przykład Klienci mają jeden nr identyfikacyjnych, jedną datę urodzenia, jeden wiek i jedną matkę. Wszystkie klucze należą do więzow jdnoznaczności. 1. Wymaga się aby atrybut zawsze miał określoną wartość 2. Tą wartością może być NULL Bazy Danych - A. Dawid 2011 3

Więzy (Constraints) Jeśli zachodzi związek pomiędzy atrybutami pewnej realcji R a jednym atrybutem innej relacji S i żąda sia aby ten atrybut istniał, to mamy do czynienia z więzami określanymi jako więzy integralności referencyjnej. Przykład Klienci,Pacjenci,Petenci,Studenci itd wielu wskazuje jedną narodowość. Wymagane jest aby wskazywany obiekt istniał. Można zabronić usuwania obiektu, który jest wskazywany. Można zażądać aby wraz ze wskazywanym obiektem były usuwane wszystkie obiekty które nań wskazują. Bazy Danych - A. Dawid 2011 4

Więzy (Constraints) Więzy domenowe polegają na tym, że ogranicza się wartość atrybutu do pewnego zbioru. Przykład Jeżeli nr_klienta jest wartością typu integer, to nie może nr_klienta=2.6 Zbiory ograniczające. - Liczby całkowite - Liczby całkowite dodatnie - Liczby od 0 do 100 - Ciągi znaków, tylko duże litery - poniedziałek, wtorek,środa, czwartek, piątek Bazy Danych - A. Dawid 2011 5

Więzy (Constraints) Więzy zasadnicze są arbitralnie narzuconymi warunkami, których spełnienie musi być bezwzględnie przestrzegane w definiowanej bazie danych Przykłady -Każdy klient może kupić nie więcej niż 10 towarów. -Z labolatorium nie może być wiecej powiązanych studentów niż 7. -Daty urodzenia Babci,Matki,Córki,Wnuczki muszą być chronologiczne. Bazy Danych - A. Dawid 2011 6

Określenie więzów w algebrze relacji W algebrze relacji istnieją dwie konwencje więzów: 1. Jeżeli R jest pewnym wyrażeniem algebry realcji, to R= stanowią więzy. Relacja R jest pusta. 2. Jeśli R i S są wyrażeniami algebry relacji, to R S stanowią wiezy. Każda krotka z S należy do R. R S R-S= R= R Model relacyjny pozwal określić więzy integralności referencyjnej. Bazy Danych - A. Dawid 2011 7

Więzy integralności referencyjnej w modelu relacyjnym Jeśli w pewnej krotce relacji R występuje określona wartość n, to z założeń projektowania wynika, że taka sama wartość n musi występować również jako określona składowa innej relacji S. okumenty +------------+-------+-------+ NrDok NrTow cena1 +------------+-------+-------+ SP/01/2011 1 5.1 SP/01/2011 2 5.6 +------------+-------+-------+ +-------+-----------+---------+-------+ NrTow Nazwa J_miary ilosc +-------+-----------+---------+-------+ 1 Banany kg 18.5 2 Winogrona kg 15.5 +-------+-----------+---------+-------+ Bazy Danych - A. Dawid 2011 8 Towary

Więzy integralności referencyjnej w modelu relacyjnym Tak określone więzy można zapisać w postaci algebry realcji; π NrTow (dokumenty) π NrTow (towary) Lewa strona wyrażenia opisuje zbiór wszystkich numerów towarów, które występują jako składowe NrTow w krotkach relacji dokumenty. Prawa strona określa wszystkie dostępne krotki określone atrybutem NrTow z realcji towary. W konwencji przyrównania do zbioru pustego nasze więzy wyglądają następująco: π NrTow (dokumenty) - π NrTow (towary) = Bazy Danych - A. Dawid 2011 9

Więzy integralności referencyjnej w modelu relacyjnym Załużmy teraz, że mamy relacje wydruk(pozycja,nrdokumentu,klient,...), Której atrybuty znalazły się także w relacji dokumenty(nrdok,poz,data,nrtow,cena1,...) W obu tych realcjach dokument identyfikowany jest przez parę atrybutów. Tak określone więzy można zapisać w postaci algebry realcji; π NrDokumentu,pozycja (wydruk) π NrTow,Poz (dokumenty) Bazy Danych - A. Dawid 2011 10

Więzy integralności referencyjnej w modelu relacyjnym Załużmy teraz, że mamy relacje osoba(nazwisko,adres,dataurodz,płeć) Chcemy aby dla dwóch takich samych Nazwisk był ten sam adres. Relacje osoba kopiujemy 2-krotnie i zmieniamy nazwy dwóch kopi na OS1 i OS2 Nasza zależność przyjmie następujaca postać algebraiczną; σ OS1.nazwisko=OS2.nazwisko AND OS1.adres<>OS2.adres (OS1 OS2) =, gdzie przemianowannia OS1 i OS2 wyglądają następująco; p OS1(nazwisko,adres,dataUrodz,płeć) (osoba), p OS2(nazwisko,adres,dataUrodz,płeć) (osoba) Bazy Danych - A. Dawid 2011 11

Więzy integralności referencyjnej w modelu relacyjnym Więzy dziedziny Tego typu więzów nie da się przedstawić całkowicie w algebrze relacji, ponieważ nie zawiera ona mechanizmu opisu typów. Załóżmy, że wartość atrybutu płeć z relacji osoba to K lub M. Taki warunek można przedstawić za pomocą następujacego wyrażenia algebraicznego. σ płeć<> K AND płeć<> M (osoba) =, Bazy Danych - A. Dawid 2011 12

Więzy integralności referencyjnej w modelu relacyjnym Więzy zasadnicze Załóżmy, że dla klientów co dokonali zakupów za więcej niż 1000 PLN w naszym sklepie przewidujemy zniżke. osoba(nr,nazwisko,adres,dataurodz,płeć) dokumenty(nrdok,poz,data,nrklienta,nrtow,cena1,wartość) σ SUM(wartosc)<1000 (osoba Nr=NrKlienta dokumenty) = Bazy Danych - A. Dawid 2011 13

Operacje relacyjne na wielozbiorach Wielozbiory Zbiory w których elementy mogą się powtarzać. Dopuszczamy możliwość wystąpienia w relacji tych samych Krotek. R 2 3 Relacja R jest wielozbiorem krotek. Krotka (1,2) występuje 3 razy, a krotka (2,3) tylko jeden raz. Wielozbiór jest niezbędny przy stosowaniu funkcji agregujących, średnia, suma, odchylenie standardowe,... Bazy Danych - A. Dawid 2011 14

Operacje relacyjne na wielozbiorach SUMA Przy obliczaniu sumy dwóch wielozbiorów dołącza się wszystkie wystąpienia krotki z poszczególnych składników sumy. R A B S A B R S 2 3 2 2 2 3 2 3 3 2 2 2 2 3 3 2 Bazy Danych - A. Dawid 2011 15

Operacje relacyjne na wielozbiorach Przecięcie Przy przecięciu wielozbiorów w których krotka t występuje odpowiednio n i m razy w wielozbiorach R i S, to w ich przecięciu R S krotka t występuje min(n,m) razy. R S R S 2 3 2 2 2 3 2 3 3 2 Bazy Danych - A. Dawid 2011 16

Operacje relacyjne na wielozbiorach Różnica - Przy różnicy wielozbiorów w których krotka t występuje odpowiednio n i m razy w wielozbiorach R i S, to w ich róznicy R - S krotka t występuje max(0,n-m) razy. R S 2 3 2 2 2 3 3 2 R-S S-R 2 2 3 2 Oznacza to kasowanie wystąpień tych samych krotek w relacji R przez te same krotki z relacji S Bazy Danych - A. Dawid 2011 17

Operacje relacyjne na wielozbiorach Iloczyn kartezjański wielozbiorów Tworzymy wszystkie pary z dwóch relacji niezależnie od występujących powtórzeń. Przykład R S R S 2 2 R.A R.B S.A S.B 2 2 2 2 Bazy Danych - A. Dawid 2011 18

Operacje relacyjne na wielozbiorach Jeżeli krotka t występuje jeden raz w wielozbiorach R i S, to reguły przecięcia (R S) i róznicy (R S lub S R) pozostają zgodne z regułami dotyczącymi zbiorów. Dla sumy stosowanie reguł wielozbiorów daje inny wynik niż stosowanie reguł sumowania dla zbiorów. rzykład R S 2 2 zbiór R S 2 2 wielozbiór R S 2 2 Bazy Danych - A. Dawid 2011 19

Operacje relacyjne na wielozbiorach Rzutowanie wielozbiorów W wyniku rzutowania wielozbioru takie same krotki nie podlegają redukcji. C 4 2 3 5 6 7 π A,B (R) 2 3 W języku SQL operacja rzutowania; a) na zbiorach Select distinct A,B from R; b) Na wielozbiorach Select A,B from R; Bazy Danych - A. Dawid 2010

Operacje relacyjne na wielozbiorach Selekcja wielozbiorów Operację selekcji dla wielozbioru przeprowadza się niezależnie dla każdej krotki i nie eliminuje się powtórzeń. R σ C>4 (R) σ C<6 (R) C 4 2 3 5 6 C 2 3 5 6 6 ale C 4 2 3 5 6 Bazy Danych - A. Dawid 2011

Operacje relacyjne na wielozbiorach Złączenia wielozbiorów Porównuje się każdą krotkę jednej relacji złączenia z każdą krotką drugiej relacji, i jeśli ta para spełnia warunek złączenia, to powstaje nowa krotka w wyniku złączenia. Przykład R S B C 2 2 R S C 2 2 Bazy Danych - A. Dawid 2012

Prawa algebry w przypadku wielozbiorów Prawo przemienności sumowania R S = S R Zachodzi ono niezależnie od tego jakie elementy należą do relacji R i S, i niezależnie od tego, czy R i S są zbiorami czy wielozbiorami. Są przypadki gdy wyrażenia są spełnione dla zbiorów a nie są spełnione dla wielozbiorów. Prawo rozdzielności różnicy względem sumy (R S) T = (R T) (S T) Bazy Danych - A. Dawid 2013