Bazy danych wykład trzeci. trzeci Modelowanie schematu bazy danych 1 / 40

Podobne dokumenty
Bazy danych wykład trzeci. trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Bazy danych i usługi sieciowe

Technologie baz danych

BAZY DANYCH model związków encji. Opracował: dr inż. Piotr Suchomski

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

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

Bazy Danych egzamin 9 luty, 2012 rozwiazania

Projektowanie baz danych

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

Projektowanie baz danych

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

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

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

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

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

Projektowanie Systemów Informacyjnych

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

Transformacja modelu ER do modelu relacyjnego

Bazy danych. Algebra relacji

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Model relacyjny. Wykład II

1 Wstęp do modelu relacyjnego

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

Plan wykładu. Elementy ERD BAZY DANYCH. Proces modelowania i implementacji bazy danych. Diagramy związków encji. SQL podzapytania

Bazy Danych i Usługi Sieciowe

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

Transformacja modelu ER do modelu relacyjnego

Wykład 2. Relacyjny model danych

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

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

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

PODSTAWY BAZ DANYCH. 5. Modelowanie danych. 2009/ Notatki do wykładu "Podstawy baz danych"

Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

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

Plan wykładu: Etapy projektowania bazy danych. Modelowanie danych za pomocą diagramów związków encji:

Projektowanie relacyjnych baz danych model związków encji (Entity-Relationship, ER)

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

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Relacyjny model danych

BAZY DANYCH. Anomalie. Rozkład relacji i normalizacja. Wady redundancji

Bazy Danych i Usługi Sieciowe

Cel normalizacji. Tadeusz Pankowski

Bazy danych wykład ósmy Indeksy

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy danych i usługi sieciowe

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

Pojęcie zależności funkcyjnej

Modelowanie konceptualne model EER

1. Mapowanie diagramu klas na model relacyjny.

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

Bazy danych 3. Normalizacja baz danych

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Drużyny piłkarskie. Rozwiązanie

Modelowanie danych, projektowanie systemu informatycznego

Bazy Danych i Systemy informacyjne Wykład 7. Piotr Syga

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

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

Systemy baz danych. mgr inż. Sylwia Glińska

Technologie baz danych

Bazy danych 2. Zależności funkcyjne Normalizacja baz danych

1 Projektowanie systemu informatycznego

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

Bazy danych. Andrzej Łachwa, UJ, /14

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

Technologia informacyjna

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Modelowanie danych. Model związków-encji

Normalizacja. Pojęcie klucza. Cel normalizacji

Przykłady normalizacji

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

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

Diagramy związków encji ERD Ćwiczenia w modelowaniu danych

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Teoretyczne podstawy informatyki

Relacyjny model danych

Zachodniopomorski Uniwersytet Technologiczny w Szczecinie. Bazy danych. Wykład 4: Model SERM. dr inż. Magdalena Krakowiak

Wprowadzenie do baz danych

Tadeusz Pankowski Definicja. Definicja

Normalizacja baz danych

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

Bazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B

Bazy Danych. Projektowanie. Normalizacja. Krzysztof Regulski WIMiIP, KISiM, B5, pok. 408

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Teoretyczne podstawy informatyki

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Agnieszka Ptaszek Michał Chojecki

Model relacyjny bazy danych

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

Model relacyjny. Wykład II

Wykład 8. SQL praca z tabelami 5

Bazy danych 1. Pojęcia podstawowe

Przygotowanie do egzaminu. część I

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Postać normalna Boyce-Codd (BCNF)

Bazy danych Teoria projektowania relacyjnych baz danych. Wykła. Wykład dla studentów matematyki

Normalizacja schematów logicznych relacji

Modelowanie związków encji

Bazy danych 2. Wykład 2 czyli Kilka słów o tworzeniu aplikacji bazodanowej

Transkrypt:

Bazy danych wykład trzeci Modelowanie schematu bazy danych Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Modelowanie schematu bazy danych 1 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER 3 Więzy w modelu ER 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 2 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 3 / 40

Definicja 1 Niech R(A1,..., Ak) będzie relacja. Niech A, B1,..., Bm {A1,..., Ak}. Atrybut A zależy funkcyjnie od B1,..., Bm, co oznaczamy B1,..., Bm A, jeśli każde dwie krotke o tych samych wartościach atrybutów B1,..., Bm musza posiadać ta sama wartość atrybutu A. Jeśli każdy z C1,..., Cr zależy funkcyjnie od B1,..., Bm to piszemy także B1,..., Bm C1,..., Cr. trzeci Modelowanie schematu bazy danych 4 / 40

