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

Podobne dokumenty
TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

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

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego

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

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

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

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

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

Temat: Modelowanie schematu bazy danych za pomocą diagramów związków encji (Entity Relationship Diagrams ERD)

Bazy danych i usługi sieciowe

Modelowanie danych, projektowanie systemu informatycznego

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

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Model relacyjny. Wykład II

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

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

Wykład 2. Relacyjny model danych

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Transformacja modelu pojęciowego. do logicznego

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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

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

Technologie baz danych

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

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

Przykłady normalizacji

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

1. Mapowanie diagramu klas na model relacyjny.

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

Modelowanie danych. Biologiczne Aplikacje Baz Danych

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

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

Przygotowanie do egzaminu. część I

Bazy Danych egzamin poprawkowy, 2012 rozwiazania

Baza danych. Modele danych

Autor: Joanna Karwowska

1 Wstęp do modelu relacyjnego

Relacyjny model danych

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

Modelowanie związków encji. Oracle Designer: Diagramy związków encji. Encja (1)

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

WPROWADZENIE DO BAZ DANYCH

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

Autor: Joanna Karwowska

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Technologie baz danych

Modelowanie konceptualne model EER

MODELOWANIE DANYCH. Biologiczne Aplikacje Baz Danych. dr inż. Anna Leśniewska

Bazy Danych i Usługi Sieciowe

Technologia informacyjna

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

Bazy danych. Algebra relacji

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

Cel normalizacji. Tadeusz Pankowski

Model relacyjny bazy danych

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

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

Tworzenie modelu logicznego i fizycznego danych.

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

1. Analiza wymagań Opis środowiska

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

Projektowanie Systemów Informacyjnych

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

1 Projektowanie systemu informatycznego

Tworzenie projektu bazy danych z kreatorem odnośników - Filmoteka. Projekt tabel dla bazy Filmoteka

Wykorzystanie oprogramowania Oracle Designer do budowy systemów informatycznych

WYKŁAD 1. Wprowadzenie do problematyki 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 egzamin 9 luty, 2012 rozwiazania

Agnieszka Ptaszek Michał Chojecki

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Projektowanie baz danych

Normalizacja relacyjnych baz danych. Sebastian Ernst

Systemy baz danych. 1. Plan: 2. Zadania: Projekt Bazy Danych - wybór tematów, wstępna kategoryzacja 8. Projekt Bazy Danych - diagram ER

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

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

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

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

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

Przykładowa baza danych BIBLIOTEKA

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

Projekt aplikacji prywatnej przychodni weterynaryjnej

Bazy danych. Plan wykładu. Zależności funkcyjne. Wykład 2: Relacyjny model danych - zależności funkcyjne. Podstawy 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.

Model relacyjny. Wykład II

Wykorzystanie oprogramowania Oracle Designer do budowy systemów informatycznych

Projektowanie bazy danych

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

Baza danych. Baza danych to:

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

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

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Projektowanie bazy danych przykład

Ćwiczenia z Zaawansowanych Systemów Baz Danych

Normalizacja relacji

Normalizacja. Pojęcie klucza. Cel normalizacji

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

TECHNOLOGIE BAZ DANYCH

Transkrypt:

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 którym działają aplikacje. Relacja (tablica): dwuwymiarowa tablica będąca implementacją encji. Kolumny tablicy są atrybutami. Wiersze tablicy to krotki - reprezentują wystąpienia encji. Klucz podstawowy (główny) (identyfikator): atrybut lub zbiór atrybutów wybrany spośród kluczy potencjalnych do identyfikacji krotek relacji. Klucz obcy: atrybut lub zbiór atrybutów relacji, który jest kluczem podstawowym w innej relacji. Klucz obcy służy do logicznego powiązania krotek dwóch relacji. 2

Transformacja do schematu relacyjnego - scenariusz 1. Transformacja encji Dla każdej encji, która nie tworzy hierarchii encji, utwórz relację odwzorowując atrybuty encji na nazwy kolumn relacji. Utwórz klucz podstawowy relacji na podstawie unikalnego identyfikatora encji. Hierarchie encji transformuj zgodnie z odpowiednimi regułami 3

Transformacja do schematu relacyjnego - scenariusz 2. Transformacja związków 1:1 Dla związków jednostronnie obligatoryjnych, dodaj klucz obcy do relacji powstałej z encji wiązanej obligatoryjnie, na podstawie klucza podstawowego drugiej relacji. Dla związków dwustronnie opcjonalnych, dodaj klucz obcy do relacji o przewidywanej mniejszej liczbie krotek. 4

