Projektowanie baz danych
Etapy procesu projektowania BD Określenie celów, jakim ma służyć baza danych (w kontakcie z decydentem z firmy zamawiającej projekt). Sprecyzowanie zakresu dostępnych danych, kategorii użytkowników oraz funkcji realizowanych poprzez aplikacje. Ewentualny podział projektu na perspektywy użytkowników (w kontakcie z pracownikami firmy zamawiającej). Modelowanie bazy danych
Modelowanie BD konceptualne (bez odniesienia do SZBD) zapisanie informacji o projekcie w standardowej notacji ER (diagramy Chena lub UML) niezależnej od docelowego SZBD. logiczne (dla SZBD konkretnego typu, np. relacyjnego lub obiektowego) podział danych na struktury dostępne w SZBD. fizyczne (dla konkretnego SZBD) zdefiniowanie dziedzin, relacji, indeksów, perspektyw, użytkowników z uprawnieniami itp.
Diagramy Chena zbiór encji Zbiór jednorodnych elementów, o skończonej, regularnej strukturze, które można wyróżnić w zagadnieniu rzeczywistym. SAMOCHÓD OSOBA POLISA WYPADEK
Diagramy Chena atrybuty nrrej Cecha encji (mają ją wszystkie encje z zadanego zbioru); encja ma ustaloną liczbę atrybutów, a w systemie nie zapisujemy innych cech encji niż atrybuty. marka SAMOCHÓD rokpr nr data POLISA rodzaj limit
Diagramy Chena dziedziny dla atrybutu określamy typ jego wartości oraz ewentualne ograniczenia nałożone na te wartości (zakres, format itp.)
Diagramy Chena rodzaje atrybutów Proste (atomowe) lub złożone ze składowych (np. adres: miasto, ulica, dom, nr); Jednokrotne (każda encja ma przypisaną tylko jedną wartość) lub wielokrotne (encja może mieć do k wartości danego atrybutu); Wyliczane (wartość wirtualna wyliczana na podstawie pozostałych atrybutów tej encji). ulica złożony adres dom nr telefon wielokrotny wiek wyliczany
Diagramy Chena klucze Klucz minimalny podzbiór atrybutów encji pozwalający jednoznacznie wyznaczyć encję; Klucz kandydujący dowolny klucz zbioru encji; Klucz główny wybrany jeden klucz spośród kandydujących; Klucze alternatywne klucze kandydujące oprócz głównego; Atrybuty główne atrybuty klucza (głównego?). Na diagramie atrybuty główne oznaczamy przez podkreślenie nazwy. nr data POLISA rodzaj limit
Diagramy Chena związki Związek określamy pomiędzy zbiorami encji. Funkcyjny (1-n) SAMOCH. ma n-1 OSOBA Wieloznaczny (n-m) SAMOCH. ud n-m Jednoznaczny (1-1) WYPADEK PROTOK. z 1-1 WYPADEK
Diagramy Chena atrybuty związku Związek może mieć atrybuty SAMOCH. ma n-1 OSOBA datazak cena Inny sposób przedstawienia powyższego SAMOCH. jest ma OSOBA data AKT_WŁAS cena
Diagramy Chena wymuszanie związku Związek łączący zbiory encji E i F oznacza, że każda encja ze zbioru E może wystąpić w związku z encją ze zbioru F. Na diagramie możemy zaznaczyć, że każda encja z E musi być w związku z przynajmniej jedną encją z F. Poniżej zapisaliśmy, że samochód musi mieć właściciela. OSOBA ma SAMOCH.
Diagramy Chena związki k-arne Możliwe są związki pomiędzy >2 zbiorami encji. Takie związki wymagają ostrożności przy określaniu jednoznaczności (wstawianiu strzałek) i uwzględnianiu braku niektórych encji. PROTOKÓŁ WYPADEK KLASA PRZEDMIOT dot. LIKWIDATOR ucz. NAUCZYCIEL
Diagramy Chena związki rekurencyjne Związek pomiędzy encjami tego samego zbioru. Definiując taki związek określamy rolę każdej z encji w związku. kupiła OSOBA nabyła sprzedała
Diagramy Chena słabe zbiory encji Zbiór encji E (powiązany z pewnym nadrzędnym zbiorem encji F związkiem funkcyjnym Z), którego elementy są rozróżnialne tylko lokalnie (w grupie encji e IN E będących w związku z konkretną encją nadrzędną f IN F), a globalnie mogą być identyczne. Taki zbiór encji E nie posiada samodzielnego klucza. Może mieć atrybuty kluczowe tworzące klucz lokalny, które w połączeniu z kluczem F, tworzą jego klucz globalny. Słaby zbiór encji musi być powiązany z pewnym nadrzędnym zbiorem encji związkiem funkcyjnym lub jednoznacznym.
Diagramy Chena słabe zbiory encji nrwst POLISA_WST wystawił AGENT dotyczy SAMOCHÓD nrid nrrej
Diagramy Chena słabe zbiory encji nr lucz GRUPA_JĘZ ma KLASA uczyjęz jestwych NAUCZYCIEL nazwa nazwisko nrid
Diagramy Chena związki hierarchiczne (IS A) Występuje, gdy zbiór encji E stanowi podklasę zbioru encji F, czyli encje E mają wszystkie atrybuty encji F i wchodzą we wszystkie związki, w jakie wchodzą encje F. Dodatkowo encje E mogą mieć własne atrybuty i wchodzić w dodatkowe związki.
Diagramy Chena związki hierarchiczne (IS A) OSOBA WYPADEK isa spowodował SPRAWCA stan procwiny
Diagramy Chena związki hierarchiczne (IS A) Zbiór encji nadrzędnych F można rozbić na podklasy E1, E2,, Ek. Możemy wówczas wskazać, czy każda encja ze zbioru F musi wystąpić w przynajmniej jednej podklasie (Mandatory, przeciwnie Optional) i czy może wystąpić w więcej niż jednej podklasie (And, przeciwnie Or)
Diagramy Chena związki hierarchiczne (IS A) OSOBA isa Optional WYPADEK Mandatory, Or isa ZE_SPR NIE_WYKR SPRAWCA spowodował stan procwiny
Diagramy Chena dodatkowe więzy integralności Warunki, których nie da się przedstawić na diagramie zapisujemy w komentarzach do projektu przedstawionego w postaci diagramu
Typowe błędy - związki FAN TRAP zgubienie związku funkcyjnego A:1-n:B przez zastosowanie A:n-1:C i C:1-m:B; CHASM TRAP zgubienie związku funkcyjnego A:1-n:B przez zastosowanie związków A:1-n:C:1-n:B
Typowe błędy encje i atrybuty Stosowanie związku 1-1 może być zastąpione połączeniem encji w jedną; Umieszczenie wśród atrybutów encji atrybutów kluczowych innych encji służących do zaznaczenia istnienia związku;
Użytkownicy i perspektywy Metoda syntezy stworzenie odrębnych modeli konceptualnych dla różnych użytkowników i połączenie ich w jeden model bazy. Metoda wydzielania perspektyw tworzymy jeden model globalny i wydzielamy w nim obszary danych dostępnych dla poszczególnych użytkowników.
Weryfikacja transakcji Dla każdej transakcji użytkownika: na diagram nanosimy ścieżki biegnące po liniach związków łączących dane potrzebne do wykonania transakcji. W ten sposób sprawdzamy, czy realizacja transakcji jest możliwa, wykrywamy miejsca krytyczne w diagramie itp. KLUB w gs gś ZAWODNIK MECZ gra zawodnicy grający w meczu; kontrola, czy są z właściwych klubów;
Większy przykład
Podsumowanie procesu tworzenia modelu konceptualnego 1. określ zbiory encji; 2. określ związki pomiędzy zbiorami encji i ich rodzaj; 3. określ atrybuty encji i związków (uwaga na atrybuty redundantne); 4. wyznacz dziedziny atrybutów i ich ograniczenia; 5. wyznacz klucze kandydujące i wybierz klucze główne; 6. określ więzy ogólne;
Podsumowanie cd. 1. zweryfikuj projekt sprawdzając, czy warto zastosować specjalizację/generalizację lub agregację/kompozycję; 2. zweryfikuj związki 1-1 i usuń ewentualne związki redundantne; 3. nanieś na diagram ścieżki związane z transakcjami użytkownika i sprawdź, czy realizacja transakcji jest możliwa; 4. zweryfikuj model z klientem.
UML unified modeling language