Definicja 2 Niech R(A1,..., Ak) będzie relacja. Niech B1,..., Bm {A1,..., Ak}. Zbiór atrybutów B1,..., Bm jest kluczem w R jeśli 1 każdy atrybut Ai zależy funkcyjnie od B1,..., Bm, 2 powyższej własności nie ma żaden właściwy podzbiór B1,..., Bm. Punkt 2 definicji klucza wymaga aby zbiór B1,..., Bm był minimalny. Dana relacja może posiadać wiele kluczy. trzeci Modelowanie schematu bazy danych 5 / 40

Fakt 3 Jeśli B1,..., Bm jest kluczem R to w R nie moga wystapić dwie różne krotki o tych samych wartościach B1,..., Bm. Bycie kluczem jest własnościa schematu relacji w bazie danych a nie własnościa konkretnej tabeli. trzeci Modelowanie schematu bazy danych 6 / 40

Przykład. Rozważmy tabelę SAMOCHODY: MARKA KOLOR NR. NADWOZIA Syrenka biały 1 Fiat 126p czerwony 2 Wołga czarny 3 Syrenka kremowy 5 Choć KOLOR jednoznacznie identyfikuje krotkę w tabeli to nie jest to klucz w tej tabeli. trzeci Modelowanie schematu bazy danych 7 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 8 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 9 / 40

Diagram ER przedstawia encje oraz zwiazki pomiędzy nimi. Każdy z tych obiektów może posiadać atrybuty. W diagramie ER encje oznaczane sa przez prostokaty, zwiazki przez romby, atrybuty przez elipsy. Krawędzie łacz ace encje i zwiazki oznaczaja rodzaj zwiazku. Atrybuty wchodzace w skład klucza oznaczamy przez podkreślenie. trzeci Modelowanie schematu bazy danych 10 / 40

Przykład. Encja Osoba oraz jej atrybuty. Klucz głowny składa się z jednego atrybutu id. adres nazwisko telefon imie Osoba id trzeci Modelowanie schematu bazy danych 11 / 40

Przykład. Zwiazek posiada. Zwiazki moga posiadać swoje własne atrybuty. osoba posiada samochod data_zakupu trzeci Modelowanie schematu bazy danych 12 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 13 / 40

Definicja 4 Niech zwiazek R łaczy encje E i F. Jeśli każdy element z E wchodzi w zwiazek R z co najwyżej jednym elementem F, to R jest zwiazkiem wiele do jednego od E do F. Jeśli R jest zwiazkiem wiele do jednego od E do F i od F do E, to R jest zwiazkiem jeden do jednego. Jeśli nie zachodzi żaden z powyższych przypadków, to R jest zwiazkiem typu wiele do wiele. trzeci Modelowanie schematu bazy danych 14 / 40

Zwiazki wiele do jednego reprezentujemy przez strzałki. osoba posiada samochod trzeci Modelowanie schematu bazy danych 15 / 40

Jeśli ten sam zbiór encji bierze wielokrotnie udział w zwiazku to rysujemy tyle linii, ile razy ten zbiór występuje. Każde wystapienie ma przypisana inna rolę, opisana za pomoca etykiet. maz malzenstwo osoba zona trzeci Modelowanie schematu bazy danych 16 / 40

Oczywiście, gdybyśmy modelowali zwiazki według prawa Szariatu, to diagram ten wygladałby tak: maz malzenstwo osoba zona trzeci Modelowanie schematu bazy danych 17 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 18 / 40

Każdy zwiazek wieloargumentowy możemy przekształcić na zbiór zwiazków dwuargumentowych. Aby to zrobić dodajemy jeden zbiór encji. trzeci Modelowanie schematu bazy danych 19 / 40

Przykład. Zamieniemy na zwiazki binarne wieloargumentowy zwiazek mecz. gospodarz sedzia mecz druzyna goscie wynik trzeci Modelowanie schematu bazy danych 20 / 40

gospodarz sedziuje mecz druzyna goscie sedzia wynik trzeci Modelowanie schematu bazy danych 21 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 22 / 40

