Modelowanie model związków encji

Slides:



Advertisements
Podobne prezentacje
Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Advertisements

Modelowanie logiczne (dla relacyjnych SZBD)
S – student, P – przedmiot, W – wykładowca
Relacyjny model danych
Relacyjny model danych
Bazy danych 7. Postaci normalne P. F. Góra semestr letni 2004/05
Implementacja asocjacji
Elementarne struktury danych Piotr Prokopowicz
WPROWADZENIE DO BAZ DANYCH
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Projektowanie Aplikacji Komputerowych
Bazy Danych Wprowadzenie
SQL – Structured Query Language (2)
Modelowanie model związków encji
POWTÓRZENIE Normalizacja: Pojęcia: redundancja danych;
Normalizacja : Głównym celem projektowania bazy przeznaczonej dla systemu relacyjnego jest właściwa reprezentacja danych, związków i więzów. W identyfikowaniu.
POWTÓRZENIE Metodologia : Pojęcia:
Projektowanie relacyjnych baz danych
Projektowanie i programowanie obiektowe II - Wykład IV
Projektowanie i programowanie obiektowe II - Wykład II
Modele baz danych - spojrzenie na poziom fizyczny
Projektowanie struktury logicznej (schematu) relacyjnych baz danych
Wykład 4 Analiza i projektowanie obiektowe
Wykład 3 Analiza i projektowanie strukturalne
Teoria relacyjnych baz danych
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Zależności funkcyjne.
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
SQL – Structured Query Language (3)
Wykład 4 Prowadzący: dr Paweł Drozda. Trzy typy instrukcji Wstawianie – INSERT INTO Usuwanie – DELETE FROM Aktualizacje - UPDATE dr Paweł Drozda.
Bazy danych.
Systemy baz danych Wykład 1
Budowanie tabel i relacji
Andrzej Macioł Bazy danych – model relacyjny – cz. 1 Andrzej Macioł
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Wybrane zagadnienia relacyjnych baz danych
Relacyjne bazy danych Tworzenie bazy danych Marzena Nowakowska Katedra Informatyki Stosowanej, WZiMK, PŚk p C dostęp do materiałów:
Model relacyjny.
Bazy danych 1 Literatura: Paul Benon-Davies – Systemy baz danych
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Bazy danych - podstawowe pojęcia
Normalizacja.
Modelowanie obiektowe Diagramy klas
Projektowanie relacyjnych baz danych – postacie normalne
Projektowanie bazy danych
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Wykład I Podstawy relacyjnych baz danych Powtórzenie wiadomości
Temat 3: Integralność danych. Integralność danych, określana również mianem spójności danych, jest to funkcja SZBD, która gwarantuje, że dane nie zostaną.
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
Slajd 1© J.Rumiński Jacek Rumiński  Bazy danych Kontakt: Katedra Inżynierii Biomedycznej, pk. 106, tel.: , fax: ,
PROJEKTOWANIE KONCEPTUALNE BAZY DANYCH
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Projektowanie relacyjnych baz danych – diagramy związków encji
Projektowanie bazy danych z użyciem diagramów UML Obiektowe projektowanie relacyjnej bazy danych Paweł Jarecki.
Relacja (ang.relation) Po podzieleniu danych na tabele i zdefiniowaniu pól kluczy podstawowych trzeba wprowadzić do systemu bazy danych informacje na temat.
Projektowanie bazy danych biblioteki szkolnej
Projektowanie postaci formularza:
Modelowanie model związków encji
Bazy Danych Wprowadzenie
1 W wykładzie 2 zaprezentowana jest podstawowa metoda tworzenia schematu relacyjnej bazy danych. Jest ona dwustopniowa. W pierwszej fazie projektujemy.
Temat: Tworzenie bazy danych
Transformacja modelu EER do modelu relacyjnego
Inżynieria systemów informacyjnych
Nieprawidłowo zaprojektowana tabela
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Modelowanie model związków encji Wykład 2 Prowadzący: dr Paweł Drozda

Modelowanie Odwzorowanie obiektów rzeczywistych w systemie informatycznym Dwa typy modeli: Konceptualny Model związków encji Model UML Implementacyjny Relacyjny Obiektowy Obiektowo-relacyjny dr Paweł Drozda

Etapy projektowania systemu Analiza – jakie wymagania (dane, funkcjonalność) powstaje model konceptualny Projektowanie – zmiana modelu konceptualnego w model implementacyjny Implementacja Wdrożenie Utrzymanie dr Paweł Drozda

Etapy tworzenia bazy danych Zapis za pomocą modelu związków encji Model relacyjny Model w głowie Baza danych dr Paweł Drozda

