Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Projektowanie baz danych
2
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
3
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.
4
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
5
Diagramy Chena – atrybuty
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. nr data rodzaj limit POLISA nrRej marka SAMOCHÓD rokPr
6
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
7
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). adres nr dom ulica telefon wiek wielokrotny wyliczany złożony
8
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?). nr data Na diagramie atrybuty główne oznaczamy przez podkreślenie nazwy. rodzaj POLISA limit
9
Diagramy Chena – związki
Związek określamy pomiędzy zbiorami encji. Funkcyjny (1-n) Wieloznaczny (n-m) Jednoznaczny (1-1) SAMOCH. OSOBA ma n-1 n-m SAMOCH. WYPADEK ud 1-1 PROTOK. WYPADEK z
10
Diagramy Chena – atrybuty związku
Związek może mieć atrybuty Inny sposób przedstawienia powyższego SAMOCH. OSOBA ma n-1 dataZak cena ma OSOBA SAMOCH. jest AKT_WŁAS cena data
11
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 SAMOCH. ma
12
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ÓŁ LIKWIDATOR WYPADEK dot. KLASA PRZEDMIOT ucz. NAUCZYCIEL
13
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
14
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.
15
Diagramy Chena –słabe zbiory encji
POLISA_WST AGENT SAMOCHÓD wystawił dotyczy nrWst nrId nrRej
16
Diagramy Chena –słabe zbiory encji
nr GRUPA_JĘZ KLASA ma lUcz jestWych nazwa uczyJęz NAUCZYCIEL nrId nazwisko
17
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.
18
Diagramy Chena – związki hierarchiczne (IS A)
OSOBA SPRAWCA WYPADEK isa spowodował procWiny stan
19
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)
20
Diagramy Chena – związki hierarchiczne (IS A)
WYPADEK OSOBA Mandatory, Or Optional isa isa ZE_SPR NIE_WYKR spowodował SPRAWCA procWiny stan
21
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
22
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
23
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;
24
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.
25
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. gs MECZ zawodnicy grający w meczu; kontrola, czy są z właściwych klubów; KLUB gś ZAWODNIK w gra
26
Większy przykład
27
Podsumowanie procesu tworzenia modelu konceptualnego
określ zbiory encji; określ związki pomiędzy zbiorami encji i ich rodzaj; określ atrybuty encji i związków (uwaga na atrybuty redundantne); wyznacz dziedziny atrybutów i ich ograniczenia; wyznacz klucze kandydujące i wybierz klucze główne; określ więzy ogólne;
28
Podsumowanie – cd. zweryfikuj projekt sprawdzając, czy warto zastosować specjalizację/generalizację lub agregację/kompozycję; zweryfikuj związki 1-1 i usuń ewentualne związki redundantne; nanieś na diagram ścieżki związane z transakcjami użytkownika i sprawdź, czy realizacja transakcji jest możliwa; zweryfikuj model z klientem.
29
UML – unified modeling language
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.