Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład 5 Modelowanie struktur danych Dr inż. Marek Miłosz.

Podobne prezentacje


Prezentacja na temat: "Wykład 5 Modelowanie struktur danych Dr inż. Marek Miłosz."— Zapis prezentacji:

1

2 Wykład 5 Modelowanie struktur danych Dr inż. Marek Miłosz

3 © M.MiłoszPSI-6 2/90 Plan Diagramy związków encji (ERD) Metodyka budowy diagramów ERD Podstawy technologii baz danych Relacyjny model danych Mapowanie modelu ERD na relacyjny model implementacyjny

4 © M.MiłoszPSI-6 3/90 Modelowanie struktur danych Model danych = struktura informacyjna SI Cele: ścisłe określenie potrzeb informacyjnych obiektu rzeczywistego (firmy, działu itp.) identyfikowanie rzeczy ważnych w analizowanym systemie (encji, obiektów), własności tych rzeczy (atrybutów) i sposobów jakimi te encje są ze sobą powiązane (związków) dostarczenie modelu niezależnego od sposobu przechowywania danych i od metod dostępu do nich

5 © M.MiłoszPSI-6 4/90 Diagram związków encji ERD - Entity Relationship Diagram Diagram prezentujący dane i związki logiczne pomiędzy nimi Na diagramie występują: encje o określonych właściwościach (atrybutach) związki (relacje, odniesienia) Różne notacje i nazwy (ale te same zasady) LDS - Logical Data Structure SSADM - Structured System Analysis and Design Method

6 © M.MiłoszPSI-6 5/90 Encje - zasady ENCJA - rzecz lub obiekt (grupa, klasa, kategoria a nie konkretny) mający dla nas znaczenie, rzeczywisty bądź wyobrażony, o którym informacje muszą być znane lub przechowywane każda encja musi być jednoznacznie identyfikowalna (nazwa w liczbie pojedynczej) każda instancja (wystąpienie) encji musi być wyraźnie odróżnialna od wszystkich innych instancji encji tego samego typu (identyfikator, klucz główny) Klient

7 © M.MiłoszPSI-6 6/90 Encje - przykłady Klient Rower Bilet Rewers Faktura Płatność

8 © M.MiłoszPSI-6 7/90 Związki encji Związek - istotne (i nazwane) powiązanie pomiędzy dwiema (lub więcej) encjami; dwustronny Charakterystyka związku (dla każdego końca): nazwa (jednoznaczna) stopień, liczność, moc - (jeden, wiele, wcale lub wiele oznaczenia: 1:1;1:n;n:m) opcjonalność (wymagany/opcjonalny) Różne notacje: kółka, strzałki, kurze łapki

9 © M.MiłoszPSI-6 8/90 Istota i liczność związku FakturaKlient ??ma Faktura nr 67/01 Faktura nr 69/01 Faktura nr 99/01 Faktura nr 67/01 n 1

10 © M.MiłoszPSI-6 9/90 Przykłady FakturaTowar występuje KlientDowódtożsamości ma KlientDowódtożsamości

11 © M.MiłoszPSI-6 10/90 Związki rekurencyjne (unarne) ma kierownika makierownika Pracownik PracownikmakierownikaPracownik

12 © M.MiłoszPSI-6 11/90 Związki encji - przykłady

13 © M.MiłoszPSI-6 12/90 Związki encji - niepoprawne

14 © M.MiłoszPSI-6 13/90 Związki wielokrotne Faktura GotówkaPrzelew Kartakredytowa Karta kredytowa ALBO

15 © M.MiłoszPSI-6 14/90 LDS - konwencje SSADM - Structured System Analysis and Design Method

16 © M.MiłoszPSI-6 15/90 Atrybut encji dowolny szczegół służący do kwalifikowania, identyfikowania, klasyfikowania, określania ilości lub wyrażania stanu encji dowolny opis mający znaczenie dla encji funkcja przypisująca obiektowi wartość cechy ze zbioru wartości tej cechy (dziedziny) Właściwości atrybutów: atomiczność, jednoznaczność, zależność tylko od instancji encji (klucza głównego), domena, format, inne warunki

