3. Modelowanie baz danych (cd)

Slides:



Advertisements
Podobne prezentacje
2.Relacyjny model baz danych
Advertisements

Bazy danych Wiadomości wstępne P. F. Góra semestr letni 2007/08
2b.Relacyjny model baz danych
Bazy danych Wiadomości wstępne P. F. Góra semestr letni 2006/07
KLUB MIŁOŚNIKÓW HARREGO POTTERA
Bazy danych 7. Postaci normalne P. F. Góra semestr letni 2004/05
2. Modelowanie baz danych
Bazy danych 1.Wiadomo ś ci wst ę pne P. F. Góra semestr letni 2004/05.
Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.
4. Relacyjny model baz danych
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Bazy danych 3. Zależności funkcyjne Postaci normalne P. F. Góra
Jak efektywnie współpracować z rodzicami
Przeprowadziłam wywiad z moim wujkiem – Januszem Twarogiem. Rozmawiałam z nim na temat jego pracy w kopalni siarki w Machowie.
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
Prąd elektryczny Opór elektryczny.
Walk ę matematyczn ą prowadzi ł a z nami pani mgr El ż bieta Maciejewska.
Pytanie to coraz cz ęś ciej nasuwa si ę przeci ę tnemu cz ł owiekowi chc ą cemu stworzy ć now ą sie ć w domu. Pytanie to coraz cz ęś ciej nasuwa si.
Gumowy Surowiec.
CREATIVE BRIEF. PYTANIA KIM? KIM? CZYM? CZYM?CO?
Edukacja informatyczna w szkole
Budowanie tabel i relacji
Klasa 3F mia ł a przyjemno ść uczestniczy ć w zaj ę ciach prowadzonych przez Pani ą Magd ę Ko ł b ę, zorganizowanych przez.
Opracowanie: mgr Tomasz Durawa
Ul. Kuźnicza Wrocław
MODU Ł Klasa III Kszta ł cenie ponadgimnazjalne.
Mateusz Siuda klasa IVa
MOCNE I SŁABE STRONY NARZĘDZI PLANISTYCZNYCH
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Bezpieczny Internet.
Jak można nauczyć korzystania z prawdopodobieństwa.
 Prezentacja dla uczniów klas 1 realizuj ą cych zaj ę cia artystyczne wg programu „Kraina muzyki”.  Zeszyt ć wicze ń „ Ś wiat d ź wi ę ków”: - Modu.