Model związków encji Część rzeczywistości zapisana za pomocą encji (entities) Atrybuty – właściwości encji Powiązania w strukturze obiektów – związki pomiędzy encjami dr Paweł Drozda

Model związków encji – przykład – notacja Chena nrindeksu nazwisko nazwisko pesel zarobki Student Pracownik data Prowadzenie Egzamin Przedmiot ocena nazwa id dr Paweł Drozda

Przykład – notacja Barkera PRZEDMIOT STUDENT PRACOWNIK zdaje Id Nazwa NrIndeksu Nazwisko Pesel Nazwisko Zarobki prowadzi dr Paweł Drozda

Encja Odpowiednik klasy w modelu obiektowym Zbiór obiektów o tych samych cechach (atrybuty, własności, związki) Konkretny obiekt = wystąpienie encji dr Paweł Drozda

Encje – przykład Chen rasa nazwisko imię pesel płeć Pies Osoba Przykład wystąpienia Osoba: 76040603149, Kucka, K Osoba: 79072203350, Drozda, M Pies: Kundel, Bury Pies: Jamnik, Długi dr Paweł Drozda

Przykład Barker PIES OSOBA Rasa Pesel Imię Nazwisko Płeć Pies Osoba Rasa = Kundel Imię = Bury Osoba Pesel = 77021211111 Nazwisko = Kowalski Płeć = Kobieta dr Paweł Drozda

Atrybuty encji Identyfikatory – jednoznacznie opisują wystąpienie encji Naturalne – PESEL, NrDowodu, itd. Sztuczne – nrIdentyfikacyjny, idpracownika Deskryptory – pozostałe atrybuty opisujące encję Deklaracja atrybutu Nazwa Dziedzina (typ danych i max rozmiar, zbiór bądź zakres dozwolonych wartości) Opcja unikalności Wartości puste (dozwolone lub nie) dr Paweł Drozda

Rodzaje atrybutów - przykład tytuł nazwisko rok pesel zarobki Film Osoba adres gatunek telefon długość płeć dr Paweł Drozda

Przykład Barker Film OSOBA # Tytuł # Pesel # Rok * Nazwisko (#) Gatunek * Długość # Pesel * Nazwisko * Płeć * Zarobki  Adres  Telefon dr Paweł Drozda

Związki encji Opisują połączenia pomiędzy encjami Powiązane dwie lub więcej encji Przykład: uczestniczy STUDENT WYKŁAD Przewidziany dla Pytania: W ilu wykładach uczestniczy student, dla ilu studentów przewidziany jest wykład, czy wykład musi być przewidziany dla studenta, czy student musi uczestniczyć w wykładzie dr Paweł Drozda

Cechy związku Liczebność (unarny - rekursywny, binarny, tetrarny, n- arny) Istnienie (opcjonalny, obowiązkowy) Karynalność 1:1 – jeden do jednego 1:M – jeden do wielu N:M – wiele do wielu dr Paweł Drozda

Związek 1:1 - Przykład Nauczyciel Klasa Wychowawca nazwisko adres nazwa sala 1b 2c 6a Wychowawca Jan Mucha Marta Ącka Stefan Kula wychowuje KLASA NAUCZYCIEL ma wychowawcę dr Paweł Drozda

Związek 1:m - Przykład Prowadzenie Wykładowca Przedmiot Jan Mucha Marta Ącka Stefan Kula Bazy danych Analiza matematyczna Logika Prowadzenie prowadzi PRZEDMIOT WYKŁADOWCA Jest prowadzony dr Paweł Drozda

Związek m:n - Przykład Egzamin Student Przedmiot Bazy danych Analiza matematyczna Logika Egzamin Jan Mucha Marta Ącka Stefan Kula zdaje PRZEDMIOT STUDENT Jest zdawany dr Paweł Drozda

Związki wieloargumentowe (1) Możliwość definicji związku wieloargumentowego Co najmniej 3 encje są związane Mandat Kierowca Policjant Wykroczenie dr Paweł Drozda

Związki wieloargumentowe (2) Sala Pielęgniarka Operacja Lekarz Pacjent dr Paweł Drozda

Związki wieloargumentowe – notacja Berkera Gdy związek wieloargumentowy – zamienia się w encję KIEROWCA Mandat POLICJANT WYKROCZENIE dr Paweł Drozda

Rozszerzenie – poprzedni przykład Ze strony ważniak dr Paweł Drozda

Związek rekursywny Podwójne wystąpienie encji w związku Zarówno dla związków dwuargumentowych jak i wieloargumentowych rodzic Osoba dr Paweł Drozda

Typy związków - podsumowanie Sędzia Mecz Stadion Gospodarze Goście Drużyna dr Paweł Drozda

Atrybuty związków Gdy związek posiada specyficzne cechy Można stworzyć encję dla związku z atrybutami odnoszącymi się do związku dr Paweł Drozda