17 © M.MiłoszPSI-6 16/90 Atrybuty Atrybut = element danych Atrybut kluczowy = identyfikator instancji encji

18 © M.MiłoszPSI-6 17/90 Atrybuty - przykłady Klient Nazwisko Imię Kod_pocztowy Miejscowość Ulica Typ_roweru Data_zakupu Cena_zakupu Kolor Status Data_statusu

19 © M.MiłoszPSI-6 18/90 Algorytm budowy ERD (1) 1) identyfikacja (wydzielenie) zbioru obiektów (encji) w systemie wraz z ich atrybutami kluczowymi 2) identyfikacja powiązań bezpośrednich między encjami (tablica krzyżowa) oraz ich rodzaju Lista: klient (PESEL), rower (Nr), typ roweru (Kod), wypożyczenie (Nr), cennik (Pozycja)

20 © M.MiłoszPSI-6 19/90 Algorytm budowy ERD (2) 3) przekształcenie tablicy krzyżowej powiązań w logiczny model danych i identyfikacja pozostałych atrybutów encji encje kojarzące, łączące 4) przekształcenie każdego z powiązań typu M:N na dwa powiązania typu 1:N i identyfikacja dodatkowych atrybutów charakterystycznych dla nowo powstałych obiektów (encje kojarzące, łączące) 5) sprawdzenie poprawności otrzymanej struktury poprzez porównanie z wymaganiami systemu 6) weryfikacja DFD względem ERD (tak by był sprzęg: encja(-cje)- składnica(-e) danych)

21 © M.MiłoszPSI-6 20/90 ERD - przekształcenie powiązań typu M:N FakturaTowar występuje FakturaTowar Pozycja składa się Encja pośrednicząca (łącząca)

22 © M.MiłoszPSI-6 21/90 Problem przekształcenia SłuchaczKurs uczestniczyPłatność Płatność dokonuje dotyczy SłuchaczKurs Pozycjalisty jest na liście Płatność dotyczy

23 © M.MiłoszPSI-6 22/90 Model danych w SI SzyB RowerKlient wypożyczaTyproweru Cennik ma jest związany

24 © M.MiłoszPSI-6 23/90 SzyB - ERD Model konceptualny

25 © M.MiłoszPSI-6 24/90 ERD z atrybutami

26 Podstawy technologii baz danych

27 © M.MiłoszPSI-6 26/90 Program Dane WeWy Dane w programach Dane wewnątrz programów (we/wy, wykorzystanie przez jednego użytkownika i w trakcie pojedynczej sesji) - nietrwałe, niedostępne dla wielu użytkowników

28 © M.MiłoszPSI-6 27/90 Dane - potrzeby aplikacji Dużo danych Dane wspólne dla: wielu programów wielu użytkowników tego samego programu Trwałość danych : długi czas życia Rozwiązanie: DANE w PLIKACH Dane Program A WeWy Program B WeWy Program A WeWy

29 © M.MiłoszPSI-6 28/90 Dane w plikach - problemy Współdzielenie danych - efektywność i konflikty Rozwiązanie (warstwa pośrednia): System Zarządzania Bazą Danych - SZBD Baza danych Program A WeWy SZBD

30 © M.MiłoszPSI-6 29/90 Co to jest BD? Zorganizowany zbiór danych przechowywany w zewnętrznej pamięci komputera Odzwierciedlenie fragmentu rzeczywistości Cechy: trwałość zgodność z rzeczywistością

31 © M.MiłoszPSI-6 30/90 BD - struktura Dane: 28,5 Znaczenie: wiek pracownika intensjonalna Część intensjonalna: schemat BD, definicja struktury i zasad poprawności ekstensjonalna Część ekstensjonalna: same dane, zawartość faktograficzna