Transformacja do schematu relacyjnego - scenariusz 3. Transformacja zwiazków 1:N Dodaj klucz obcy do relacji po stronie N, na podstawie klucza podstawowego relacji po stronie 1. 4. Transformacja związków M:N Dla każdego związku utwórz nową relację, zawierającą klucze obce zbudowane na podstawie kluczy podstawowych wiązanych relacji. 5

Komentarz: 6

Transformacja encji PRACOWNIK # id_pracownika * imię * nazwisko o adres_ulica o adres_miasto PRACOWNICY ( primary key (id_pracownika), imię NOT NULL, nazwisko NOT NULL, adres_ulica NULL, adres_miast NULL ) Zasady transformacji: Nazwę encji wyrażoną w liczbie mnogiej przenosimy jako nazwę relacji. Atrybuty encji przenosimy jako nazwy kolumn (atrybuty) relacji. Unikalny identyfikator encji przenosimy jako klucz podstawowy relacji. Obligatoryjność atrybutu encji przenosimy jako ograniczenie NOT NULL atrybutu relacji. Opcjonalność atrybutu encji przenosimy jako własność NULL atrybutu relacji. 7

Transformacja związków 1:1 związek jednostronie obligatoryjny SPRZEDAŻ TOWARU # numer_sprzedaży * data_sprzedaży * wartość wycofana dotyczy ZWROT TOWARU # id_zwrotu * data o przyczyna SPRZEDAŻE ( PRIMARY KEY Numer_sprzedaży Data_sprzedaży NOT NULL Wartość NOT NULL ZWROTY ( PRIMARY KEY Id_zwrotu Data NOT NULL Przyczyna NULL FOREIGN KEY (Id_sprzedaży) NOT NULL REFERENCE Sprzedaże (Numer_sprzedaży)) Zasady transformacji: Tworzymy klucz obcy w relacji wiązanej obligatoryjnie na podstawie klucza podstawowego drugiej relacji. Na atrybuty klucza obcego nakładamy ograniczenie referencyjne. 8

Komentarz: 9

Transformacja związków 1:1 Związek dwustronnie opcjonalny A # id_a... B # id_b... Zasady transformacji: Tworzymy klucz obcy w relacji o mniejszej liczbie krotek, na podstawie klucza podstawowego drugiej relacji. Na atrybuty klucza obcego nakładamy ograniczenie referencyjne. 10

Transformacja związków 1:N PRACOWNIK # id_pracownika * imię * nazwisko zatrudniony na zajmowane przez STANOWISKO # nazwa * płaca_min o płaca_max PRACOWNICY ( Id_pracownika PRIMARY KEY Imię NOT NULL Nazwisko NOT NULL FOREIGN KEY Stanowisko NOT NULL REFERENCE Stanowiska(Nazwa) ) STANOWISKA ( Nazwa PRIMARY KEY Płaca_min NOT NULL Płaca_max NULL Zasady transformacji: Tworzymy klucz obcy w relacji po stronie "wiele" na podstawie klucza podstawowego relacji po stronie "jeden". Na atrybuty klucza obcego nakładamy ograniczenie referencyjne. Obligatoryjność związku po stronie "wiele" przenosimy jako ograniczenie NOT NULL atrybutów klucza obcego. Opcjonalność związku po stronie "wiele" przenosimy jako własność NULL atrybutów klucza obcego 11

Komentarz: 12

Transformacja związków M:N PRACOWNIK # id_pracownika * imię * nazwisko bierze udział w realizowany przez PROJEKT # nazwa_proj * data_rozpocz o data_zakoncz PRACOWNICY ( Id_pracownika PRIMARY KEY Imię NOT NULL Nazwisko NOT NULL ) PROJEKTY ( Nazwa_projektu PRIMARY KEY Data_rozpocz NOT NULL Data_zakoncz NULL ) UDZIAŁY_W_PROJEKTACH ( Id_pracownika REFERENCE pracownicy(id_pracownika), Nazwa_projektu REFERENCE Projekty(Nazwa_projektu), PRIMARY KEY (Id_pracownika, Nazwa_projektu) ) 13

Transformacja związków M:N Zasady transformacji: Związek M:N przenosimy jako nową relację Tworzymy klucze obce na podstawie kluczy podstawowych dwóch pozostałych relacji. Na atrybuty jednego i drugiego klucza obcego nakładamy dwa ograniczenia referencyjne. Wszystkie atrybuty relacji tworzą klucz podstawowy. 14

Komentarz: 15

