Modelowanie struktur danych

Slides:



Advertisements
Podobne prezentacje
7. Metody analizy i modelowania strukturalnego SI
Advertisements

Teoretyczne podstawy tworzenia systemów relacyjnych baz danych
Indeksy w bazie danych Oracle
Modelowanie logiczne (dla relacyjnych SZBD)
Projektowanie bazy danych
POWIAT MYŚLENICKI Tytuł Projektu: Poprawa płynności ruchu w centrum Myślenic poprzez przebudowę skrzyżowań dróg powiatowych K 1935 i K 1967na rondo.
Relacyjny model danych
SQL – Strukturalny język zapytań
Domy Na Wodzie - metoda na wlasne M
Komponenty bazy danych Baza danych Jest to uporządkowany zbiór powiązanych ze sobą danych charakterystycznych dla pewnej klasy obiektów lub zdarzeń,
WPROWADZENIE DO BAZ DANYCH
MS Access 2000 Normalizacja Paweł Górczyński 2005.
Projektowanie relacyjnych baz danych
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Modele baz danych - spojrzenie na poziom fizyczny
Język SQL (Structured Query Language) DDL (Data Definition Language)
Bezpieczeństwo baz danych
Wykład 3 Analiza i projektowanie strukturalne
Teoria relacyjnych baz danych
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
Bazy Danych II prowadzący: mgr inż. Leszek Siwik
PROJEKTOWANIE TABEL W PROGRAMIE: ACCESS
Ogólnopolski Konkurs Wiedzy Biblijnej Analiza wyników IV i V edycji Michał M. Stępień
Bazy danych.
Bazy danych podstawowe pojęcia
Systemy baz danych Wykład 1
Budowanie tabel i relacji
Typy diagramów Diagram hierarchii funkcji (HFD)
EGZAMIN GIMNAZJALNY W SUWAŁKACH 2009 Liczba uczniów przystępująca do egzaminu gimnazjalnego w 2009r. Lp.GimnazjumLiczba uczniów 1Gimnazjum Nr 1 w Zespole.
SQL - Structured Query Language
1. Pomyśl sobie liczbę dwucyfrową (Na przykład: 62)
Wybrane zagadnienia relacyjnych baz danych
WPROWADZENIE DO BAZ DANYCH
Analiza matury 2013 Opracowała Bernardeta Wójtowicz.
Bazy danych 1 Literatura: Paul Benon-Davies – Systemy baz danych
Komendy SQL do pracy z tabelami i bazami
1 Każdy obiekt jest scharakteryzowany poprzez: tożsamość – daje się jednoznacznie wyróżnić; stan; zachowanie. W analizie obiektowej podstawową strukturą
EGZAMINU GIMNAZJALNEGO 2013
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
Projektowanie relacyjnych baz danych – postacie normalne
WYNIKI EGZAMINU MATURALNEGO W ZESPOLE SZKÓŁ TECHNICZNYCH
Projektowanie bazy danych
(c) 1999, Instytut Informatyki Politechniki Poznańskiej Rozdział 1: Wprowadzenie do baz danych.
Łódź 2008 Banki danych WYKŁAD 2 dr Łukasz Murowaniecki T-109.
Testogranie TESTOGRANIE Bogdana Berezy.
Systemy Baz Danych Wykład III
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ą.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Michał Krawczykowski kl. IIIB
Definiowanie kluczy w tabelach RBD
Model obiektowy bazy danych
System plików.
Systemy informatyczne
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Współrzędnościowe maszyny pomiarowe
Elementy geometryczne i relacje
Projektowanie relacyjnych baz danych – diagramy związków encji
Strategia pomiaru.
LO ŁobżenicaWojewództwoPowiat pilski 2011r.75,81%75,29%65,1% 2012r.92,98%80,19%72,26% 2013r.89,29%80,49%74,37% 2014r.76,47%69,89%63,58% ZDAWALNOŚĆ.
BAZY DANYCH MS Access.
Modelowanie model związków encji
Modelowanie Danych (ERD) – część 1 (Wspomaganie Modelowania danych)
Bazy danych. Baza danych (database) – magazyn danych – informacji powiązanych tematycznie, umożliwiający ich wyszukiwanie według zadanych kryteriów Baza.
Temat: Tworzenie bazy danych
Strukturalny język zapytań SQL - historia
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Technologie Informacyjne Bazy danych
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

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

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 © M.Miłosz

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 © M.Miłosz

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 © M.Miłosz