32 © M.MiłoszPSI-6 31/90 BD - pożądane właściwości Współdzielenie danych Brak redundancji Integralność Spójność Bezpieczeństwo danych Poufność danych Abstrakcyjność danych Niezależność danych od programów Niezawodność dostępu

33 © M.MiłoszPSI-6 32/90 BD - poziomy odwzorowania danych Zewnętrzny Konceptualny Wewnętrzny: Implementacyjny Fizyczny Model ANSI/SPARC American National Standards Institute Standards Planning and Requirements Committee

34 © M.MiłoszPSI-6 33/90 SZBD - zadania Organizacja struktury BD (definiowanie schematu BD) Konstruowanie BD (system plików) Przetwarzanie danych: aktualizacja danych (wprowadzanie, poprawianie, usunięcie) wyszukiwanie danych (zapytania do BD) Administracja BD Zapewnienie właściwości BD w praktyce

35 © M.MiłoszPSI-6 34/90 SZBD - specjalne cechy Transakcyjność przetwarzań Optymalizacja przetwarzań Blokowanie zasobów (rozwiązanie konfliktów dostępu) Przeciwdziałanie zakleszczeniom System kont i uprawnień dostępu Monitorowanie BD

36 © M.MiłoszPSI-6 35/90 Języki baz danych Język definiowania danych (Data Definition Language - DDL) - definiuje schemat implementacyjny Język manipulowania danymi (Data Manipulation Language - DML) Język zapytań (Query Language) Język sterowania danymi (Data Control Language - DCL) - sterowanie transakcjami

37 © M.MiłoszPSI-6 36/90 SZBD - architektura Architektura jednopoziomowa Dwupoziomowa: klient-serwer Trójpoziomowa: serwer WWW-serwer aplikacji - serwer BD Architektura rozproszona (wiele serwerów BD, problem: utrzymanie integralności i aktualności; replikacja BD)

38 © M.MiłoszPSI-6 37/90 Architektury sieciowe BD Serwer BD

39 © M.MiłoszPSI-6 38/90 Serwer aplikacji Podział aplikacji na dwie części: transakcyjną (obliczeniową) i interfejs użytkownika Chudy (słaby, tani) klient Uniezależnienie aplikacji od SZDB (uniwersalna, otwarta architektura aplikacji) Serwer WWW

40 © M.MiłoszPSI-6 39/90 Przetwarzanie rozproszone Przezroczystość dla klienta Szybkość Wielkość BD Niezawodność Problemy: łączność, transakcyjność, integralność

41 © M.MiłoszPSI-6 40/90 Własności współczesnych BD Niezależność aplikacji i danych Abstrakcyjna reprezentacja danych, wykorzystywanych przez aplikacje Różnorodność widzenia danych przez różnych użytkowników (filtry, perspektywy itp.) Fizyczna i logiczna niezależność (wieloplatformowość SZBD)

42 © M.MiłoszPSI-6 41/90 Model implementacyjny - typy Hierarchiczny Sieciowy Kartotekowy Relacyjny Obiektowo-relacyjny Obiektowy Hypertekst

43 © M.MiłoszPSI-6 42/90 Model relacyjny - historia Dr E.F.Codd, IBM (1970) - A Relational Model for Large Shared Data Banks Lata 70.: IBM (System/R); INGRES (Uniwersytet Kalifornijski w Berkeley) Lata 80.: mainframe: DB2, Oracle minikomputery (Unix): Informix, Sybase, Progress mikrokomputery: dBase, FoxPro, Clipper, Paradox, R:BASE Lata 90.: dowsizing dużych systemów mikrokomputery: MS SQL Server Linuxowe: MySQL, Postgres

44 © M.MiłoszPSI-6 43/90 RBD - pojęcia podstawowe Tablica, plik Atrybut, pole, kolumna Rekord, wiersz tablicy Typ danych Domena, dziedzina Wartość null Związki wartościowe (referencje) Książki Czytelnicy Wypożyczenia