Atrybuty związku - przykład Sędzia liczba widzów Mecz typ meczu Stadion data Drużyna dr Paweł Drozda

Przykład – atrybuty związku Występuje Gaża FILM AKTOR Gdy związek posiada atrybuty – konieczność wprowadzenia dodatkowej encji Pojawiają się związki typu wiele Od strony związku – obowiązkowe dr Paweł Drozda

Związki encji => projekty relacyjne Encja (nie słaba) przekształcana do relacji z tą samą nazwą oraz tym samym zbiorem atrybutów nazwisko PESEL Osoba PESEL nazwisko telefon płeć Osoba telefon płeć dr Paweł Drozda

Reguły przekształcania Encja  Relacja Atrybut encji  Atrybut relacji Typ danych atrybutu encji  Typ danych atrybutu relacji Identyfikator  klucz podstawowy Obowiązkowość atrybutu  NOT NULL Opcjonalność  NULL Pozostałe ograniczenia atrybutów encji  ograniczenia integralnościowe relacji dr Paweł Drozda

Przykład dr Paweł Drozda

Przekształcanie związków 1:1 – klucz obcy w wybranej tabeli 1:M – klucz obcy w tabeli po stronie wiele N:M – nowa tabela dr Paweł Drozda

Związek binarny 1:1 Dodany klucz obcy po stronie związku obowiązkowego KLASA NAUCZYCIEL Wychowuje Id Nazwa Pesel Nazwisko Zarobki Dodany klucz obcy po stronie związku obowiązkowego dr Paweł Drozda

Związek binarny 1:1 Dodany klucz obcy po stronie mniejszej tabeli KOMPUTER PRACOWNIK Id IP Pesel Nazwisko Zarobki Uzywa Dodany klucz obcy po stronie mniejszej tabeli dr Paweł Drozda

Związek N:M encji do relacji Związki przyjmują postać relacji Klucze encji uczestniczących w związku jako atrybuty relacji Gdy związek ma własny klucz – dołączany do atrybutów relacji dr Paweł Drozda

Przykład Egzamin Student Przedmiot Egzamin idprzedmiotu nrindeksu dr Paweł Drozda

Normalizacja baz danych

Po co normalizować? (1) Student nrindeksu nazwisko adres przedmiot ocena 127000 Maliniak Świerkowa 6 Analiza 2 Algebra 3 Bazy danych W-F 5 123123 Kowal Akacjowa 1 4 666555 Nowak Różana 4/78 PTO Sieci dr Paweł Drozda

Po co normalizować? (2) nrindeksu, przedmiot – pole unikalne Problemy (anomalie): Redundancja Przy wprowadzaniu danych Przy usuwaniu danych Przy aktualizacji Rozwiązanie – rozkład relacji na relacje Student oraz Egzamin dr Paweł Drozda

Po co normalizować? (3) Rozwiązanie: Egzamin nrindeksu przedmiot ocena 127000 Analiza 2 Algebra 3 Bazy danych W-F 5 123123 4 666555 PTO Sieci Student nrindeksu nazwisko adres 127000 Maliniak Świerkowa 6 123123 Kowal Akacjowa 1 666555 Nowak Różana 4/78 dr Paweł Drozda

Po co normalizować? (4) adres i nazwisko – tylko w jednej krotce (rozwiązanie redeundancji) przy wstawianiu nowego studenta – niekoniecznie przedmiot i ocena (rozwiązanie problemu wstawiania) usunięcie egzaminu nie usuwa studenta (rozwiązanie problemu usuwania) aktualizacja adresu, nazwiska – tylko raz (rozwiązanie problemu aktualizacji) dr Paweł Drozda

Zależności funkcyjne (1) Definicja Jeśli dwie krotki relacji R są zgodne dla atrybutów A1,…,An to muszą być zgodne w pewnym atrybucie B Zapis A1,…,An B Gdy: A1,…,An B1 … A1,…,An Bm, to zapisujemy A1,…,An B1,…,Bm dr Paweł Drozda

Zależności funkcyjne – przykład (1) Student nrindeksu nazwisko adres przedmiot ocena 127000 Maliniak Świerkowa 6 Analiza 2 Algebra 3 Bazy danych W-F 5 123123 Kowal Akacjowa 1 4 666555 Nowak Różana 4/78 PTO Sieci dr Paweł Drozda

Zależności funkcyjne – przykład (2) nrindeksu  nazwisko nrindeksu  adres ponieważ: 127000  Maliniak, Świerkowa 6 123123  Kowal, Akacjowa 1 666555  Nowak, Różana 4/78 dr Paweł Drozda

