Transformacja modelu ER do modelu relacyjnego

Podobne dokumenty
Transformacja modelu ER do modelu relacyjnego

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

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

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

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

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

Modelowanie danych Model związków-encji

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

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

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

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

Model relacyjny. Wykład II

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

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

Wykład 2. Relacyjny model danych

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

Modelowanie danych, projektowanie systemu informatycznego

Modelowanie danych Model związków-encji

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

Autor: Joanna Karwowska

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

Transformacja modelu pojęciowego. do logicznego

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

1 Wstęp do modelu relacyjnego

Wykład 8. SQL praca z tabelami 5

Tworzenie modelu logicznego i fizycznego danych.

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

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

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

Model relacyjny bazy danych

Bazy danych. Algebra relacji

Modelowanie danych. Biologiczne Aplikacje Baz Danych

Relacyjny model danych

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

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

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

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

1 Projektowanie systemu informatycznego

SIECI KOMPUTEROWE I BAZY DANYCH

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Aspekty aktywne baz danych

Relacyjny model danych

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

Przykłady normalizacji

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

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

Model relacyjny. Wykład II

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Bazy danych. Andrzej Bobyk

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

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

Technologie baz danych

Aplikacje bazodanowe. Laboratorium 1. Dawid Poªap Aplikacje bazodanowe - laboratorium 1 Luty, 22, / 37

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

Technologie baz danych

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

Relacji między tabelami klucze obce. Schemat bazy danych, wczytanej z pliku create_tables.sql. Klucz obcy jako ograniczenie dla kolumny

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

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

Bazy danych Ćwiczenia projektowe

Wprowadzenie do baz danych

Modelowanie konceptualne model EER

WYKŁAD 1. Wprowadzenie do problematyki baz danych

Agnieszka Ptaszek Michał Chojecki

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

WPROWADZENIE DO BAZ DANYCH

Baza danych. Modele danych

1. Mapowanie diagramu klas na model relacyjny.

FUNKCJE SZBD. ZSE - Systemy baz danych 1

Bazy danych - wykład wstępny

Pierwsza postać normalna

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

Normalizacja relacyjnych baz danych. Sebastian Ernst

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

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

Przygotowanie do egzaminu. część I

Bazy danych - Materiały do laboratoriów VIII

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

MSI dr. Inż. Mariusz Trzaska. obiektowych językach programowania

Cel normalizacji. Tadeusz Pankowski

Wprowadzenie do projektowania i wykorzystania baz danych Relacje

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

2017/2018 WGGiOS AGH. LibreOffice Base

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

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

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

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

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

Tworzenie baz danych i tabel

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

Projektowanie baz danych

Projektowanie Systemów Informacyjnych

SQL DDL DML TECHNOLOGIE BAZ DANYCH. Wykład 5: Język DDL i DML. Małgorzata Krętowska

Projektowanie bazy danych

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

Wykład IV Modelowanie danych, projektowanie systemu informatycznego Modelowanie konceptualne implementacyjne Modelowanie pojęciowe na encjach

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

Wykład 05 Bazy danych

Transkrypt:

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 podstawowe (1) Schemat bazy danych zbiór schematów relacji Relacja (tabela) dwu-wymiarowa tablica kolumny atrybuty wiersze krotki, rekordy każda krotka reprezentuje wystąpienie encji BD wykład 4 (3)

Pojęcia podstawowe (2) Klucz podstawowy atrybut lub zbiór atrybutów -wybrany spośród kluczy potencjalnych Klucz obcy atrybut lub zbiór atrybutów wskazujący na klucz podstawowy innej relacji atrybut lub zbiór atrybutów w relacji B, będący jednocześnie kluczem podstawowym w relacji A należy zaznaczyć, że klucz obcy może odnosić się do klucza podstawowego samej relacji, w której został on zdefiniowany BD wykład 4 (4)

Transformacja Model ER schemat relacyjny Transformacja encji z atrybutami związków hierachii encji BD wykład 4 (5)