45 © M.MiłoszPSI-6 44/90 RDB - zasady Każda tablica w BD ma jednoznaczną nazwę Każde pole (kolumna) na jednoznaczną nazwę w tablicy Wszystkie wartości w kolumnie są tego samego typu Porządek kolumn i wierszy nie jest istotny Każdy wiersz musi być różny (wartościowo) Pola muszą zawierać wartości atomowe

46 © M.MiłoszPSI-6 45/90 Klucze Klucz główny (Primary Key) - grupa kolumn o nie powtarzających się danych Czytelnicy Wypożyczenia Klucz obcy (Foreign Key) - grupa kolumn z jednej tablicy, których wartości odpowiadają kluczowi głównemu innej tablicy (powiązanie)

47 © M.MiłoszPSI-6 46/90 Integralność Poziom pól (dziedzina wartości) Poziom tablic (klucz główny) Integralność referencyjna: obowiązkowość związku ograniczone usuwanie usuwanie kaskadowe wstawianie null Integralność dynamiczna

48 © M.MiłoszPSI-6 47/90 Porządkowanie wierszy Wiersze w tablicach - porządek historyczny Znaczenie dla interfejsu Fizyczne sortowanie - b. pracochłonna operacja z wykorzystaniem roboczych plików dyskowych; trwałość rezultatu Sortowanie logiczne (indeksowanie) - tworzenie i wykorzystywanie tablic indeksowych; operacja dynamiczna

49 © M.MiłoszPSI-6 48/90 Dostęp do danych Sekwencyjny Sekwencyjny (rekordy w pliku, który musi być przeglądany od początku) Bezpośredni Bezpośredni (możliwość natychmiastowego odnalezienia potrzebnego rekordu w pliku) Indeksowany Indeksowany (wykorzystuje tablicę- indeks do odszukania miejsca przechowywania rekordu)

50 © M.MiłoszPSI-6 49/90SI Transakcje na BD Operacje Stany zapis zmiana stanu Zestawieniestanówiobrotów

51 © M.MiłoszPSI-6 50/90 Transakcje Zmiana stanu BD Logiczna jednostka pracy w BD W trakcie trwania transakcji - BD nie jest spójna (narusza się integralność) Właściwości transakcji: niepodzielność, spójność, izolacja i trwałość Blokowanie - podstawa realizacji transakcji w środowisku współbieżnym

52 © M.MiłoszPSI-6 51/90 Transakcje a awaria BD Transakcje zatwierdzone - mają być odtworzone Transakcje niezatwierdzone - wycofane Metody osiągnięcia: dzienniki transakcji redundancja

53 © M.MiłoszPSI-6 52/90 4GL Języki czwartej generacji oparte na formularzach Proceduralne SQL - podzbiór Języki: ORACLE PL/SQL Progress 4GL Informix 4GL

54 Mapowanie modelu konceptualnego na implementacyjny

55 © M.MiłoszPSI-6 54/90 Konceptualny (logiczny) a implementacyjny model danych Konceptualny Konceptualny (niezależny od SZBD, języka programowania, modelu bazy danych) - ERD Implementacyjny Implementacyjny - fizyczny (w konkretnym modelu bazy danych i SZBD) Model implementacyjny służy do wygenerowania skryptu do tworzenia BD wraz z więzami integralności (Słownik BD)

56 © M.MiłoszPSI-6 55/90 Pojęcia relacyjnego modelu implementacyjnego Tabela (odpowiednik encji, nazwa l.mnoga) Kolumna-Pole (odpowiednik atrybutu) Dziedzina (konkretny typ danych i jego parametry) Rekord (wystąpienie) Indeks Klucz główny (indeks unikalny, klucze sztuczne) Klucz obcy (indeks nieunikalny) Odniesienie (klucz główny-obcy; więzy integralności referencyjnej) Klucz alternatywny (indeks unikalny lub nie)

57 © M.MiłoszPSI-6 56/90 Inne elementy modelu implementacyjnego Atrybuty rozszerzone (nie SQL-owe) - specyficzne dla danego SZBD: dodatkowe typy, opisy, etykiety, elementy wyświetlane na ekranie (komunikaty, helpy) wartości domyślne rozróżnialność (lub nie) wielkości znaków procedury walidacyjne (trigery) typ indeksu (np. słowny), opis, sposób konstrukcji indeksu sekwencje

