Wykład 9 Projektowanie BD Bazy Danych - A. Dawid 2011 1
Projektowanie systemów baz danych Podstawowe zagadnienia 1. Projektowanie w oparciu o analizę danych 2. Projektowanie w oparciu o analizę funkcji 3. Projektowanie pojęciowe 4. Strategie projektowania pojęciowego 5. Metoda projektowania pojęciowego Bazy Danych - A. Dawid 2011 2
Analiza danych Projektowanie systemu baz danych w oparciu o dane. Ang. data-driven (DD) Wymagania odnośnie DANYCH Projektowanie pojęciowe Analiza danych opis zawartości bazy danych niezależnie od konkretnej BD Model pojęciowy to język opisu schematu pojęciowego Schemat pojęciowy Projektowanie logiczne Schemat logiczny Projektowanie fizyczne Schemat fizyczny Opis struktury BD zależny do klasy BD MODEL LOGICZNY. Klasy modeli logicznych: Relacyjny, Sieciowy, Hierarchczny Opis struktury fizycznej i metod dostępu do BD zależny od SZBD Bazy Danych - A. Dawid 2011 3
Analiza funkcji Projektowanie systemu baz danych w oparciu o funkcje. Ang. function-driven (FD) Wymagania odnośnie FUNKCJI Analiza funkcji Schemat funkcjonalny Projektowanie aplikacji Schemat aplikacji Analiza zakres funkcji systemu, procesów,wymienianych informacji. Dane widziane jako izolowane składnice informacji. PROTOTYPOWANIE-KONSTRUKCJA. Zamiana schematu funkcjonalnego systemu na opis struktury aplikacji i opis sposobów dostępu do BD Projektowanie oprogramowania Specyfikacja programu Zakodowanie struktury aplikacji w postaci programu Bazy Danych - A. Dawid 2011 4
Projektowanie pojęciowe Projektowanie pojęciowe (konceptualne) jest niezależne od narzędzi. Wynikiem takiego projektowania jest pojęciowy model baz danych (model abstrakcyjny). Projektowanie pojęciowe jako proces myślowy Nie może zostać zautomatyzowane Nie może zostać sformalizowane Oparte jest na doświadczeniu, wiedzy o rzeczywistości i zrozumieniu tematu Wymaga abstrakcyjnego myślenia Jest subiektywnym spojrzeniem na rzeczywistość Bazy Danych - A. Dawid 2011 5
Projektowanie pojęciowe Zalety projektowanie pojęciowego Opis rzeczywistości niezależny od docelowego środowiska realizacji SZBD Może służyć jako punkt wyjścia po zmianie SZBD Swoboda wyboru docelowgo SZBD Może służyć jako jednolita podstawa do porównań w homogenicznych strukturach Decyzja o docelowym SZBD może być przesunięta na później Bazy Danych - A. Dawid 2011 6
Projektowanie pojęciowe Cechy projektowanie pojęciowego Pełnia wyrazu (Expressivness) Obszerny, wszechstronny, wyczerpujący i dokładny opis rzeczywistości. Łatwość, prostota (Simplicity) Łatwość tworzenia i weryfikacji oraz zrozumiałość. Minimalność (Minimality) Żadne pojęcie nie da się wyrazić przez kombinacje innych pojęć Formalność (Formality) Formalna, unikalna, precyzyjna i dobrze zdefiniowana reprezentacja rzeczywistości ( możliwość matematycznej obróbki pojęć formalnych) Graficzna reprezentacja Kompletna, rzetelna, przejrzysta. Bazy Danych - A. Dawid 2011 7
Projektowanie pojęciowe Strategie projektowanie pojęciowego Od ogółu do szczegółu (TOP-DOWN) - najpierw definiuje się ogólne pojęcia, a potem rozwija się je poprzez uszczegóławianie stosując bezkontekstowe elementy podstawowe (prymitywy) Od szczegółu do ogółu (BOTTOM-UP) - Najpierw definiuje się pojęcia elementarne, a następnie buduje się z nich struktury w celu stworzenia pojęć ogólnych Rozprzestrzeniania się (INSIDE-OUT) - Najpierw definiuje się pojęcia, które wydają się najważniejsze, a następnie rozwija się je poprzez dobudowywanie kolejnych pojęć, które stanowia ich uzupełnienie. Mieszana (MIXED) - Stosuje się różne z wyżej wymienionych strategi projektowania. Bazy Danych - A. Dawid 2011 8
Porównanie strategii projektowania pojęciowego STRATEGIA ZALETY WADY TOP-DOWN BOTTOM-UP INSIDE-OUT Dobry obraz ogólny (syntetyczny) zakresu systemu Brak nieporządanych efektów ubocznych Łatwa dla początkujących projektantów BD Decyzje projektowe podejmowane na poziomie lokalnym Łatwiejsze odkrywanie nowych pojęć, które są związane z już istniejącymi (wyodrębnionymi) Tylko dla ekspertów Czasami niewykonalna Niezbędna częsta przebudowa każdorazowo po dodaniu nowego pojęcia elementarnego Pełny ogólny obraz zakresu systemu dostępny tylko na koniec procesu projektowania MIXED Możliwość projektowania wg swoich możliwości i możliwości systemu Wymagane krytyczne decyzje odnośnie szkieletu schematu na początku projektowania Bazy Danych - A. Dawid 2011 9
Całkowity proces projektowania WEJŚCIA WYJŚCIA Wymagania odnośnie danych, aspekt statyczny Schemat danych Wymagania odnośnie zakresu funkcji, aspekt dynamiczny Wymagania odnośnie aplikacji, operacje wykonywane na danych Projektowanie danych i funkcji. Projektowanie aplikacji Schemat funkcji Schemat aplikacji Dokumentacja projektowa Bazy Danych - A. Dawid 2011 10
Czynności Analiza wymagań (Requirements analysis) Nadanie wymaganiom użytkownika pewnej ścisłej, spójnej struktury ułatwiajacej wykonanie kolejnych czynności. Obejmuje w szczegółach wymagań podanych przez użytkownika, precyzowanie założeń, eliminowanie niejasności i niespójności opisu rzeczywistości uzyskanej od użytkownika. Projektowanie wstępne (Initial Conceptualization) Wybór głownych pojęć, które będą reprezentowane na schemacie pojęciowym. Stosowana dla strategii TOP-DOWN i MIXED czasem dla INSIDE-OUT, a zupełnie pomijana dla strategii BOTTOM-UP. Rozwijanie (Incremental Conceptualization) Główna czynność projektowania pojęciwego prowadzona zgodnie z jedną ze strategii projektowania. Bazy Danych - A. Dawid 2011 11
Czynności Integrowanie (Integration) Łączenie różnych schematów cząstkowych w schemat całościowy. Polega na znajdowaniu elementów wspólnych reprezentujących te same pojęcia, jak również na rozstrzyganiu konfliktów między schematami cząstkowymi. Czynność typowa dla strategii BOTTOM-UP i MIXED. Przebudowanie (Restructuring) Poprawienie jakości zbudowanych schematów poprzez sprawdzenie ich poprawności, kompletności, spójności, minimalności i czytelności. Gdy nie spelnia tych warunków należy schemat przebudować. Bazy Danych - A. Dawid 2011 12
Postacie wymagań z punktu widzenia użytkownika Język naturalny (dokumenty statutowe, regulaminy, opisy narracyjne-niejasne, nieprecyzyjne, dwuznaczne, wymagające interpretacji, zależne od twórcy i obserwatora) Formularze (dokumenty wymiany informacji w organizacji) Formaty rekordów (dokumentacja istniejących systemów) Język naturalny zarowno pisany jak i mówiony jest dwuznaczny, bardzo zależy od zamysłu twórcy i interpretacji obserwatora. Bazy Danych - A. Dawid 2011 13
Postacie wymagań z punktu widzenia użytkownika Zasady stosowane przy analizie tekstu naturalnego 1. Wybieraj odpowiedni (ten sam) stopień abstarkcji dla używanych pojęć. MIEJSCE URODZENIA => MIASTO URODZENIA, LICZBA LAT => OKRES 2. Unikaj stosowania pojęć przykładowych zamiast pojęć ogólnych. LICZBA KOMPUTERÓW W MAGAZYNIE => LICZBA TOWARÓW W MAGAZYNIE 3. Unikaj wyrażeń opisowych. OSOBA PRZYJMUJĄCA PIENIĄDZE W OKIENKU => KASJERKA 4. Buduj zdania zawsze według takiego samego standardu. <PODMIOT><ORZECZENIE><DOPEŁNIENIE> 5. Uważaj na synonimy i homonimy (unikaj ich stosowania). NAUCZYCIEL=WYKŁADOWCA=PROFESOR, MIEJSCE(MIASTO)-MIEJSCE(SALA) BOGATE SŁOWNICTWO => SYNONIMY, UBOGIE SŁOWNICTWO => HOMONIMY 6. Stosuj jasne (bezpośrednie) odwołania między używanymi terminami. DZIEŃ: DZIEŃ TYGODNIA,DZIEŃ MIESIĄCA, DZIEŃ KOLEJNY W ROKU 7. Buduj słownik używanych pojęć TWORZENIE PRACOCHŁONNE, AlE SŁOWNIK BARDZO UŻYTECZNY Bazy Danych - A. Dawid 2011 14
ANALIZA DANYCH Model danych zbiór pojęć, które mogą być użyte do opisu grupy danych i operacji wykonywanych na nich. Rodzaje Pojęciowy model danych Model danych opisujący zestaw pojęć z wybranej rzeczywistości. Rzeczywistość reprezentowana jest na wysokim poziomie abstrakcji poprzez opis językowy i reprezentację graficzną. Opis łatwy w zrozumieniu i interpretacji Logiczny model danych Model danych wspomagający opis danych w taki sposób aby mógł być on przetwarzany przy pomocy komputera (sieciowy, hierarchiczny, relacyjny, obiektowy) Bazy Danych - A. Dawid 2011 15
ANALIZA DANYCH MODEL SCHEMAT Model dostarcza regół niezbędnych do opisu rzeczywistości Schemat reprezentuje wybrany obszar rzeczywistości i jest zbudowany na podstawie konkretnego modelu. Jest statycznym, niezmiennym w czasie zbiorem słownych i graficznych reprezentacji, które opisują strukturę danych wybranego z rzeczywistości obszaru WYSTĄPIENIE Wystąpienie jest dynamicznym, zmiennym w czasie zbiorem danych odpowiadających strukturze danych zdefiniowanych w schemacie. Każdy schemat może mieć wiele wystąpień, z których każdy odpowiada pewnemu stanowi na daną chwilę Bazy Danych - A. Dawid 2011 16
ANALIZA DANYCH Poziomy opisu danych Propozycja komitetu ANSI/SPARC Można wyróżnić trzy poziomy opisu danych: Zewnętrzny (External) (Opisuje punkt widzenia wybranej grupy użytkowników, prezentuje tylko te informacje, które związane są tylko z tą grupą Pojęciowy (Conceptual) (Dostarcza niezależny, ogólny, abstrakcyjny opis całości informacji danej rzeczywistości. Wewnętrzny (Internal) (Dostarcza zależny od środowiska realizacji opis fizycznej implementacji informacji danej rzeczywistości Bazy Danych - A. Dawid 2011 17
ANALIZA DANYCH Sposoby abstrakcji Klasyfikacja (Classification) - Wyróżnianie pojęć jako klas obiektów rzeczywistości posiadających wspólne cechy uważane za istotne z punktu widzenia celów analizy Grupowanie (Aggregation) - Wyróżnianie nowych klas obiektów rzeczywistości wyższego rzędu, na podstawie klas obiektów składowych Uogólnienie (Generalization) - Wyróżnienie wspólnych cech podobnych klas obiektów rzeczywistości i grupowanie ich w nowe obiekty MIESIĄC STYCZEŃ LUTY... GRUDZIEŃ ROWER RAMA PEDAŁY KIEROWNICA POJAZD JEDNOŚLAD OSOBOWY CIĘŻAROWY Bazy Danych - A. Dawid 2011 18
ANALIZA DANYCH Rodzaje uogólnienia Całkowite rozłączne Częściowe rozłączne OSOBA POJAZD MĘŻCZYZNA KOBIETA ROWER SAMOCHÓD OSOBOWY Częściowe łączne Całkowite łączne MĘŻCZYZNA OSOBA GRACZ PRACOWNI K PIEKARZ PIŁKARZ Bazy Danych - A. Dawid 2011 19
ODWZOROWANIA Wzajemnie jednoznaczne A B a1 b1 a2 a4 a3 b2 b4 b3 a1 A a2 A b B a A a1 a2 f ( a1) f ( a) = b f ( a2) Bazy Danych - A. Dawid 2011 20
ODWZOROWANIA Całkowite (N:1) A B a1 b1 a5 a2 a6 a7 a3 b2 b3 b4 a4 a Df b Wf Df = A b B a A f f ( a) ( a) = b = b Bazy Danych - A. Dawid 2011 21
ODWZOROWANIA Częściowe (N:1) A a1 a5 a2 a6 a7 a4 a3 B b1 b2 b3 b4 Df A Bazy Danych - A. Dawid 2011 22
ODWZOROWANIA Wielokrotne (M:N) A a1 a5 a2 a6 a7 a4 a3 B b1 b2 b3 b4 R A B Bazy Danych - A. Dawid 2011 23