Reguły transformacji encji Pracownik # PESEL * adres * pensja o telefon Pracownicy ( PESEL PRIMARY KEY, adres NOT NULL, pensja NOT NULL, telefon NULL ) Encja relacja Atrybut encji atrybut relacji Typ danych atrybutu encji typ danych atrybutu relacji Identyfikator encji klucz podstawowy relacji Obowiązkowość atrybutów encji ograniczenie NOT NULL Opcjonalność atrybutów encji ograniczenie NULL Pozostałe ograniczenia integr. atrybutów encji ograniczenia integr. atrybutów relacji BD wykład 4 (6)

Reguły transformacji związków Związek binarny 1:1 klucz obcy we wskazanej tabeli Związek unarny 1:1 klucz obcy w tej samej tabeli Związek binarny 1:M klucz obcy w tabeli po stronie "wiele" Związek binarny M:N tabela Związek unarny M:N tabela BD wykład 4 (7)

Związek binarny 1:1 (1) Pracownik posiada jest własnością Samochód # IdPracownika * Nazwisko * Etat * Pensja # NrRejestracyjny * Marka * Model Pracownicy Samochody IdPracownika PRIMARY KEY Nazwisko NOT NULL Etat NOT NULL Pensja NOT NULL NrRejestracyjny PRIMARY KEY Marka NOT NULL Model NOT NULL IdPracownika NOT NULL FOREIGN KEY IdPracownika REFERENCES Pracownicy(IdPracownika) BD wykład 4 (8)

Związek binarny 1:1 (2) Pracownik # IdPracownika * Nazwisko * Etat * Pensja wykorzystuje wykorzystywany przez Komputer # NrInwentarzowy * Biuro Pracownicy Komputery IdPracownika PRIMARY KEY Nazwisko NOT NULL Etat NOT NULL Pensja NOT NULL NrInwentarzowy FOREIGN KEY NrInwentarzowy PRIMARY KEY Biuro NOT NULL IdPracownika FOREIGN KEY IdPracownika NULL REFERENCES Pracownicy(IdPracownika) NrInwentarzowy NULL REFERENCES Komputery(NrInwentarzowy) BD wykład 4 (9)

Związek binarny 1:1 (3) 1. Pracownicy IdPracownika PRIMARY KEY... NrInwentarzowy FOREIGN KEY Komputery NrInwentarzowy PRIMARY KEY Biuro NOT NULL IdPracownika FOREIGN KEY 2. Pracownicy IdPracownika PRIMARY KEY... Komputery NrInwentarzowy PRIMARY KEY Biuro NOT NULL IdPracownika FOREIGN KEY 3. Pracownicy IdPracownika PRIMARY KEY... NrInwentarzowy FOREIGN KEY Komputery NrInwentarzowy PRIMARY KEY Biuro NOT NULL BD wykład 4 (10)

Związek 1:M (1) Klucz obcy dodawany do relacji po stronie "wiele" Ograniczenia referencyjne definiowane dla klucza obcego Obowiązkowość związku po stronie "wiele" ograniczenie NOT NULL definiowane na kluczu obcym Opcjonalność związku po stronie "wiele" ograniczenie NULL definiowaną na kluczu obcym relacji Opcjonalność lub obowiązkowość związku po stronie "jeden" nie jest odwzorowywana w modelu relacyjnym BD wykład 4 (11)

Związek 1:M (2) Pracownik pracuje w zatrudnia Dział # IdPracownika * Nazwisko * Etat * Pensja # IdDziału * Nazwa * Siedziba Działy Pracownicy IdPracownika PRIMARY KEY Nazwisko NOT NULL Etat NOT NULL Pensja NOT NULL IdDziału NOT NULL FOREIGN KEY IdDziału PRIMARY KEY Nazwa NOT NULL Siedziba NOT NULL IdDziału NOT NULL REFERENCES Działy(IdDziału) BD wykład 4 (12)

Związek M:N (1) Reprezentowany poprzez dodatkową relację Nazwa relacji jest złączeniem nazw relacji powstałych z encji Relacja zawiera klucze obce wskazujące na klucze podstawowe relacji powstałych z powiązanych encji Ograniczenia referencyjne definiowane dla kluczy obcych Klucze obce tworzą klucz podstawowy relacji BD wykład 4 (13)

