Zaawansowane Modelowanie I Analiza Systemów Informatycznych ORM - Kroki 4 (c.d.) i5 mgr. inż. Tomasz Pieciukiewicz tomasz.pieciukiewicz@gmail.com
ORM 7 kroków tworzenia schematu 1. Przekształć przykłady informacji w proste fakty, dokonaj kontroli jakości 2. Zdefiniuj predykaty, narysuj pierwszą wersję diagramu, sprawdź wyniki przez populację 3. Zidentyfikuj dane pochodne (arytmetyczne) oraz nadmiarowe typy bytów (encji) 4. Dodaj ograniczenia unikalności, sprawdź arność predykatów
ORM 7 kroków tworzenia schematu 5. Dodaj ograniczenia ról obowiązkowych, sprawdź dane pochodne (logiczne) i schematy referencyjne 6. Dodaj porównania wartości i zbiorów, ograniczenia dla podtypów 7. Dodaj inne ograniczenia, dokonaj ostatecznej kontroli
KROK 4 C.D.
Długości kluczy Dla n-arnego predykatu, długość klucza wynosi co najmniej n-1 Predykat, którego klucz jest krótszy nie jest elementarny i powinien zostać rozbity
Długości kluczy Ludność (ile) Kraj (nazwa) ma i... Powierzchnia (km2)
Długości kluczy ma Ludność (ile) Kraj (nazwa) ma Powierzchnia (km2)
Zewnętrzne ograniczenia unikalności Odnoszą się do ról z różnych predykatów Oznaczają unikalność wyników złączenia Mogą obejmować 2+ role
Zewnętrzne ograniczenia unikalności Student (id) należy do u Grupa (kod) Nazwisko ma
Rozbijanie predykatów Projekt (id) C1 P1 A1 C1 P1 A2 C2 P1 A2 C2 P2 A2 Firma (nazwa) dostarcza do potrzebny... Towar (kod)
Rozbijanie predykatów P1 P1 P2 P2 C1 C1 C2 C2 Firma (nazwa) Projekt (id) P1 P1 P1 P2 A1 A2 A2 A2 Towar (kod)
Rozbijanie predykatów Firma Projekt Towar C1 P1 A1 C1 P1 A2 C2 P1 A1 C2 P1 A2 C2 P2 A2
Rozbijanie predykatów A1 A2 A2 A2 C1 C1 C2 C2 Firma (nazwa) Towar (kod) A1 A2 A2 A2 P1 P1 P1 P2 Projekt (id)
Rozbijanie predykatów Firma Projekt Towar C1 P1 A1 C1 P1 A2 C1 P2 A2 C2 P1 A2 C2 P2 A2
Rozbijanie predykatów
Rozbijanie predykatów Firma Projekt Towar C1 P1 A1 C1 P1 A2 C2 P1 A2 C2 P2 A2 Trzecie podejście brak fantomowych faktów Fakt może zostać rozbity Musimy mieć pewność, że populacja jest znacząca!
Dodaj ograniczenia ról obowiązkowych, sprawdź dane pochodne (logiczne) i schematy referencyjne KROK 5
Role obowiązkowe Rola obowiązkowa każda instancja encji musi partycypować w roli Zaznaczamy czarną kropką na jednym z końców linii łączących encję z predykatem Pomijamy oczywiste przypadki
Role obowiązkowe Pacjent ma Nazwisko ma NrTelefonu Pacjent ma Nazwisko ma NrTelefonu
Role obowiązkowe Rzeczywistość a model role obowiązkowe w rzeczywistości mogą być opcjonalne w modelu role opcjonalne w rzeczywistości mogą być obowiązkowe w modelu Wszystko zależy od wymagań
Role obowiązkowe Kandydat jest Płeć (kod) Rzeczywistość uzyskał Stopień (tytuł) Kandydat jest Płeć (kod) Wymagania uzyskał Stopień (tytuł)
Rozłączne role obowiązkowe (OR) Encja może obowiązkowo pełnić jedną lub więcej z wskazanych ról Dwie alternatywne notacje
Rozłączne role obowiązkowe Osoba jest trenerem Drużyna (kod) gra w jest trenerem Osoba Drużyna (kod) gra w
Encje zduplikowane i zewnętrzne Typy (encje) zduplikowane umieszczenie kilku kopii encji na diagramie wygoda poprawa czytelności konieczność zaznaczenia tego faktu Typy (encje) zewnętrzne encja pochodzi z innego modelu nie podajemy schematu referencyjnego
Encje zduplikowane i zewnętrzne Płeć (kod) jest Osoba (Nazwisko) urodzona Data (dmr) Data (dmr) dołączyła bierze Lek
Dane pochodne Oprócz nieskomplikowanych pochodnych arytmetycznych możemy mieć też do czynienia z pochodnymi logicznymi bardziej skomplikowany problem wymaga użycia wiedzy dotyczącej dziedziny problemu
Dane pochodne zatrudniony w Wydział (nazwa) Wykładowca (nazwisko) mieści się w pracuje w Budynek (numer)
Dane pochodne
Ograniczenia pochodne zatrudniony w Wydział (nazwa) Wykładowca (nazwisko) mieści się w pochodne pracuje w Budynek (numer)
Schematy referencyjne Kryteria wyboru identyfikatorów minimalna liczba składników stabilność łatwość rozpoznania przez użytkowników (tzw. nazwy semantyczne) Podstawowy identyfikator musi mapować 1:1 każdą z instancji encji na krotkę złożoną z jednej lub więcej wartości
Schematy referencyjne Preferujemy sytuację, gdy jedna wartość wystarcza do identyfikacji encji Czasem jednak potrzebne są dwie lub więcej wartości P w okręgu używamy do oznaczenia takich zbiorów wartości
Schematy referencyjne jest w Folder (nazwa) Plik P ma Nazwa Pliku
Schematy referencyjne W określonych sytuacjach możemy używać alternatywnych schematów referencyjnych niektóre role schematu referencyjnego mogą być opcjonalne
Schemat alternatywny jest w Rodzaj (nazwa) Nazwa Potoczna ma Ptak P ma Nazwa Gatunku
Role opcjonalne jest w Rodzaj (nazwa) Roślina ma u Nazwa Gatunku ma Podgatunek ma u Rząd (kod) Podnazwa ma
PYTANIA?