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

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

Transformacja modelu ER do modelu relacyjnego

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

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

Technologie baz danych

Transformacja modelu ER do modelu relacyjnego

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

Bazy danych i usługi sieciowe

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

Bazy Danych egzamin 9 luty, 2012 rozwiazania

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

Projektowanie baz danych

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

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

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

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

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

Transformacja modelu pojęciowego. do logicznego

Projektowanie baz danych

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

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

Bazy danych. Algebra relacji

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Autor: Joanna Karwowska

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

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

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

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

Modelowanie danych, projektowanie systemu informatycznego

Przykłady normalizacji

Technologia informacyjna

Normalizacja baz danych

1. Mapowanie diagramu klas na model relacyjny.

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

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

Bazy Danych i Usługi Sieciowe

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

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

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

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

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

Model relacyjny bazy danych

Projektowanie Systemów Informacyjnych

Wprowadzenie do baz danych

Microsoft Access materiały pomocnicze do ćwiczeń cz. 1

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

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Spis treści. 1 Modelowanie logiczne. Plan wykładu. 1 Modelowanie logiczne 1

Model relacyjny. Wykład II

Związki pomiędzy tabelami

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

Wykład 2. Relacyjny model danych

Baza danych. Modele danych

Bazy Danych i Usługi Sieciowe

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Krzysztof Kadowski. PL-E3579, PL-EA0312,

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Podstawowe zapytania SELECT (na jednej tabeli)

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny technologiczny Politechnika Śląska

1 Wstęp do modelu relacyjnego

Dane wejściowe. Oracle Designer Generowanie bazy danych. Wynik. Przebieg procesu

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

Bazy danych 3. Normalizacja baz danych

BAZY DANYCH NORMALIZACJA BAZ DANYCH. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Relacyjne bazy danych. Normalizacja i problem nadmierności danych.

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

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

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

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt. Zasady przygotowania i oceny projektów

WPROWADZENIE DO BAZ DANYCH

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

WPROWADZENIE DO BAZ DANYCH

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

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

1 Przygotował: mgr inż. Maciej Lasota

Technologie baz danych

Baza danych sql. 1. Wprowadzenie. 2. Repozytaria generyczne

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

1 Projektowanie systemu informatycznego

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

OPRACOWANIE: SŁAWOMIR APANOWICZ

Instytut Mechaniki i Inżynierii Obliczeniowej fb.com/groups/bazydanychmt/

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

KATOLICKI UNIWERSYTET LUBELSKI. Projekt Bazy Danych. Maciej Lis K A T O L I C K I U N I W E R S Y T E T L U B E L S K I

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

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

Bazy danych i usługi sieciowe

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

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

Bazy danych - wykład wstępny

Bazy danych Karta pracy 1

Bazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL

Relacyjny model danych

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

Transkrypt:

Bazy danych wykład trzeci Przekształcenie modelu ER na model relacyjny Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa trzeci Przekształcenie modelu ER na model relacyjny 1 / 19

Przekształcanie modelu ER na projekt relacyjny Każda encja przekształcana jest na relację o tym samym zbiorze atrybutów. Każdy zwiazek przekształcany jest na relację o atrybutach będacych kluczami wchodzacych w zwiazek encji. Potencjalne problemy: słabe encje, zwiazki typu jest, niektóre relacje warto połaczyć w jedna (np. relację dla encji i jej zwiazku typu wiele do jeden). trzeci Przekształcenie modelu ER na model relacyjny 2 / 19

Przekształcanie modelu ER na projekt relacyjny Przekształcajac projekt ER na projekt relacyjny chcemy: uniknać nadmiernego wykorzystania pamięci, uniknać powtarzania tej samej informacji w wielu miejscach. Spełnienie powyższych wskazań jest możliwe dzięki odpowiedniemu zdefiniowaniu więzów w projekcie ER. trzeci Przekształcenie modelu ER na model relacyjny 3 / 19

Reprezentowanie encji Encję przekształcamy na relację o tych samych atrybutach. Przykład. adres nazwisko telefon imie Osoba id Osoba(id, imie, nazwisko, adres, telefon) Atrybut id jest kluczem relacji Osoba. trzeci Przekształcenie modelu ER na model relacyjny 4 / 19

Reprezentowanie zwiazków Zwiazek przekształcamy na relację, której atrybutami sa klucze encji, które wchodza w zwiazek i atrybuty relacji. Przykład. Niech id będzie kluczem relacji osoba a marka, nr_nadwozia kluczem relacji samochod. osoba posiada samochod data_zakupu trzeci Przekształcenie modelu ER na model relacyjny 5 / 19

Reprezentowanie zwiazków osoba posiada samochod data_zakupu posiada(wlasciciel_id, marka, nr_nadwozia, data_zakupu). Kluczem relacji posiada jest zbiór (wlasciciel_id, marka, nr_nadwozia). trzeci Przekształcenie modelu ER na model relacyjny 6 / 19

Reprezentowanie zwiazków Sposób w jaki reprezentujemy zwiazek zależy od typu zwiazku. Zwiazki typu wiele do wiele (M:N) reprezentujemy jako oddzielne relacje (jak w poprzednim przykładzie). Zwiazki funkcyjne typu jeden do jeden (1:1) lub wiele do jeden (M:1) reprezentujemy jako pola w relacji dla encji będacej po stronie dla której istnieje zależność funkcyjna lub po stronie wiele. trzeci Przekształcenie modelu ER na model relacyjny 7 / 19