Pracownik # IdPracownika * Nazwisko * Etat * Pensja realizuje Związek M:N (2) realizowany przez Projekt # NrProjektu * Nazwa * Sponsor Pracownicy # IdPracownika * Nazwisko * Etat * Pensja Projekty # NrProjektu * Nazwa * Sponsor Pracownicy_Projekty # IdPracownika REFERENCES Pracownicy(IdPracownika) # NrProjektu REFERENCES Projekty(NrProjektu) PRIMARY KEY (IdPracownika, NrProjektu) BD wykład 4 (14)

Związek unarny (1) IdKierownika NULL REFERENCES Pracownicy(IdPracownika) kieruje Pracownik # IdPracownika * Nazwisko * Etat * Pensja podlega Pracownicy IdPracownika PRIMARY KEY Nazwisko NOT NULL Etat NOT NULL Pensja NOT NULL IdKierownika NULL FOREIGN KEY Osoby mąż Osoba # IdOsoby * Nazwisko żona IdOsoby PRIMARY KEY Nazwisko NOT NULL IdWspółmałżonka NULL FOREIGN KEY IdWspółmałżonka NULL REFERENCES Osoba(IdOsoby) BD wykład 4 (15)

Związek unarny (2) zastępuje Lek # IdLeku * Nazwa jest zastępowany Leki IdLeku PRIMARY KEY Nazwa NOT NULL Zastępniki IdLeku1 IdLeku2 IdLeku1 NOT NULL REFERENCES Leki(IdLeku) IdLeku2 NOT NULL REFERENCES Leki(IdLeku) PRIMARY KEY (IdLeku1, IdLeku2) BD wykład 4 (16)

Związki ternarne Kierowca # IdKierowcy... Mandat # Data wystawienia * Kwota Policjant # NrSłużbowy... Wykroczenie Mandaty IdKierowcy NrSłużbowy NrWykroczenia Kwota NOT NULL DataWystawienia IdKierowcy REFERENCES Kierowcy(IdKierowcy) NrSłużbowy REFERENCES Policjanci(NrSłużbowy) NrWykroczenia REFERENCE Wykroczenia(NrWykroczenia) PRIMARY KEY (DataWystawienia, IdKierowcy, NrSłużbowy, NrWykroczenia) # NrWykroczenia... BD wykład 4 (17)

Hierarchia encji Schemat 1: jedna wspólna tabela Schemat 2: dla każdej podencji tworzona tabela zawierająca atrybuty wspólne i specyficzne Schemat 3: dla atrybutów wspólnych tworzona tabela wspólna dla każdej podencji tworzona osobna tabela z kluczem i atrybutami specyficznymi tabela wspólna i tabele powstałe z podencji powiązane goraniczeniami referencyjnymi BD wykład 4 (18)

Transformacja hierarchii generalizacji - schemat 1 atrybuty wspólne atrybuty specyficzne atrybut dodatkowy określający rodzaj klienta zawężenie dziedziny do {'F', 'P'} BD wykład 4 (19)

Transformacja hierarchii generalizacji - schemat 2 atrybuty wspólne atrybuty specyficzne BD wykład 4 (20)

Transformacja hierarchii generalizacji - schemat 3 klucz podstawowy atrybuty specyficzne atrybuty wspólne atrybuty specyficzne klucz podstawowy klucze obce BD wykład 4 (21)

Transformacja związków wyłącznych - schemat 1 Rachunek bankowy # Numer * Rodzaj * Saldo * Data Osoba fizyczna # NIP * Nazwisko Osoba prawna # REGON * Nazwa Rachunki_Bankowe Numer PRIMARY KEY Rodzaj NOT NULL Saldo NOT NULL Data NOT NULL NIP NULL REFERENCES OsobyFizyczne(NIP) REGON NULL REFERENCES OsobyPrawne(REGON) BD wykład 4 (22)

Transformacja związków wyłącznych - schemat 2 Rachunek bankowy # Numer * Rodzaj * Saldo * Data Osoba fizyczna # NIP * Nazwisko Osoba prawna # REGON * Nazwa Rachunki bankowe Numer PRIMARY KEY Rodzaj NOT NULL Saldo NOT NULL Data NOT NULL Właściciel NOT NULL RodzajWłaściciela NOT NULL zawężenie dziedziny do {'F', 'P'} BD wykład 4 (23)