Klucze Nadklucz – podzbiór atrybutów w relacji od którego wszystkie pozostałe zależą funkcyjnie Zbiór atrybutów (A1,…,An) tworzy klucz relacji jeżeli: Pozostałe atrybuty są funkcyjnie zależne od (A1,…,An) Nie istnieje podzbiór zbioru {A1,…,An}, od którego pozostałe atrybuty są funkcyjnie zależne (klucz musi być minimalny) dr Paweł Drozda

Klucze – przykład (1) Zaliczenie nrindeksu przedmiot Data ocena 12345 Analiza 2008-02-21 3,5 Algebra PTO 2008-02-01 5 Bazy Danych 54321 2008-02-08 2008-02-05 3 66666 2 2008-02-11 dr Paweł Drozda

Klucze – przykład (2) Klucz – (nrindeksu, przedmiot) Pozostałe dwa pola zależne funkcyjnie od nrindeksu i przedmiot nrindeksu, przedmiot  data, ocena (przy założeniu że dany student może mieć jedną ocenę z zaliczenia) dr Paweł Drozda

Normalizacja Dekompozycja relacji, aż do osiągnięcia pożądanych cech schematu – różnych dla każdej postaci normalnej Własności normalizacji: zachowania atrybutów zachowania informacji zachowania zależności dr Paweł Drozda

Postać normalna Boyce’a - Codda Definicja – relacja jest w postaci normalnej Boyce’a – Codda wtw gdy dla każdej zależności nietrywialnej A1,…,An  B zbiór {A1,…,An} jest nadkluczem tej relacji dr Paweł Drozda

BCNF – przykład (1) Relacja: adresmiasta(kod,miasto,ulicanr) Zależności funkcyjne kod  miasto, miasto,ulica  kod Klucz (miasto, ulica) Relacja nie jest w BCNF ponieważ pierwsza zależność jest niezgodna z definicją dr Paweł Drozda

BCNF – przykład (2) Przedmioty w BCNF przedmiot pesel Analiza 78071103350 Algebra Bazy Danych 68121103312 Wykładowcy w BCNF pesel Nazwisko 78071103350 Kowal 68121103312 Nowak dr Paweł Drozda

BCNF - dekompozycja Odnalezienie nietrywialnej zależności funkcyjnej: A1A2...An B1B2...Bn, która narusza BCNF – tzn. A1A2...An nie jest nadkluczem Dodanie do prawej strony wszystkich atrybutów zależnych funkcyjnie od A1A2...An – w ten sposób powstaje nowa relacja Druga relacja będzie się składała z atrybutów A1A2...An oraz z pozostałych (poza B1B2...Bn) atrybutów relacji dr Paweł Drozda

BCNF – dekompozycja - przykład Zaliczenie nrindeksu przedmiot Nazwisko ocena Nrindeksu, przedmiot  ocena nrindeksu  nazwisko Student w BCNF nrindeksu Nazwisko Zaliczenie BCNF nrindeksu przedmiot ocena dr Paweł Drozda

Zależności wielowartościowe (1) Oznaczenie: A  B – dla każdego zbioru argumentów A istnieje wiele różnych argumentów z B np. dla relacji osoba: Pesel  kat.prawajazdy Jeśli w relacji są co najmniej dwie zależności wielowartościowe - redundancja dr Paweł Drozda

Zależności wielowartościowe (2) Loty Lot Dzień Typsamolotu 100 Poniedziałek 111 Wtorek 222 na jednej trasie – dwa typy samolotów Modyfikacja – dodatkowy dzień (czwartek) dodatkowy typ samolotów (333) dr Paweł Drozda

Zależności wielowartościowe (3) Doszło 5 krotek. Rozwiązanie: Dekompozycja Loty Lot Dzień Typsamolotu 100 Poniedziałek 111 Wtorek Czwartek 222 333 Loty 1 Lot Dzień 100 Poniedziałek Wtorek Czwartek Loty 2 Lot Typsamolotu 100 111 222 333 dr Paweł Drozda

Zależności wielowartościowe (4) Konsekwencja 1NF – nie dopuszcza aby krotki zawierały atrybuty wielowartościowe Zależność trywialna XY jest trywialna, gdy: Y jest podzbiorem X lub X suma Y =R dr Paweł Drozda

Czwarta postać normalna Definicja: Relacja jest w 4NF wtw gdy: relacja jest w 3NF i każda zależność A1,…,An B1,…,Bm jest trywialna lub {A1,…,An} jest nadkluczem dr Paweł Drozda

Dekompozycja na relacje w 4NF Relacja R dekomponuje się na relacje R1 i R2 bez utraty informacji, gdy: R1 iloczyn R2  (R1-R2) lub R1 iloczyn R2  (R2-R1) dr Paweł Drozda