Projektowanie bazy danych Planowanie bazy danych Planowanie najbardziej
Projektowanie bazy danych : Planowanie bazy danych – Planowanie najbardziej skutecznych i wydajnych metod realizacji faz cyklu życia; Definicja systemu – Określenie zakresu i granic stosowania danej aplikacji bazy danych, wskazanie jej użytkowników oraz obszarów zastosowań; Gromadzenie i analiza wymagań – Zbieranie i analiza wymagań pochodzących od użytkowników i wynikających z obszarów zastosowań; Projektowanie bazy danych – Projektowanie konceptualne, logiczne i fizyczne bazy danych; 1
Selekcja SZBD (opcjonalnie) – Wybór SZBD odpowiedniego dla aplikacji bazy danych; Projektowanie aplikacji – Projektowanie interfejsów użytkowników i programów użytkowych, które będą przetwarzać bazę danych; Tworzenie prototypów (opcjonalnie) – Budowanie działającego modelu aplikacji bazy danych, który pozwala projektantom i użytkownikom zobrazować i ocenić sposób działania i wygląd końcowego systemu; Implementacja – Tworzenie zewnętrznych, konceptualnych i wewnętrznych definicji bazy danych i programów użytkowych; 2
Konwersja i przenoszenie danych – Przenoszenie danych ze starego systemu do nowego; Testowanie – Testowanie i usuwanie błędów z aplikacji bazy danych oraz sprawdzenie zgodności z wymaganiami użytkowników; Bieżąca konserwacja – Aplikacja bazy danych jest w pełni zaimplementowana; System jest na bieżąco monitorowany i konserwowany; W razie potrzeby do aplikacji bazy danych są wprowadzane nowe wymagania poprzez ponowne przejście przez powyższe fazy. 3
Definicja systemu: Definicja systemu – określa zakres i granice stosowania danej aplikacji bazy danych oraz głównych perspektyw użytkowników. Perspektywa użytkownika 1 Perspektywa użytkownika 6 Perspektywa użytkownika 2 Perspektywa użytkownika 5 Perspektywa użytkownika 4 Perspektywa użytkownika 3 Perspektywa użytkownika – definiuje, jakie są oczekiwania wobec aplikacji z punktu widzenia konkretnego stanowiska pracy lub pewnego obszaru zastosowań w przedsiębiorstwie. Baza danych Aplikacja bazy danych 4
Kryteria optymalności modelu: poprawność – zgodność ze sposobem definiowania i organizacji danych w przedsiębiorstwie; prostota – zrozumiałość zarówno dla informatyków, jak i nieprofesjonalnych użytkowników; wyrażalność – zdolność odróżniania różnych typów danych, związków pomiędzy danymi oraz więzów; brak redundancji – eliminacja niepotrzebnych informacji w szczególności dbałość o reprezentowanie każdej informacji tylko raz; rozszerzalność – zdolność do rozbudowy o elementy realizujące nowe wymagania przy minimalnych skutkach dla istniejących użytkowników; integralność – zgodność ze sposobami wykorzystywania informacji i zarządzania nią w przedsiębiorstwie; łatwość graficznej prezentacji – zdolność reprezentacji modelu za 5 pomocą prostych i zrozumiałych schematów.
Techniki zbierania informacji: Zbieranie informacji – proces wykorzystujący takie techniki, jak ankiety i wywiady, do zebrania faktów dotyczących systemów, wymagań i preferencji. Najczęściej używane techniki zbierania informacji: • Analiza dokumentacji • Wywiady • Obserwacja działalności przedsiębiorstwa • Prowadzenie badań • Ankietowanie 6
Więzy strukturalne: Najbardziej powszechnymi związkami są związki binarne, które można podzielić na: • wzajemnie jednoznaczne (1: 1); • typu „jeden do wielu” (1: *); • typu „wiele do wielu”. Np. : • osoba z personelu zarządza biurem (1: 1); • osoba z personelu nadzoruje nieruchomości do wynajęcia (1: *); • gazety ogłaszają nieruchomości do wynajęcia (*: *). 7
Związki wzajemnie jednoznaczne: Sieć semantyczna przedstawiająca dwa wystąpienia związku Personel Zarządza Biuro: Personel Zbiór encji (pracownik. Nr) SG 5 Związek Zarządza Zbiur encji Biuro (biuro. Nr) r 1 B 003 r 2 B 005 SG 37 SL 21 8
Związki wzajemnie jednoznaczne: Wyznaczenie krotności związku wymaga na ogół wykorzystania próbek danych i dokładnego zbadania powiązań pomiędzy danymi występującymi w tym związku. “Każde biuro jest zarządzane przez jedną osobę z personelu” Personel pracownik. Nr “Osoba z personelu zarządza zero lub jednym biurem” Biuro Zarządza 1. . 1 0. . 1 biuro. Nr Krotność 9
Związek typu „jeden do wielu”: Sieć semantyczna przedstawiająca trzy wystąpienia związku Personel Nadzoruje Nieruchomość: Personel Zbiór encji (pracownik. Nr) Związek Nadzoruje SG 5 r 1 SG 37 r 2 SA 9 r 3 Zbiór encji Nieruchomość (nieruchomośćNr) PG 21 PG 36 PA 14 PG 4 10
Związek typu „jeden do wielu”: “Każda nieruchomość do wynajęcia jest nadzorowana przez zero lub jednego pracownika” Personel pracownik. Nr “Każdy pracownik nadzoruje zero lub więcej nieruchomości do wynajęcia” Nieruchomość Nadzoruje 0. . 1 0. . * nieruchomośćNr 11
Związek typu „wiele do wielu”: Sieć semantyczna przedstawiająca cztery wystąpienia związku Gazeta Ogłasza Nieruchomość: Encja Gazeta Związek Encja Nieruchomość (nazwa. Gazety) Ogłasza (nieruchomośćNr) Głos r 1 PG 21 r 2 Gazeta Poranny r 3 r 4 PG 36 PA 14 PG 4 12
Związek typu „wiele do wielu”: “Każda nieruchomość do wynajęcia jest ogłaszana w zero lub więcej gazet” Gazeta nazwa. Gazety “Każda gazeta ogłasza jedną lub więcej nieruchomości do wynajęcia” Nieruchomość Ogłasza 0. . * 1. . * nieruchomośćNr 13
Metodologia projektowania: - kompleksowe podejście wykorzystujące procedury, techniki, narzędzia oraz metody tworzenia dokumentacji służące realizacji i uproszczeniu procesu projektowania. Konceptualne projektowanie bazy danych – proces tworzenia modelu dla informacji wykorzystywanych w przedsiębiorstwie, niezależny od wszelkich szczegółów reprezentacji fizycznej. Logiczne projektowanie bazy danych – proces tworzenia modelu dla informacji wykorzystywanych w przedsiębiorstwie, przystosowanego do konkretnego modelu danych (np. model relacyjny), niezależnego od konkretnego SZBD i innych szczegółów implementacji fizycznej. Fizyczne projektowanie bazy danych – proces tworzenia opisu implementacji bazy danych w pamięci zewnętrznej, który zawiera relacje bazowe, organizację plików, indeksy stosowane dla uzyskania efektywnego dostępu do danych, a także wszystkie więzy integralności 14 i zagadnienia bezpieczeństwa.
Główne zasady efektywnego projektowania baz danych: • jak najwięcej kontaktuj się z użytkownikami bazy danych; • postępuj zgodnie z przyjętą metodologią; • uwzględniaj w modelu kwestie struktury i integralności danych; • stosuj w trakcie projektowania techniki normalizacji; • wszędzie, gdzie to możliwe, wyrażaj model danych za pomocą diagramów; • utwórz słownik danych uzupełniający diagramy; • zawsze, gdy zachodzi taka potrzeba, powtarzaj odpowiednie kroki modelowania. 15
Fragment słownika danych przedstawiający opis atrybutów: Nazwa zbioru encji Atrybuty Opis Typ danych i długość Wartości puste . . . Personel personel. Nr imięNazwisko imię nazwisko stanowisko płeć data. Ur Jednoznacznie identyfikuje pracownika Imię pracownika Nazwisko pracownika Nazwa zajmowanego stanowiska Płeć pracownika Data urodzenia pracownika łańcuch, dł. maks. 5 łańcuch, dł. maks. 15 łańcuch, dł. maks. 10 łańcuch, dł. 1 (M lub K) data Nie Nie Tak . . . Nieruchomosc ieruchom. Nr. . . Jednoznacznie identyfikuje nieruchomość do wynajęcia łańcuch, dł. maks. 5 Nie . . Fragment słownika danych prezentujący opis związków: Nazwa encji Krotność Związek Nazwa encji Krotność Personel 0. . 1 Zarządza Kieruje Nieruchomość Personel 0. . 100 0. . 10 Nieruchomość 1. . 1 Skojarzona. Z Wynajęcie 0. . * . . . . 16
Redundancja danych i anomalie aktualizacji: Główne zadanie w projektowaniu relacyjnej bazy danych to pogrupowanie atrybutów w relacje w sposób, który minimalizuje redundancję danych – efektem jest zmniejszenie wymagań pamięciowych dla plików implementujących bazowe relacje. Np. porównanie relacji: Personel. Biuro z relacjami: Personel Biuro 17
Personel. Biuro: pracownik. Nr imięNazwisko stanowisko pensja biuro. Nr adres Sl 21 Jan Wiśniewski dyrektor 3000 B 005 Dobra 22, Łomża, 18 -400 SG 37 Anna Biały asystent 1200 B 003 Akacjowa 16, Augustów, 16 -300 SG 14 Daniel Frankowski kierownik 1800 B 003 Mała 63, Grajewo, 19 -200 SA 9 Maria Hojna asystent 900 B 007 Miodowa 32, Białystok, 15 -900 SG 5 Sabina Bober dyrektor 2400 B 003 Mała 63, Grajewo, 19 -200 SL 41 Julia Lisicka asystent 900 B 005 Cicha 56, Łomża, 18 -400 Personel: Biuro: pracownik. Nr imięNazwisko stanowisko pensja biuro. Nr Sl 21 Jan Wiśniewski dyrektor 3000 B 005 SG 37 Anna Biały asystent 1200 B 003 SG 14 Daniel Frankowski kierownik 1800 B 003 SA 9 Maria Hojna asystent 900 B 007 SG 5 Sabina Bober dyrektor 2400 B 003 SL 41 Julia Lisicka asystent 900 B 005 biuro. Nr adres B 003 Mała 63, Grajewo, 19 -200 B 005 Dobra 22, Łomża, 18 -400 B 007 Miodowa 32, Białystok, 15 -900 18
Takie relacje zawierające redundantne dane mogą być przyczyną anomalii aktualizacji, które dzielą się na: • anomalie wstawienia (przy nowym pracowniku informacje o biurze mogą być błędnie wpisane – niespójność bazy); • anomalie usuwania (po usunięciu informacji o pracowniku znikają informacje o biurze); • anomalie modyfikacji (gdy zmiana adresu biura trzeba zmienić we wszystkich rekordach pracowników tego biura). Poprzez dekompozycję relacji Personel. Biuro na relacje Personel i Biuro pozbywamy się problemu anomalii aktualizacji. 19
Postać nieznormalizowana – tabela zawierająca co najmniej jedną powtarzającą się grupę. Nieznormalizowana tabela Klient. Wynajęcie: klient k. Imie nierucho. Nr Nazwisko mosc. Nr CR 76 CO 56 Janusz Kalinowski Alicja Stefańska n. Adres wynajete czynsz własciciel od do Nr w. Imie Nazwisko B 4 Leśna 6, Białystok 15 -900 01. 07. 2006 31. 08. 2007 350 CO 40 Tatiana Marcinkowska B 16 Nowa 5, Białystok 15 -900 01. 09. 2006 01. 09. 2007 450 CO 93 Tomasz Szymański B 4 Leśna 6, Białystok 15 -900 01. 09. 2007 01. 06. 2008 350 CO 40 Tatiana Marcinkowska B 36 Mała 2, Białystok 01. 10. 15 -900 2006 01. 12. 2007 375 CO 93 Tomasz Szymański B 16 Nowa 5, Białystok 15 -900 01. 08. 2008 450 CO 93 Tomasz Szymański 01. 11. 2007 20
Zestawienie relacji w 3 NF: Klient klient. Nr CR 76 CO 56 Wynajęcie Nierucho mość Właściciel k. Imie. Nazwisko Janusz Kalinowski Alicja Stefańska klient. Nr CR 76 CO 56 nieruchomosc. Nr B 4 B 16 B 36 własciciel. Nr CO 40 CO 93 nieruchomosc. Nr B 4 B 16 B 4 B 36 B 16 wynajete. Od 01. 07. 2006 01. 09. 2007 01. 10. 2006 01. 11. 2007 n. Adres Leśna 6, Białystok 15 -900 Nowa 5, Białystok 15 -900 Mała 2, Białystok 15 -900 w. Imie. Nazwisko Tatiana Marcinkowska Tomasz Szymański wynajete. Do 31. 08. 2007 01. 09. 2007 01. 06. 2008 01. 12. 2007 01. 08. 2008 czynsz 350 450 375 własciciel. Nr CO 40 CO 93 21
- Slides: 21