Encje - zasady Klient 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) © M.Miłosz

Encje - przykłady Klient Rower Bilet Rewers Faktura Płatność © M.Miłosz

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 © M.Miłosz

Istota i liczność związku Faktura Klient ? ma n 1 Faktura nr 67/01 Faktura nr 67/01 Faktura nr 69/01 Faktura nr 99/01 © M.Miłosz

Przykłady Cel SI Faktura Towar Klient Dowód tożsamości Klient Dowód występuje Cel SI Klient Dowód tożsamości ma Klient Dowód tożsamości ma © M.Miłosz

Związki rekurencyjne (unarne) Pracownik ma kierownika ma kierownika ma kierownika ma kierownika Pracownik Pracownik © M.Miłosz

Związki encji - przykłady © M.Miłosz

Związki encji - niepoprawne © M.Miłosz

Związki wielokrotne Faktura Gotówka Przelew Karta kredytowa ALBO © M.Miłosz

LDS - konwencje SSADM - Structured System Analysis and Design Method © M.Miłosz

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 © M.Miłosz

Atrybut = element danych Atrybuty Atrybut = element danych Atrybut kluczowy = identyfikator instancji encji © M.Miłosz

Atrybuty - przykłady Klient Nazwisko Imię Kod_pocztowy Miejscowość Ulica Numer @PESEL Data_urodzenia Rower @Numer_roweru Typ_roweru Data_zakupu Cena_zakupu Kolor Status Data_statusu © M.Miłosz

Algorytm budowy ERD (1) Lista: klient (PESEL), rower (Nr), typ roweru (Kod), wypożyczenie (Nr), cennik (Pozycja) 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 © M.Miłosz

Algorytm budowy ERD (2) 3) przekształcenie tablicy krzyżowej powiązań w logiczny model danych i identyfikacja pozostałych atrybutów encji 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) © M.Miłosz

ERD - przekształcenie powiązań typu M:N Faktura Towar występuje Faktura Towar składa się Pozycja występuje Encja pośrednicząca (łącząca) © M.Miłosz

Problem przekształcenia Słuchacz Kurs uczestniczy dotyczy dokonuje Płatność Słuchacz Kurs dotyczy Pozycja listy jest na liście Płatność Płatność dotyczy © M.Miłosz

Model danych w SI „SzyB” Rower wypożycza Klient ma Cennik Typ roweru jest związany © M.Miłosz

SzyB - ERD Model konceptualny © M.Miłosz

ERD z atrybutami © M.Miłosz

Podstawy technologii baz danych

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 Program We Wy Dane © M.Miłosz

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 Program A We Wy Program B We Wy Program A We Wy Dane Rozwiązanie: DANE w PLIKACH © M.Miłosz

Dane w plikach - problemy Współdzielenie danych - efektywność i konflikty Rozwiązanie (warstwa pośrednia): System Zarządzania Bazą Danych - SZBD Program A We Wy SZBD Baza danych © M.Miłosz

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ą © M.Miłosz

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

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 © M.Miłosz

BD - poziomy odwzorowania danych Zewnętrzny Konceptualny Wewnętrzny: Implementacyjny Fizyczny Model ANSI/SPARC American National Standards Institute Standards Planning and Requirements Committee Trzy modele - warstwy © M.Miłosz

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 © M.Miłosz

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 © M.Miłosz

Języki baz danych SQL 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 © M.Miłosz

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) © M.Miłosz

Architektury sieciowe BD Serwer BD © M.Miłosz

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 © M.Miłosz

Przetwarzanie rozproszone Przezroczystość dla klienta Szybkość Wielkość BD Niezawodność Problemy: łączność, transakcyjność, integralność © M.Miłosz

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) © M.Miłosz

