1 / 29

Projektowanie baz danych

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).

kirk
Download Presentation

Projektowanie baz danych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. data nr rodzaj POLISA limit 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. 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.)

  7. adres telefon ulica dom nr 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). 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. n-1 SAMOCH. OSOBA ma Diagramy Chena – związki Związek określamy pomiędzy zbiorami encji. • Funkcyjny (1-n) • Wieloznaczny (n-m) • Jednoznaczny (1-1) n-m SAMOCH. WYPADEK ud 1-1 PROTOK. WYPADEK z

  10. n-1 SAMOCH. OSOBA ma dataZak cena Diagramy Chena – atrybuty związku • Związek może mieć atrybuty • Inny sposób przedstawienia powyższego ma OSOBA SAMOCH. jest AKT_WŁAS cena data

  11. OSOBA SAMOCH. ma 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.

  12. PROTOKÓŁ WYPADEK dot. LIKWIDATOR 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. 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. POLISA_WST AGENT wystawił nrWst nrId dotyczy SAMOCHÓD nrRej Diagramy Chena –słabe zbiory encji

  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. OSOBA WYPADEK isa spowodował procWiny SPRAWCA stan Diagramy Chena – związki hierarchiczne (IS A)

  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 isa Optional 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

More Related