Ćwiczenie 1 Wytwórnie filmów Chcemy pamiętać w systemie jakie filmy (tytuł, data produkcji, budżet) zostały wyprodukowane przez różne wytwórnie. Każdy film został wyreżyserowany przez jednego reżysera (nazwisko, imię, data urodzenia, telefon). W filmie zazwyczaj występuje wielu aktorów (nazwisko, imię, adres, telefon). Chcemy wiedzieć w jakiej roli dana osoba występowała w filmie oraz jaka była gaża jaką za swoją grę ona dostała. Reżyserzy bardzo często są aktorami w filmach (w tym w swoich filmach). Zdarza się również tak, że jedna osoba gra w wielu rolach w jednym filmie. Zadanie 4. Dokonaj transformacji opracowanego wcześniej modelu ER do postaci schematu relacyjnej bazy danych. 16

Rozwiązanie: 17

Rozwiązanie: 18

Ćwiczenie 2 Lecznica zwierząt Chcemy pamiętać w systemie podstawowe informacje o pacjentach lecznicy zwierząt, przy czym dla danego gatunku (np. pies) trzeba pamiętać rasę pacjenta (np. minster lander). Lecznica zatrudnia lekarzy weterynarii. Lekarze w ramach swoich obowiązków przyjmują określonych pacjentów (wizyty). Wizyty mogą mieć różny charakter, tj. w ich trakcie mogą być wykonywane badania, zabiegi i operacje. Oczywiście za wizyty lecznica pobiera określone płatności. Chcemy wiedzieć jacy lekarze jakich pacjentów przyjmowali w ramach wizyt oraz jakie badania, zabiegi lub operacje tym pacjentom były wykonywane i przez kogo. O wszystkich wymienionych tutaj elementach tej dziedziny rzeczywistości, będziemy chcieli przechowywać odpowiednie informacje w projektowanej bazie danych. Zadanie 4. Dokonaj transformacji opracowanego wcześniej modelu ER do postaci schematu relacyjnej bazy danych. 19

Rekurencyjny związek 1:N PRACOW NIK # id_prac * im ię * nazwisko... kieruje podlega PRACOWNICY ( Id_pracownika PRIMARY KEY..., id_szefa REFERENCE pracownicy(id_pracownika) ) Zasady transformacji: Zasady transformacji związków rekurencyjnych analogicznie jak w przypadku związków 1:1, 1:N oraz M:N. 20

Transformacja hierarchii encji do trzech relacji PRACOWNIK # id_prac atrybuty_wspólne PRACOWNIK KRAJOWY atr_specyf_kraj PRACOWNIK ZAGRANICZNY atr_specyf_zagr PRACOWNICY ( Id_pracownika PRIMARY KEY atrybuty_wspólne, typ_prac NOT NULL ) PRACOWNICY_KRAJ ( Id_pracownika PRIMARY KEY atr_specyf_kraj ) PRACOWNICY_ZAGR ( Id_pracownika PRIMARY KEY atr_specyf_zagr ) Zasady transformacji: Tworzymy jedną relację zawierająca atrybuty wspólne i atrybut określający typ specjalizacji Dla każdej specjalizacji tworzymy relację zawierającą jej atrybuty specyficzne i klucz podstawowy dziedziczony z generalizacji. 21

Komentarz: 22

Transformacja hierarchii encji do dwóch relacji PRACOWNIK # id_prac atrybuty_wspólne PRACOWNIK KRAJOWY atr_specyf_kraj PRACOWNIK ZAGRANICZNY atr_specyf_zagr PRACOWNICY_KRAJ ( Id_pracownika PRIMARY KEY atrybuty wspólne atr_specyf_kraj ) PRACOWNICY_ZAGR ( Id_pracownika PRIMARY KEY atrybuty wspólne atr_specyf_zagr ) Zasady transformacji: Dla każdej specjalizacji tworzymy relację zawierającą atrybuty wspólne, atrybuty specyficzne danej specjalizacji i klucz podstawowy dziedziczony z generalizacji. 23

Komentarz: 24

Transformacja hierarchii encji do jednej relacji PRACOWNIK # id_prac atrybuty_wspólne PRACOWNIK KRAJOWY atr_specyf_kraj PRACOWNIK ZAGRANICZNY atr_specyf_zagr PRACOWNICY ( Id_pracownika PRIMARY KEY atrybuty wspólne atr_specyf_kraj NULL atr_specyf_zagr NULL typ_prac NOT NULL) Zasady transformacji: Tworzymy relację zawierającą atrybuty wspólne, atrybuty specyficzne wszystkich specjalizacji i atrybut określający typ specjalizacji. Wszystkim atrybutom specyficznym poszczególnych specjalizacji nadajemy własność NULL. 25

Zadanie Przetransformuj poniższy diagram związków encji (EER) do schematu relacyjnego. Zaznacz klucze główne (podkreśleniem ciągłym) oraz klucze obce (podkreśleniem przerywanym) w schematach relacji. Zaznacz dodatkowo obowiązkowość/opcjonalność kolumn relacji.