58 © M.MiłoszPSI-6 57/90 Tworzenie modelu implementacyjnego mapowanie Generowanie z modelu konceptualnego (mapowanie modelu konceptualnego na implementacyjny) Rewers ze schematu istniejącej BD lRóżne wersje modelu implementacyjnego lDane istniejące w BD

59 © M.MiłoszPSI-6 58/90 Problemy mapowania Nazewnictwo (identyfikatory, sposób ich tworzenia, nazwy typów, dziedziny) Ograniczenia ilościowe (np. na liczbę pól w rekordzie) Brak wielowartościowości pól (płaski model) Brak zmiennej struktury rekordu (wiersza)

60 © M.MiłoszPSI-6 59/90 Mapowanie proste encja tabela atrybut pole unikalny identyfikator klucz główny związki klucze obce (dodawane do encji)

61 © M.MiłoszPSI-6 60/90 Mapowanie - przykład ERD

62 © M.MiłoszPSI-6 61/90 Mapowanie - przykład ERD z atrybutami

63 © M.MiłoszPSI-6 62/90 Mapowanie - przykład Tabele relacyjnej BD

64 © M.MiłoszPSI-6 63/90 Mapowanie proste - problemy FakturaTowar występujePozycja składa się Pozycje nr_fakt id_tow LP Ilosc Faktury nr_fakt Data Name imie Kod_p Towary id_tow Nazwa_t j_m sklada sie wystepuje Kolejność na liście pozycji

65 © M.MiłoszPSI-6 64/90 Mapowanie złożone (1) Mapowanie złożone - nieoczywiste (związki wielu encji): Mapowanie na pojedynczą tabelę (kodowanie) Mapowanie na oddzielne tabele Mapowanie związków wykluczających się

66 © M.MiłoszPSI-6 65/90 Mapowanie złożone (2) Pojedyncza tabela TYP = [K|P] Zalety i wady Dwie tabele

67 © M.MiłoszPSI-6 66/90 Mapowanie złożone (3)

68 © M.MiłoszPSI-6 67/90 Mapowanie złożone (4) Dodatkowe więzy integralności (wykluczenie identyczności kluczy obcych w dwóch tabelach)

69 © M.MiłoszPSI-6 68/90 Atrybuty złożone Wartość atrybutu jest złożeniem kilku bardziej prostych wartości, np. adres Tylko atrybuty elementarne Ewentualne, nieformalne grupowanie w nazwie (przedrostek): AdresUlica (adres_ulica) AdresMiasto (adres_miasto) AdresKodPocztowy (adres_kod_pocztowy)

70 © M.MiłoszPSI-6 69/90 Atrybuty wielowartościowe Wiele wartości dla instancji encji Np. ocena z IO lub stanowiska pracy Mapowanie na dodatkową encję

71 © M.MiłoszPSI-6 70/90 Atrybuty o znanej liczbie wartości Związki o znanej liczności (mocy) Znana z góry liczność związku (np. 1:3) Przykład: 3 języki obce, 3 lata studiów Komplikacja przetwarzań Zmiana w systemie rzeczywistym

72 © M.MiłoszPSI-6 71/90 Klucze klucze kandydujące Każda encja ma może mieć wiele unikalnych identyfikatorów - są to klucze kandydujące Spośród kluczy kandydujących wybiera się główny klucz sztuczny Jeśli brak klucza kandydującego - tworzy się klucz sztuczny (generowany automatycznie)

73 © M.MiłoszPSI-6 72/90 Klucze - przykład Pracownik Nazwisko Data_ur PESEL Nr_prac 1. Nazwisko + Data_ur 2. PESEL 3. Nr_prac ?