Model implementacyjny - typy Hierarchiczny Sieciowy Kartotekowy Relacyjny Obiektowo-relacyjny Obiektowy Hypertekst © M.Miłosz

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 © M.Miłosz

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

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 © M.Miłosz

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

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 © M.Miłosz

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 © M.Miłosz

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

Transakcje na BD SI zapis Operacje Zestawienie stanów i obrotów Stany zmiana stanu © M.Miłosz

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 © M.Miłosz

Transakcje a awaria BD Transakcje zatwierdzone - mają być odtworzone Transakcje niezatwierdzone - wycofane Metody osiągnięcia: dzienniki transakcji redundancja © M.Miłosz

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

Mapowanie modelu konceptualnego na implementacyjny

Konceptualny (logiczny) a implementacyjny model danych Konceptualny (niezależny od SZBD, języka programowania, modelu bazy danych) - ERD 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) © M.Miłosz

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) © M.Miłosz

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 © M.Miłosz

Tworzenie modelu implementacyjnego Generowanie z modelu konceptualnego (mapowanie modelu konceptualnego na implementacyjny) Rewers ze schematu istniejącej BD Różne wersje modelu implementacyjnego Dane istniejące w BD © M.Miłosz

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) © M.Miłosz

Mapowanie proste encja  tabela atrybut  pole unikalny identyfikator  klucz główny związki  klucze obce (dodawane do encji) © M.Miłosz

Mapowanie - przykład ERD © M.Miłosz

Mapowanie - przykład ERD z atrybutami © M.Miłosz

Mapowanie - przykład Tabele relacyjnej BD © M.Miłosz

Mapowanie proste - problemy Faktura Towar występuje Pozycja składa się Kolejność na liście pozycji Pozycje nr_fakt <FK1> id_tow <FK2> LP Ilosc Faktury nr_fakt Data Name imie Kod_p Towary id_tow Nazwa_t j_m sklada sie wystepuje © M.Miłosz

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ę © M.Miłosz

Mapowanie złożone (2) Pojedyncza tabela TYP = [K|P] Dwie tabele © M.Miłosz Zalety i wady

Mapowanie złożone (3) © M.Miłosz

Mapowanie złożone (4) Dodatkowe więzy integralności (wykluczenie identyczności kluczy obcych w dwóch tabelach) © M.Miłosz

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) © M.Miłosz

Atrybuty wielowartościowe Wiele wartości dla instancji encji Np. ocena z IO lub stanowiska pracy Mapowanie na dodatkową encję © M.Miłosz

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 © M.Miłosz

Klucze 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 Jeśli brak klucza kandydującego - tworzy się klucz sztuczny (generowany automatycznie) © M.Miłosz

? Klucze - przykład Pracownik Nazwisko Data_ur 1. Nazwisko + Data_ur PESEL Nr_prac 1. Nazwisko + Data_ur ? 2. PESEL 3. Nr_prac © M.Miłosz

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) © M.Miłosz

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ł) © M.Miłosz

Wersjonowanie danych Dane historyczne -> dodatkowe encje ze stemplem czasowym jako atrybutem Wersjonowanie atrybutów: © M.Miłosz

Wersjonowanie związków © M.Miłosz

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) © M.Miłosz

Analiza ilościowa (przykład) Konto klienta Operacja 15000 + 100 mies. 1 mln. + 100 tys. mies. Częste operacje: - dodanie operacji - zmiana stanu konta - zapytanie o stan konta Rzadkie operacje: - zmiana danych adresowych klienta © M.Miłosz

Mapowanie (proste) Konto klienta Operacje Wydajność? © M.Miłosz

Mapowanie (rozsądne) © M.Miłosz

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

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-Naur’a) Automatyczne generowanie słownika (BD, sekwencje SQL) © M.Miłosz

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

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 © M.Miłosz

Ćwiczenie Modelowanie danych na podstawie wymagań użytkownika Model konceptualny Modyfikacje modelu Model implementacyjny - samodzielnie © M.Miłosz

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. © M.Miłosz

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 © M.Miłosz

2. Tablica krzyżowa (związki bezpośrednie) Dostawca pożywienia 3. ERD © M.Miłosz

4./5. Model konceptualny © M.Miłosz

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 © M.Miłosz