Reprezentowanie zwiazków 1:M jednostronnie obowiazkowych fabryka wyprodukowala samochod data_produkcji Powyższy zwiazek reprezentujemy przez dodanie atrybutów klucza relacji fabryka do relacji samochod i atrybutów zwiazku. samochod(marka, nr_nadwozia, kolor, fabryka_id, data_produkcji). Klucz fabryka_id jest kluczem obcym w relacji samochod (NOT NULL). trzeci Przekształcenie modelu ER na model relacyjny 8 / 19

Reprezentowanie zwiazków 1:M opcjonalnych Zwiazki opcjonalne typu jeden do wiele możemy reprezentować podobnie jak zwiazki obowiazkowe. Różnica w reprezentacji polega na tym, że pozycja będaca kluczem obcym może być równa NULL. Jeśli wiemy, że zwiazek taki zachodzi rzadko, możemy rozważyć stworzenie oddzielnej tabeli jak w przypadku zwiazku typu (M:N) aby oszczędzić miejsce (lecz ewentualny zysk zależy od własności modelowanego świata poza tym spowolniamy odczyt danych). trzeci Przekształcenie modelu ER na model relacyjny 9 / 19

Zwiazki opcjonalne typu 1:1 Zwiazki takie możemy reprezentować przez dodanie klucza obcego do jednej z tabel. W uzasadnionych przypadkach możemy rozważyć dodanie klucza obcego do obu tabel (jeśli wiemy, że przyśpieszy to wyszukiwanie w BD). trzeci Przekształcenie modelu ER na model relacyjny 10 / 19

Przykład. mezczyzna poslubil kobieta Trzy sposoby na reprezentowanie zwiazku poslubil. 1 mezczyzna(id,..., zona_id), kobieta(id,..., maz_id), 2 mezczyzna(id,..., zona_id), kobieta(id,...), 3 mezczyzna(id,...), zona(id,..., maz_id). Klucze obce w relacjach moga być równe NULL. Reprezentowanie zwiazku w pierwszy ze sposobów może prowadzić do problemów z niespójnościa danych lecz ułatwia wyszukiwanie. trzeci Przekształcenie modelu ER na model relacyjny 11 / 19

Zwiazki unarne typu wiele do jeden Zwiazki unarne (pomiędzy ta sama encja) reprezentujemy przez dodanie pola w relacji dla tej encji. Pole to będzie kluczem obcym dla danej relacji. trzeci Przekształcenie modelu ER na model relacyjny 12 / 19

Przykład. kieruje podlega pracownik pracuje_dla Zwiazek reprezentujemy jako pracownik(id,..., kierownik_id). Zauważmy, że w tym przypadku klucz obcy jest pobrany z tej samej relacji pracownik. trzeci Przekształcenie modelu ER na model relacyjny 13 / 19

Zwiazki unarne typu wiele do wiele Zwiazki takie reprezentujemy jako oddzielne relacje. trzeci Przekształcenie modelu ER na model relacyjny 14 / 19

Ogólne zasady reprezentowania zwiazków Zwiazki typu wiele do jeden (M:1) reprezentujemy jako klucze obce w relacji występujacej po stronie wiele. Zwiazki obowiazkowe reprezentujemy przez warunek NOT NULL nałożony na klucz obcy. Zwiazki typu wiele do wiele reprezentujemy przez oddzielna tabele. trzeci Przekształcenie modelu ER na model relacyjny 15 / 19

Podklasy encji filmy rezyser ISA kreskowki musicale rysownik kompozytor trzeci Przekształcenie modelu ER na model relacyjny 16 / 19

Podklasy encji Podlasy encji możemy reprezentować: 1 jako jedna relację, w której pewne pola moga być puste (NULL) i dodatkowym atrybutem określajacym rodzaj elementu, 2 jako oddzielne relacje dla każdej podklasy zawierajace wszystkie atrybuty wspólne, 3 jako oddzielna relację z atrybutami wspólnymi i relacje zawierajace atrybuty podklas, w której klucze obce wskazuja na element tabeli wspólnej. trzeci Przekształcenie modelu ER na model relacyjny 17 / 19

Słabe encje gatunek nalezy rodzaj nazwa nazwa Relacja stworzona dla słabego zbioru encji musi zawierać wszystkie klucze relacji dla pomocniczych zbiorów encji. Klucze te wchodza (jako klucz obcy) w skład klucza tej relacji. Nie musimy reprezentować pomocniczego zwiazku jako relacji. Atrybuty tego zwiazku możemy umieścić w relacji stworzonej dla słabej encji. trzeci Przekształcenie modelu ER na model relacyjny 18 / 19

Słabe encje gatunek nalezy rodzaj nazwa nazwa Słaba encję gatunek reprezentujemy jako relację gatunek(nazwa_gatunkowa, nazwa_rodzajowa,...). Atrybut nazwa_rodzajowa wchodzi w skład klucza relacji. Nie może być równy NULL. trzeci Przekształcenie modelu ER na model relacyjny 19 / 19