Przedszkola.
Pytania warte uwagi:. Powszechnie uwa ż a si ę, ż e jeden nie ma jakiej ś wielkiej wagi, jednak sugeruj ą c si ę znanym przys ł owiem - grosz do grosza.
PRZEWODNIK TURYSTYCZNY ULUBIONE MIEJSCA ANI SHIRLEY
Podręczniki dla klas I – III Szkoła Podstawowa
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Proces doboru próby. Badana populacja – (zbiorowość generalna, populacja generalna) ogół rzeczywistych jednostek, o których chcemy uzyskać informacje.
Równowaga chemiczna - odwracalność reakcji chemicznych
Zajęcia 1-3 Układ okresowy pierwiastków. Co to i po co? Pojęcie masy atomowej, masy cząsteczkowej, masy molowej Proste obliczenia stechiometryczne. Wydajność.
Teoria gry organizacyjnej Każdy człowiek wciąż jest uczestnikiem wielu różnych gier. Teoria gier zajmuje się wyborami podejmowanymi przez ludzi w warunkach.
Copyright (c) PortalMatematyczny.pl. Strona Główna Co to jest hazard ? Gry hazardowe Legenda: Slajd końcowy Strona G ł ówna Przejdź do strony głównej.
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Benchmarking – narzędzie efektywnej kontroli zarządczej.
Opis karty według metody wielowskaźnikowej-podwójnego sprawdzenia.
Umowy Partnerskie w projektach zbiór najważniejszych składników Uwaga! Poniżej znajdują się jedynie praktyczne wskazówki dotyczące tworzenia umów. Dokładne.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
Sposób oraz zakres gromadzonych informacji regulują następujące przepisy prawne: 1.ustawa z dnia 19 lutego 2004 r. o systemie informacji oświatowej (Dz.
Finansowanie wybranych działań w parkach narodowych przy udziale środków funduszu leśnego - zakres finansowy Warszawa, 06 kwietnia 2016r.
Wyrażenia Algebraiczne Bibliografia Znak 1Znak 2 Znak 3 Znak 4 Znak 5 Znak 6 Znak 7 Znak 8 Znak 9 Znak 10 Znak 11.
Przemiany energii w ruchu harmonicznym. Rezonans mechaniczny Wyk. Agata Niezgoda Projekt współfinansowany przez Unię Europejską w ramach Europejskiego.
Mam prawo do ochrony swoich danych osobowych Twoje dane – Twoja sprawa. Skuteczna ochrona danych osobowych. Inicjatywa edukacyjna skierowana do nauczycieli.
31 maja 2016r. 1 Regionalne badanie nastrojów społecznych wokół UEFA EURO 2012™ Prezentacja wyników badania z mieszkańcami Gdańska, Poznania,
 Czasem pracy jest czas, w którym pracownik pozostaje w dyspozycji pracodawcy w zakładzie pracy lub w innym miejscu wyznaczonym do wykonywania pracy.
Czyli Jędrki, Emki i Zuźki. Każdy człowiek ma w sobie wielkie możliwości, musi je tylko odkryć !
WSPÓŁRZĘDNE GEOGRAFICZNE.  Aby określić położenie punktu na globusie stworzono siatkę geograficzną, która składa się z południków i równoleżników. Południk.
… przemy ś lenia pedagogiczne. „Najważniejszym okresem w życiu nie są lata studiowania na wyższej uczelni, ale te najwcześniejsze, czyli okres od narodzenia.
ENERGIA to podstawowa wielkość fizyczna, opisująca zdolność danego ciała do wykonania jakiejś pracy, ruchu.fizyczna Energię w równaniach fizycznych zapisuje.
Sprawdzian 2016r. Informacje dla uczniów i rodziców.
Temat: Tworzenie bazy danych
Organizacja, przepisy i procedury Na przykładzie Śląskiego OW NFZ Dr n. med. Z Klosa.
1 Organizacje a kontrakt psychologiczny We współczesnym świecie człowiek otoczony jest szeregiem kontraktowych zobowiązań. To pewien rodzaj powiązań, zależności,
RAPORT Z BADAŃ opartych na analizie wyników testów kompetencyjnych przeprowadzonych wśród uczestników szkoleń w związku z realizacją.
KOSZTY W UJĘCIU ZARZĄDCZYM. POJĘCIE KOSZTU Koszt stanowi wyrażone w pieniądzu celowe zużycie majątku trwałego i obrotowego, usług obcych, nakładów pracy.
Budżet rodzinny Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
NAJCZĘSTSZYCH CHORÓB UKŁADU KRĄŻENA 5. Nadciśnienie tętnicze.
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
SYSTEM KWALIFIKACJI, AWANSÓW I SPADKÓW
Budowa, typologia, funkcjonalność
Zapis prezentacji:

3. Modelowanie baz danych (cd) Bazy danych 3. Modelowanie baz danych (cd) P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2004/05

Diagramy związków encji (E/R) tytuł rok nazwisko adres Gwiazdy-w Filmy Gwiazdy Posiada długość TypTaśmy nazwa Studia adres Bazy danych - wykład 3

Diagramy E/R dopuszczają związki wieloargumentowe Kontrakty Filmy Gwiazdy Studia Bazy danych - wykład 3

W diagramach E/R związki mogą mieć swoje atrybuty Wynagrodzenie tytuł rok nazwisko adres Kontrakty Filmy Gwiazdy długość TypTaśmy Studia nazwa adres Bazy danych - wykład 3

Czteroargumentowy związek z atrybutami Wynagrodzenie tytuł rok nazwisko adres Kontrakty Filmy Gwiazdy długość TypTaśmy Studia Studio producenta Studio gwiazdy nazwa adres Bazy danych - wykład 3

Atrybuty związków zastępujemy dodatkowymi zbiorami encji Wynagrodzenie Gaże tytuł rok nazwisko adres Kombinacja Filmu i Gwiazdy wyznacza jednoznaczną Gażę Kontrakty Filmy Gwiazdy długość TypTaśmy Gwiazda wyznacza jednoznaczne Studio gwiazdy Film wyznacza jednoznaczne Studio producenta Studia nazwa adres Bazy danych - wykład 3

Związki wieloargumentowe można zastąpić dodatkowymi zbiorami encji i związkami dwuargumentowymi Zbiór encji Kontrakty nie ma atrybutów, ma same związki Gwiazdy Filmy Film-w Gwiazda-czego Jaka-gaża Kontrakty Studio-prod. Studio-gwiazdy Studia Gaże Może zbiór encji Gaże wcale nie jest potrzebny? Wynagrodzenie Bazy danych - wykład 3

Gwiazdy Filmy Kontrakty Studia Zbiór encji Kontrakty ma jeden atrybut i wchodzi w cztery związki dwuargumentowe Gwiazdy Filmy Film-w Gwiazda-czego Kontrakty Wynagrodzenie Studio-gwiazdy Studio-prod. Studia Zbiór encji powstały z rozbicia związku wieloargumentowego na relacje binarne nazywa się zbiorem łączącym. Bazy danych - wykład 3

Podklasy i dziedziczenie Jeśli mam zdefiniowaną klasę, mogę zdefiniować podklasę, która dziedziczy wszystkie atrybuty i związki nadklasy, ale może mieć swoje własne atrybuty i wchodzić w związki, w które nadklasa nie wchodzi. Bazy danych - wykład 3

Obiekt klasy Kreskówka ma określony atrybut tytuł. Zdefiniowanie podklasy Kreskówka zmusza nas do zmiany definicji klasy Gwiazda! interface Filmy { attribute string tytuł; attribute integer rok; attribute integer długość; attribute enum Taśma {kolor, czarno-biała} TypTaśmy; relationship Set<Gwiazda> gwiazdy inverse Gwiazda::występujeW; relationship Studio należyDo inverse Studio::posiada; }; interface Kreskówka: Filmy { relationship Set<Gwiazdy> głosy inverse Gwiazdy::podkłada; }; Obiekt klasy Kreskówka ma określony atrybut tytuł. Obiekt klasy Filmy nie wchodzi w związek głosy. Bazy danych - wykład 3

Dziedziczenie wielokrotne interface Kryminał: Filmy { attribute string broń; }; Kto wrobił Królika Rogera interface Kreskówka-Kryminał: Kreskówka, Kryminał {}; Podklasa Kreskówka-Kryminał nie wprowadza żadnych nowych atrybutów bądź związków, ale obiekt tej klasy ma wszystkie atrybuty klasy Filmy, wchodzi we wszystkie związki zdefiniowane w tej klasie, a ponadto ma atrybut broń oraz wchodzi w związek głosy. Chociaż mogłaby… Bazy danych - wykład 3

Problemy z dziedziczeniem wielokrotnym interface Romans: Filmy { attribute enum JakiKoniec {szczęśliwy, smutny} koniec; }; interface Sąd: Filmy { attribute enum JakiWyrok {winny, niewinny} koniec; interface Romans-Sąd: Romans, Sąd {}; Ze zbioru jakich wartości pochodzi atrybut koniec obiektu klasy Romans-Sąd? Składnia języka ODL tego nie rozstrzyga, zostawiając to do (ewentualnej) implementacji. Bazy danych - wykład 3

Problemów z dziedziczeniem wielokrotnym można uniknąć… interface Romans: Filmy { attribute enum JakiKoniec {szczęśliwy, smutny} Romans_koniec; }; interface Sąd: Filmy { attribute enum JakiWyrok {winny, niewinny} Sąd_koniec; interface Romans-Sąd: Romans, Sąd {}; …jeśli stosuje się przemyślaną konwencję nadawania nazw atrybutom. W dużych projektach jest to nieodzowne. Bazy danych - wykład 3

Podklasy w związkach encji atr1 „B is a A” isa atr2 B B jest podklasą A, może mieć swoje atrybuty (i związki) Bazy danych - wykład 3

Więzy Klucze Więzy jednoznaczności Więzy integralności referencyjnej Więzy domenowe (zakresu) Więzy ogólne Bazy danych - wykład 3

A jeśli występują i są różne, to znaczy, że klucz został źle dobrany. Klucze Klucz — atrybut lub zbiór atrybutów, który jednoznacznie definiuje obiekt wewnątrz klasy lub encję wewnątrz zbioru encji. W danej klasie nie występują dwa obiekty, które miałyby identyczne wartości atrybutów tworzących klucz. A jeśli występują i są różne, to znaczy, że klucz został źle dobrany. Uwaga: abstrakcyjny obiekt w pamięci komputera nie musi mieć klucza, bo jest jednoznacznie identyfikowany przez adres przydzielonego mu obszaru pamięci. Bazy danych - wykład 3

Gdybyśmy próbowali utworzyć w jednej klasie dwa różne obiekty o takich samych kluczach, DBMS powinien to uniemożliwić. Bazy danych - wykład 3

Właściwy dobór kluczy jest trudny, bo muszą one dobrze odpowiadać rzeczywistości Osoba: Imię, Drugie Imię i Nazwisko? Nie wystarczy. Osoba: Imię, Drugie Imię, Nazwisko i Data Urodzenia? W bazie reprezentującej odpowiedno duży zbiór ludzi nie wystarczy. Osoba: Imię i Nazwisko? Nie wystarczy. Ściśle rzecz biorąc, PESEL nie służy tylko jako indeks, ale to jest zupełnie inna historia… Czasami wprowadza się nowe pole tylko po to, aby mogło służyć jako indeks Studenci: Numer Indeksu „Rządowa” baza danych: PESEL Bazy danych - wykład 3

Inny przykład — faktury Firma ma bazę gromadzącą dane o wystawianych fakturach. Co będzie kluczem? Numer Faktury. Jeśli numeracja zaczyna się od początku w każdym roku, Numer Faktury i Rok. Jeśli poszczególne działy stosują własną numerację faktur, Numer Faktury i Nazwa Działu lub Numer Faktury, Nazwa Działu i Rok. Jak widać, właściwy dobór klucza zależy od rzeczywistości, którą chcemy przedstawić w bazie danych. Bazy danych - wykład 3

Wówczas zbiór atrybutów {PESEL, Nazwisko} także jest kluczem! Ważna uwaga: Przypuśćmy, że mamy „rządową” bazę danych osobowych, w której kluczem jest atrybut PESEL. Wówczas zbiór atrybutów {PESEL, Nazwisko} także jest kluczem! Bazy danych - wykład 3

W rzeczywistości trzebaby to sprawdzić… Podobnie, jeśli tworzymy bazę danych szkół podstawowych, zbiór atrybutów {Ulica, NrDomu, NrSzkoły} będzie kluczem. Załóżmy, że tak jest. Jeśli rozszerzymy ten zbiór do {Miasto, Ulica, NrDomu, NrSzkoły}, także otrzymamy klucz. Podobnie będzie jeśli dodamy informację o województwie. W rzeczywistości trzebaby to sprawdzić… Bazy danych - wykład 3

Klucze minimalne. Nadklucze. W poprzednim przykładzie może się zdarzyć, że w dwu różnych miastach będą istnieć ulice Kościuszki i w dodatku na każdej z tych ulic pod numerem 1 będzie mieścić się szkoła podstawowa. Podobnie w dwu miastach na ulicy Dąbrowskiego (ale w budynkach o różnych numerach!) mogą się mieścić szkoły podstawowe o numerze 16. Wreszcie może się zdarzyć, że szkoły o numerze 53 (w różnych miastach) będą się mieścić w budynku o numerze 8 (przy ulicach o róznych nazwach). Zbiór {Ulica, NrDomu, NrSzkoły} nazywamy w tej sytuacji kluczem minimalnym. Jego nadzbiór nazywamy nadkluczem. Bazy danych - wykład 3

Reprezentowanie kluczy w ODL interface Gwiazda (key nazwisko) { attribute string nazwisko; … }; Atrybut nazwisko jest kluczem interface Filmy (key (tytuł, rok)) { attribute string tytuł; attribute integer rok; … }; Zbiór atrybutów {tytuł, rok} jest kluczem Bazy danych - wykład 3

Klucz złożony z dwu atrybutów Uwaga interface Podatnik: Osoba (key (PESEL, NIP)) { attribute integer PESEL; attribute string NIP; … }; Klucz złożony z dwu atrybutów interface Podatnik: Osoba (key PESEL, NIP) { attribute integer PESEL; attribute string NIP; … }; Dwa klucze! Bazy danych - wykład 3

Reprezentowanie kluczy w diagramach E/R Nazwy atrybutów, których zbiór tworzy klucz, są podkreślone. tytuł rok Filmy długość TypTaśmy W diagramach E/R nie ma możliwości reprezentowania więcej niż jednego klucza. Bazy danych - wykład 3

Więzy jednoznaczności Istnieje co najwyżej jeden obiekt z klasy B, który wchodzi w relację R z pewnym obiektem klasy A. Ten obiekt z klasy B nie musi istnieć, może być obiektem pustym. Innymi słowy, nie wszystkie obiekty z A muszą wchodzić w związek R. R A B Bazy danych - wykład 3

Więzy integralności referencyjnej Na przykład każda informacja o dostawie towarów do magazynu musi być powiązana z dostawcą Istnieje dokładnie jeden obiekt z klasy B, który wchodzi w relację R z pewnym obiektem klasy A. Ten obiekt z klasy B musi istnieć, nie może być obiektem pustym. Innymi słowy, wszystkie obiekty z A muszą wchodzić w związek R z obiektami B. R A B W książce oznaczają to przez półokrąg. Bazy danych - wykład 3

Więzy integralności referencyjnej wymuszają istnienie wskazywanego obiektu. Jeślibyśmy więc zażądali usunięcia obiektu związanego więzami integralności referencyjnej, DBMS Uniemożliwi usunięcie takiego obiektu lub Usunie także wszystkie obiekty, które na obiekt usuwany wskazują. Jeśli one też są związane więzami integralności referencyjnej, usunięte zostaną obiekty, które na nie wskazują. I tak dalej.  Usuwanie kaskadowe. Bardzo niebezpieczne — nie każdego stać na zatrudnienie stu osób do wklepywania utraconych danych. Bazy danych - wykład 3

Nie więcej niż 10 gwiazd w jednym filmie Inne rodzaje więzów 1. Więzy domenowe (zakresu) — atrybut może przyjąć wartości tylko z pewnego zakresu. 2. Więzy ogólne — na przykład ograniczenie stopnia związku, to jest ilości „partnerów” w relacji. Gwiazdy-w 10 Filmy Gwiazdy Nie więcej niż 10 gwiazd w jednym filmie Bazy danych - wykład 3

Zbiory słabych encji Jeśli niektóre (lub wszystkie) elementy klucza pewnego zbioru encji wybiera się spośród atrybutów innego zbioru encji, zbiór o tak utworzonym kluczu nazywa się zbiorem słabych encji. Typowo Przy strukturze hierarchicznej nazwa (czy inny atrybut) obiektu może identyfikować go w podhierarchii, ale nie w całej hierarchii. Na przykład Numer Szkoły identyfikuje szkołę w mieście, ale nie w województwie. Zbiór encji szkoły będzie musiał brać część swojego klucza z innego zbioru encji (miasta), więc będzie to słaba encja. Zbiór łączący, powstały w celu wyeliminowania relacji wieloargumentowych, prawie zawsze będzie słaby. Bazy danych - wykład 3

Reprezentacja graficzna zbiorów słabych encji Klucz zbioru Szkoły numer nazwa … Liczne inne atrybuty Miasta Szkoły Miasto Zbiór słabych encji i związki łączące go z „dostarczycielami” (części) klucza oznaczam podwójną linią. Leży w mieście Bazy danych - wykład 3

Zasady projektowania Dokładność — projekt powinien odpowiadać specyfikacji, klasy lub zbiory encji powinny odzwierciedlać świat rzeczywisty. Unikanie redundancji — bo zajmuje się zbyt wiele miejsca i ryzykuje się, że nie wszystkie wystąpienia danej informacji będą uaktualnione. Prostota — tylko tyle elementów, ile naprawdę potrzeba. Dobór właściwych elementów — nie wszystko modelujemy jako atrybuty! Bazy danych - wykład 3

Caveat emptor! Bazy danych są cenne i trzeba je chronić. Bazy danych wymagają konserwacji i administracji. DBMS jest potencjalnym kanałem, przez który cracker może włamać się do systemu. Bazy danych wymagają regularnego sporządzania kopii zapasowych (backup). Bazy danych - wykład 3