74 © M.MiłoszPSI-6 73/90 Wybór klucza - zalecenia Klucz główny powinien być jednym atrybutem (jak najkrótszym) Klucz główny nie powinien mieć znaczenia w dziedzinie przedmiotowej (nawet małe zmiany w dziedzinie biznesu spowodują istotne zmiany w BD) Klucz główny raczej powinien być generowany automatycznie (RecID, OID) Dostęp, wyszukiwanie, porządkowanie wg atrybutów kluczowych – indeksy (klucze alternatywne)

75 © M.MiłoszPSI-6 74/90 Modelowanie czasu - dane Dane ponadczasowe (marki samochodów, miasta) – statyczne Dane opisujące stan aktualny (cena, koszt, znajomość języków obcych, ocena) – charakter dynamiczny, ale nie związany z czasem Dane opisujące zdarzenia nieregularne/regularne (sprzedaż, wypożyczenie, spłata raty kredytu) – opis zdarzenia zawiera datę/moment Dane opisujące okresy czasu nieregularne/regularne (urlop, limit roczny) – opis i momenty rozpoczęcia/zakończenia lub czasookres (np. kwartał)

76 © M.MiłoszPSI-6 75/90 Wersjonowanie danych Dane historyczne -> dodatkowe encje ze stemplem czasowym jako atrybutem Wersjonowanie atrybutów:

77 © M.MiłoszPSI-6 76/90 Wersjonowanie związków

78 © M.MiłoszPSI-6 77/90 Ilościowe aspekty danych Informacje charakteryzujące ilość danych: zajętość pamięci (liczba wystąpień w BD) zmienność (prognozowany przyrost w czasie) wypełnienie pól wartościami Informacje charakteryzujące dostęp: wymagana szybkość dostępu zakres przetwarzań (najczęściej wykorzystywane atrybuty)

79 © M.MiłoszPSI-6 78/90 Analiza ilościowa (przykład) Konto klienta Operacja mies.1 mln tys. mies. Częste operacje: - dodanie operacji - zmiana stanu konta - zapytanie o stan konta Rzadkie operacje: - zmiana danych adresowych klienta

80 © M.MiłoszPSI-6 79/90 Konto klienta Operacje Mapowanie (proste)

81 © M.MiłoszPSI-6 80/90 Mapowanie (rozsądne)

82 © M.MiłoszPSI-6 81/90 Analiza wartości pustych Pracownik IdPrac Nazwisko NazwiskoPanieńskie GrupaKrwi DataBadaniaGrKrwi } Zapełnione w 25% przypadków Zapełnione w 10% przypadków Pracownicy IdPrac Nazwisko Mężatki IdPrac NazwiskoPanieńskie BadaniaKrwi IdPrac GrupaKrwi DataBadaniaGrKrwi BD w 50% pusta + zmniejszenie objętości BD - spadek wydajności

83 © M.MiłoszPSI-6 82/90 Słownik danych Data Dictionary Słownik danych zawiera opis zawartości magazynów, przepływów danych i encji Szczegóły związków pomiędzy encjami Opis struktury danych: dane elementarne i ich typy operatory - symbole (notacja BNF - Backus-Naura) Automatyczne generowanie słownika (BD, sekwencje SQL)