Jeśli pewne encje zawieraja atrybuty nie występujace we wszystkich elementach zbioru to możemy wyróżnić je jako podklasy danej encji. Encje takie łaczymy specjalnym zwiazkiem jest (ang. isa). Zwiazki takie maja strukturę drzewiasta z jednym korzeniem. Encja podrzędna ma wszystkie atrybutu i wchodzi we wszystkie zwiazki, w które wchodzi encja nadrzędna. Klucz encji nadrzednej jest kluczem encji podrzędnej. trzeci Modelowanie schematu bazy danych 23 / 40

Przykład. Podklasy filmy ISA kreskowki musicale trzeci Modelowanie schematu bazy danych 24 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 25 / 40

Dlaczego wprowadzać więzy w modelu BD? Więzy sa jednym z elementów opisu modelowanego świata. Dobrze zdefiniowane więzy po implementacji modelu pozwalaja SZBD optymalizować wykonywanie zadań zwiazanych z BD. trzeci Modelowanie schematu bazy danych 26 / 40

Przykład. Jeśli tabele R i T posiadaja klucze to poniższe zapytanie można łatwo zooptymalizować. Aby to zrobić SZBD musi posiadać informacje o kluczach w schemacie BD. select Rnazwa, T nazwa from R, T where Rklucz = Tklucz ; trzeci Modelowanie schematu bazy danych 27 / 40

Przykład. Łatwo zooptymalizować także select R. klucz, sum(r. wiek ) from R group by R. klucz ; jako select R. klucz, R. wiek from R; trzeci Modelowanie schematu bazy danych 28 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 29 / 40

Zależność wiele do jeden z E do F nie rozstrzyga, czy dla każdego elementu E istnieje element w F będacy z nim w relacji. Istnienie odpowiedniego elementu z F modelujemy przez więzy integralności referencyjnej. trzeci Modelowanie schematu bazy danych 30 / 40

Poznaliśmy już niektóre więzy w modelach BD. klucze typy zwiazków: wiele do jednego, jeden do jednego,... trzeci Modelowanie schematu bazy danych 31 / 40

Integralność referencyjna oznaczamy za pomoca zaokraglonej strzałki. prezes zarzadza firma trzeci Modelowanie schematu bazy danych 32 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 33 / 40

Możemy ograniczyć stopień zwiazku R pomiędzy encjami E i F przez zaznaczenie z iloma maksymalnie elementami z F może wejść w zwiazek element z E. Oznaczamy to przez określenie liczności, n, nad linia do łacz ac a zwiazek z dana encja. Strzałka oznacza w tej konwencji ograniczenie 1 podczas gdy strzałka zaokraglona to ograniczenie = 1. trzeci Modelowanie schematu bazy danych 34 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 35 / 40

Definicja 5 Słaba encja to encja, której część lub wszystkie atrybuty wchodzace w skład jej klucza sa atrybutami innych encji. trzeci Modelowanie schematu bazy danych 36 / 40

gatunek nalezy rodzaj nazwa nazwa Element słabej encji musi wchodzić w zwiazki z innymi encjami, z których bierze części składowe swojego klucza. Zwiazki te i encje nazywamy pomocniczymi. trzeci Modelowanie schematu bazy danych 37 / 40

Niech R będzie zwiazkiem pomocniczym od słabej encji E do encji pomocniczej F. R musi być zwiazkiem wiele do jednego od E do F (także jeden do jednego). Musi istnieć integralność referencyjna między E i F. Atrybuty klucza F wchodza w skład klucza E. Jeśli E łacz a z F inne zwiazki pomocnicze, to dla każdego tworzymy oddzielna kopię klucza E. Element słabej encji musi wchodzić w zwiazki z innymi encjami, z których bierze części składowe swojego klucza. trzeci Modelowanie schematu bazy danych 38 / 40

Outline 1 Zalezności funkcyjne i klucze 2 Diagramy ER Encje, zwiazki, atrybuty Krotności w zwiazkach Zwiazki wieloargumentowe i zwiazki binarne Podklasy encji 3 Więzy w modelu ER Integralność referencyjna Więzy stopni 4 Słabe encje 5 Zasady projektowania trzeci Modelowanie schematu bazy danych 39 / 40

Projektujac model ER powinniśmy kierować się zasadami: 1 Wierność encje i ich atrybuty powinny odpowiadać rzeczywistości. Zwiazki powinny mieć rzeczywisty sens. 2 Brak nadmiarowosci każda informacja powinna być przechowywana tylko w jednym miejscu. Nie należy powielać informacji. 3 Prostota nie należy wprowadzać zbędnych encji, atrybutów lub zwiazków. trzeci Modelowanie schematu bazy danych 40 / 40