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

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

TRANSFORMACJA MODELU ER DO MODELU RELACYJNEGO

Transformacja modelu ER do modelu relacyjnego

Transformacja modelu ER do modelu relacyjnego

Zasady transformacji modelu DOZ do projektu tabel bazy danych

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"

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

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

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

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

Model relacyjny. Wykład II

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

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

Wykład 8. SQL praca z tabelami 5

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

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

1 Wstęp do modelu relacyjnego

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

Wykład 2. Relacyjny model danych

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Modelowanie danych, projektowanie systemu informatycznego

Baza danych. Modele danych

Transformacja modelu pojęciowego. do logicznego

Autor: Joanna Karwowska

Model relacyjny. Wykład II

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

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

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

Przykłady normalizacji

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

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

WYKŁAD 1. Wprowadzenie do problematyki baz danych

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Technologia informacyjna

Podstawy języka SQL. SQL Structured Query Languagestrukturalny

Relacyjny model danych

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

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

SIECI KOMPUTEROWE I BAZY DANYCH

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

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

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

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

Przykładowa baza danych BIBLIOTEKA

WPROWADZENIE DO BAZ DANYCH

Bazy danych i usługi sieciowe

Bazy danych. Bazy danych. Zapytania SELECT. Dr inż. Paweł Kasprowski.

Bazy Danych 2008 Część 1 Egzamin Pisemny

1. Mapowanie diagramu klas na model relacyjny.

Relacyjny model danych

Modelowanie danych. Biologiczne Aplikacje Baz Danych

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Wybór EUROPEAN będzie rozpoznawał dzień przed miesiącem, natomiast US miesiąc przed dniem.

1 Projektowanie systemu informatycznego

Aspekty aktywne baz danych

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

Technologie baz danych

SIECI KOMPUTEROWE I BAZY DANYCH

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

Normalizacja relacji

Relacyjne bazy danych. Podstawy SQL

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Pierwsza postać normalna

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

BAZY DANYCH LABORATORIUM. Studia niestacjonarne I stopnia

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Normalizacja relacyjnych baz danych. Sebastian Ernst

Ćwiczenia z Zaawansowanych Systemów Baz Danych

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

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

Modelowanie związków encji. Etapy budowy systemu informatycznego przedsiębiorstwa (1/4) Etapy budowy systemu informatycznego przedsiębiorstwa (2/4)

Projektowanie baz danych

kończy wysyłanie danych do pliku tworzy strukturę tabeli wyświetla opis struktury tabeli zmiana nazwy tabeli usuwanie tabeli

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

Wykład 05 Bazy danych

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

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

Temat projektu: mpk-database

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

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

Bazy Danych i Usługi Sieciowe

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

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

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

Bazy danych. Algebra relacji

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

Tworzenie baz danych i tabel

Projektowanie bazy danych

Post-relacyjne bazy danych

Projektowanie baz danych

Relacyjne bazy danych. Podstawy SQL

Bazy danych - Materiały do laboratoriów VIII

Technologie baz danych

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

Zaawansowane Modelowanie I Analiza Systemów Informatycznych

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

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

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

Transkrypt:

TRANSFORMACJA DO SCHEMATU RELACYJNEGO pojęcia podstawowe 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. Atrybut: cecha lub własność encji, kolumna relacji lub pole rekordu. Klucz potencjalny: atrybut lub zbiór atrybutów, które mogą w sposób unikalny identyfikować krotki relacji. 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. Transformacja encji ownika o adres_ulica o adres_miasto id_pracownika PRIMARY KEY, imię NOT NULL, nazwisko NOT NULL, adres_ulica NULL, adres_miasto NULL ) 95 97 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. 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. 3. Transformacja związkó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 i ternarnych Dla każdego związku utwórz nową relację, zawierającą klucze obce zbudowane na podstawie kluczy podstawowych wiązanych relacji. 96 Transformacja związków 1:1 Związek 1:1 jednostronnie obligatoryjny SPRZEDAŻ TOWARU # numer_sprzedaży * data_sprzedaży * wartość wycofana dotyczy ZWROT TOWARU # id_zwrotu * data o przyczyna Zasady transformacji: SPRZEDAŻE ( id_sprzedaży PRIMARY KEY, data_sprzedaży NOT NULL, wartość NOT NULL ) ZWROTY ( id_zwrotu PRIMARY KEY, data_zwrotu NOT NULL, przyczyna NULL id_sprzedaży NOT NULL REFERENCES sprzedaże(id_sprzedaży) ) 98

Transformacja związków 1:1 Związek 1:1 dwustronnie opcjonalny A # id_a B # id_b Transformacja związków 1:N cd. 99 101 Transformacja związków 1:N ownika zatrudniony na zajmowane STANOWISKO # nazwa * płaca_min o płaca_max STANOWISKA ( nazwa PRIMARY KEY, płaca_min NOT NULL, płaca_max NULL ) id_pracownika PRIMARY_KEY, imię NOT NULL, nazwisko NOT NULL, stanowisko NOT NULL REFERENCES stanowiska(nazwa) ) Transformacja związków M:N ownika bierze udział w realizowany PROJEKT # nazwa_proj * data_rozpocz o data_zakoncz id_pracownika PRIMARY_KEY, imię NOT NULL, nazwisko NOT NULL ) PROJEKTY ( nazwa_proj PRIMARY KEY, data_rozpocz NOT NULL, data_zakoncz NULL ) UDZIAŁY_W_PROJ ( id_pracownika REFERENCES pracownicy(id_pracownika), nazwa_proj REFERENCES projekty(nazwa_proj), PRIMARY KEY(id_pracownika, nazwa_proj) ) 100 102

