Projektowanie bazy danych, model związków encji
Transkrypt
Projektowanie bazy danych, model związków encji
Bazy Danych Projektowanie bazy danych, model związków encji Przygotował: mgr inż. Maciej Lasota Bazy Danych 1) 1 Projektowanie bazy danych Podczas projektowania bazy danych bardzo ważnym elementem jest zrozumienie celu oraz co próbujemy osiągnąć przez tworzenie bazy danych. Każda nowo projektowana baz danych powinna posiadać następujące kluczowe cechy i właściwości. 2) • Zdolność przechowywania potrzebnych danych. • Zdolność obsługi wymaganych związków (relacji). • Zdolność rozwiązywania problemu. • Zdolność do narzucania integralności danych. • Zdolność narzucania wydajności w przetwarzaniu danych. • Zdolność uwzględniania przyszłych zmian. Etapy projektowania Pierwszym etapem w projektowaniu bazy danych jest zebranie informacji o tym, do czego ma nam ona służyć. Na pierwszym miejscu należy określić cel projektowania bazy danych. Ważne jest znać cel przed rozpoczęciem zbierania bardziej szczegółowych informacji. Drugim etapem jest określenie obiektów, czyli zdefiniowanie kluczowych obiektów, które powinny się znaleźć w bazie danych. np. projektując bazę sklepu kluczowymi obiektami są klienci, zamówienia, produkty itd. Każdy stworzony obiekt posiada określone cechy np. klient posiada imię, nazwisko, adres itd. Trzeci etap, gdy każdemu obiektowi bazy danych przypiszemy określone cechy możemy dane obiekty przekształcić w tabele (w przypadku modelu relacyjnego). Na tym etapie obiekty nazywane są tabelami natomiast cechy określają kolumny w tabelach. Każda kolumna posiada określoną nazwę np. tabela klienci może posiadać kolumny imię, nazwisko, adres itd. Czwarty etap, najtrudniejszy polega na określeniu relacji między tabelami oraz krotności. Należy rozbić te kolumny, które mogą występować po kilka razy dla każdej tabeli. Dodatkowo należy zdecydować w jaki sposób poszczególne tabele wiążą się ze sobą. Bazy Danych 2 Ostatni etap, każdej tabeli przypisujemy klucze główne. Wyodrębniamy klucze kandydatów - potencjalne dane, które mogą się przyczynić do jednoznacznej identyfikacji każdego wiersza. Następnie wybieramy jeden z nich na klucz główny całej tabeli. W przypadku gdy nie można jednoznacznie określić żadnego klucza głównego lub uważamy, że klucze kandydaci nie nadają się do tego możemy stworzyć tzw. logiczny klucz główny. Logiczny klucz główny to dodatkowa kolumna w tabeli jednoznacznie identyfikująca każdy wiersz tabeli. 3) Model związków encji. Najbardziej powszechnym modelem abstrakcyjnie przedstawiającym strukturę bazy danych jest model związków encji (model E/R). W modelu E/R struktura danych jest reprezentowana graficznie jako „diagram związków encji”, w którym korzysta się z trzech typów elementów. Encje są pewnego rodzaju obiektami abstrakcyjnymi, a kolekcja podobnych encji tworzy zbiór encji. Encje określają coś co istnieje, co jest odróżnialne od innych, o czym informację trzeba znać lub przechowywać. Reprezentacją graficzną zbioru encji jest prostokąt. Atrybuty są to właściwości encji danego typu, reprezentują pewną wartość np. liczbę całkowitą, rzeczywistą lub napis. Opisują encje i dla każdego egzemplarza encji powinny przyjmować pojedynczą atomową wartość. Reprezentacją graficzną atrybutu jest elipsa. Związki są połączeniami między dwoma lub większą liczbą zbiorów encji. Wyróżniamy związki binarne (najczęściej stosowane) oraz związki wieloargumentowe. Reprezentacją graficzną związku jest romb. Bazy Danych 4) 3 Inne reprezentacje związków encji. Inną reprezentacją modelu związków encji są tabele zawierające atrybuty. Połączenia między tabelami realizowane są za pomocą następujących związku przedstawionych w tabeli poniżej: Związki między tabelami są zawsze dwukierunkowe, dlatego symbol będzie zawsze występował po dwóch stronach. Diagram należy czytać w kierunku tabeli, która nas interesuje. Bibliografia: [1] „Systemy baz danych”; Paul Beynon-Davies; Wydawnictwa NaukowoTechniczne, Warszawa 1998. [2] „Systemy Zarządzania Bazami Danych”; Lech Banachowski, Krzysztof Stencel; Wydawnictwo PJWSTK, Warszawa 2007 [3] „Systemy baz danych pełny wykład”; Hector Garcia-Molina, Jeffrey D. Ullman, Jennifer Widom; Wydawnictwa Naukowo-Techniczne, Warszawa 2006. [4] „SQL dl każdego”; Rafe Coburg; Wydawnictwa Helion, Gliwice 2000. [5] Dokumentacja Microsoft Access 2007; Microsoft Corp.