84 © M.MiłoszPSI-6 83/90 Generowanie struktury BD CREATE DATABASE BIBL; CREATE TABLE KSIEG (ID-KSIEGARNI CHAR (4) NOT NULL, (ID-KSIEGARNI CHAR (4) NOT NULL, KOD_P CHAR (5) CHECK, KOD_P CHAR (5) CHECK, MIASTO CHAR (12), MIASTO CHAR (12), ULICA CHAR (15), ULICA CHAR (15), NUMER-D CHAR (8), NUMER-D CHAR (8), NIP CHAR (13), NIP CHAR (13), PRIMARY KEY (ID-KSIEGARNI)); PRIMARY KEY (ID-KSIEGARNI)); CREATE UNIQUE INDEX KSIEG ON KSIEG (ID-KSIEGARNI); ON KSIEG (ID-KSIEGARNI); CREATE TABLE DOSTAWA (ID-DOSTAWY CHAR (4) NOT NULL, (ID-DOSTAWY CHAR (4) NOT NULL, ID-KSIEGARNI CHAR (4) NOT NULL, ID-KSIEGARNI CHAR (4) NOT NULL, DATA CHAR (8), DATA CHAR (8), PRIMARY KEY (ID-DOSTAWY), PRIMARY KEY (ID-DOSTAWY), FOREIGN KEY (ID-KSIEGARNI) REFERENCES KSIEG); FOREIGN KEY (ID-KSIEGARNI) REFERENCES KSIEG); CREATE UNIQUE INDEX DOSTAWA ON DOSTAWA (ID-DOSTAWY); ON DOSTAWA (ID-DOSTAWY); CREATE TABLE REWERS (ID-CZYT CHAR (12), (ID-CZYT CHAR (12), ID-KSIAZKI CHAR (12) NOT NULL, ID-KSIAZKI CHAR (12) NOT NULL, TERMIN CHAR (6) NOT NULL, TERMIN CHAR (6) NOT NULL, PRIMARY KEY (ID-CZYT,ID-KSIAZKI), PRIMARY KEY (ID-CZYT,ID-KSIAZKI), FOREIGN KEY (ID-KSIAZKI) REFERENCES KSIAZKA, FOREIGN KEY (ID-KSIAZKI) REFERENCES KSIAZKA, FOREIGN KEY (ID-CZYT) REFERENCES CZYTELNIK); FOREIGN KEY (ID-CZYT) REFERENCES CZYTELNIK);

85 © M.MiłoszPSI-6 84/90 Podsumowanie Model danych jest podstawą do ich przetwarzania Technika ERD pozwala budować modele konceptualne Systemy baz danych w większości wypadków wykorzystują model relacyjny Istnieje możliwość mapowania ERD na model relacyjny

86 © M.MiłoszPSI-6 85/90 Ćwiczenie Modelowanie danych na podstawie wymagań użytkownika Model konceptualny Modyfikacje modelu Model implementacyjny - samodzielnie

87 © M.MiłoszPSI-6 86/90 Opis wymagań W powstającym obok PL ogrodzie zoologicznym potrzebny jest SI. Powinny się w nim znaleźć informacje o zwierzętach, o ich pożywieniu i o ich opiekunach, którymi będą wybrani studenci i wykładowcy. Każde zwierzę ma swoją klatkę. Każde zwierzę ma dokładnie jednego opiekuna. Jeden opiekun ma pod swoją opieką jedno lub wiele zwierząt. Każde zwierzę jest karmione raz dziennie i spożywa jedno lub więcej pożywień dostarczanych przez swojego opiekuna. Jedno pożywienie może być podawane wielu zwierzętom. System ma ewidencjonować dostawy i zużycie pożywienia.

88 © M.MiłoszPSI-6 87/90 1. Wydzielenie encji i ich atrybutów kluczowych Opiekun Zwierzę Klatka Pożywienie Racja żywnościowa Dostawca Dostawa Identyfikator opiekuna Id zwierzęcia Numer klatki Indeks materiałowy Numer racji NIP Numer dostawy

89 © M.MiłoszPSI-6 88/90 2. Tablica krzyżowa (związki bezpośrednie) Dostawca pożywienia 3. ERD

90 © M.MiłoszPSI-6 89/90 4./5. Model konceptualny

91 © M.MiłoszPSI-6 90/90 Modyfikacje - samodzielnie Wprowadzenie pojęcia Jadłospis (tj. ustalony zbiór pożywień, wielokrotnie wykorzystywany i identyfikowany) Wprowadzenie konieczności przypisania zwierzęcia do gatunku, grupy itd. Wprowadzenie słowników: jednostek miar, trybu zatrudnienia pracowników, klasyfikacji dostawców na grupy


Pobierz ppt "Wykład 5 Modelowanie struktur danych Dr inż. Marek Miłosz."

Podobne prezentacje


Reklamy Google