Transformacja związków M:N Transformacja związków ternarnych cd. Stopień asocjacji typu "jeden" przy jednej encji ROLA bierze udział w PROJEKT # nazwa_proj pełniona realizowany # nazwa Zasady transformacji: UDZIAŁY_W_PROJ ( id_prac NOT NULL REFERENCES pracownicy(id_prac), projekt NOT NULL REFERENCES projekty(nazwa_proj), rola REFERENCES role(nazwa), PRIMARY KEY (id_prac, nazwa_proj) ) 103 105 Transformacja związków ternarnych Stopień asocjacji typu "wiele" przy wszystkich encjach bierze udział w ROLA PROJEKT # nazwa_proj realizowany pełniona # nazwa Zasady transformacji: UDZIAŁY_W_PROJ ( id_prac NOT NULL REFERENCES pracownicy(id_prac), projekt NOT NULL REFERENCES projekty(nazwa_proj), rola NOT NULL REFERENCES role(nazwa), PRIMARY KEY (id_prac, projekt, rola) ) 104 Transformacja związków rekurencyjnych Rekurencyjny związek 1:1 jest współmałżonkiem jest współmałżonkiem, id_małż REFERENCES pracownicy(id_prac)) Rekurencyjny związek 1:N podlega kieruje, id_szefa REFERENCES pracownicy(id_prac) ) 106

Transformacja związków rekurencyjnych cd. Rekurencyjny związek M:N LEK # id_leku * nazwa_leku o uwagi jest odpowiednikiem zastępowany ODPOWIEDNIKI ( id_leku NOT NULL REFERENCES leki(id_leku), id_odp NOT NULL REFERENCES leki(id_leku), PRIMARY KEY(id_leku,id_odp) ) Zasady transformacji związków rekurencyjnych analogicznie jak w przypadku związków 1:1, 1:N oraz M:N. 107 Transformacja hierarchii encji do trzech relacji Perspektywy dla specjalizacji: PRACOWNICY_KRAJOWI (id_prac, atr_specyf_kraj) AS select id_prac, atr_specyf_kraj from PRACOWNICY p, PRACOWNICY_KRAJ pk where p.id_prac = pk.id_prac; PRACOWNICY_ZAGRANICZNI (id_prac, atr_specyf_zagr) AS select id_prac, atr_specyf_zagr from PRACOWNICY p, PRACOWNICY_ZAGR pz where p.id_prac = pz.id_prac; 109 Transformacja hierarchii encji do trzech relacji Hierarchia encji: atrybuty_wspólne KRAJOWY ZAGRANICZNY atr_specyf_kraj atr_specyf_zagr Schematy relacji: typ_prac NOT NULL ) PRACOWNICY_KRAJ ( atr_specyf_kraj ) PRACOWNICY_ZAGR ( atr_specyf_zagr ) Transformacja hierarchii encji do dwóch relacji Hierarchia encji: atrybuty_wspólne KRAJOWY ZAGRANICZNY atr_specyf_kraj atr_specyf_zagr Schematy relacji: PRACOWNICY_KRAJ ( atr_specyf_kraj ) PRACOWNICY_ZAGR ( atr_specyf_zagr ) 108 110

Transformacja hierarchii encji do dwóch relacji Perspektywa dla generalizacji: PRACOWNICY (id_prac, typ_prac) AS select id_prac, 'KRAJ' from PRACOWNICY_KRAJ union select id_prac, 'ZAGR' from PRACOWNICY_ZAGR; Transformacja hierarchii encji do jednej relacji Perspektywy dla specjalizacji: PRACOWNICY_KRAJOWI (id_prac, atr_specyf_kraj) AS select id_prac, atr_specyf_kraj from PRACOWNICY where typ_prac = 'KRAJ'; PRACOWNICY_ZAGRANICZNI (id_prac, atr_specyf_zagr) AS select id_prac, atr_specyf_zagr from PRACOWNICY where typ_prac = 'ZAGR'; 111 113 Transformacja hierarchii encji do jednej relacji Hierarchia encji: atrybuty_wspólne KRAJOWY ZAGRANICZNY atr_specyf_kraj atr_specyf_zagr Schematy relacji: atr_specyf_kraj NULL, atr_specyf_zagr NULL, typ_prac NOT NULL ) Transformacja łuków - związków wykluczających się NAPRAWA dotyczy ŚRODEK TRWAŁY dotyczy ELEMENT WYPOSAŻENIA Metoda 1: Współdzielony klucz obcy gdy importowane klucze mają tą samą dziedzinę wartości NAPRAWA ( numer_naprawy INTEGER(6) PRIMARY KEY,, rodzaj_naprawy CHAR(2) NOT NULL CHECK(rodzaj_naprawy in ('ŚT', 'EW')), id_elementu INTEGER(8) ) 112 114

Transformacja łuków - związków wykluczających się Metoda 2: Jawne klucze obce gdy importowane klucze mają różne dziedziny wartości NAPRAWA ( numer_naprawy INTEGER(6) PRIMARY KEY,, kod_środka_trw CHAR(5) REFERENCES środki_trwałe(kod_śr), id_wyposażenia INTEGER(8) REFERENCES wyposażenie(id_wyp) ) 115 Normalizacja Niewłaściwe zaprojektowanie schematów relacji może być przyczyną dublowania się danych, ich niespójności i anomalii podczas ich aktualizowania Przykłady anomalii PRACOWNICY id_prac nazwisko adres numer_działu nazwa_działu Anomalia wstawiania: 116