Projektowanie bazy danych
Technikum » SBD » Projektowanie bazy danych
W bazie danych przechowujemy tylko niektóre informacje o świecie rzeczywistym. Wybór właściwych wycinków rzeczywistości i dotyczących ich danych jest bardzo istotny — od niego zależy prawidłowe działanie bazy. Aby ten wybór był właściwy, należy wskazać informacje, które powinny być przechowywane w bazie danych, oraz określić ich strukturę.
Cały proces projektowania bazy danych możemy podzielić na kilka etapów:
- planowanie bazy danych,
- tworzenie modelu konceptualnego (diagramu ERD),
- transformacja modelu konceptualnego na model relacyjny,
- proces normalizacji bazy danych,
- wybór struktur i określenie zasad dostępu do bazy danych.
Z punktu widzenia relacyjnej bazy danych świat rzeczywisty widzimy i analizujemy jako zestaw encji i związków zachodzących między nimi.
Encja
Encją jest każdy przedmiot, zjawisko, stan lub pojęcie, czyli każdy obiekt, który potrafimy odróżnić od innych obiektów (na przykład: osoba, samochód, książka, stan pogody)
Encje podobne do siebie (opisywane za pomocą podobnych parametrów) grupujemy w zbiory encji. Projektując bazę danych, należy precyzyjnie zdefiniować encje i określić parametry, przy użyciu których będą opisywane.
Atrybut
Encje mają określone cechy wynikające z ich natury. Cechy te nazywamy atrybutami. Zestaw atrybutów, które określamy dla encji, zależy od potrzeb bazy danych.
Dziedzina
Atrybuty encji mogą przyjmować różne wartości. Projektując bazę danych, możemy określić, jakie wartości może przyjmować dany atrybut. Zbiór wartości atrybutu nazywamy dziedziną (domeną).
Planowanie bazy danych
Ponieważ trudno uniknąć błędów podczas wprowadzania danych, należy odpowiednio zabezpieczyć się przed nimi na etapie projektowania bazy danych.
Należy pamiętać, że prawidłowa klasyfikacja danych jest podstawą dobrego projektu bazy danych. Najgorsze efekty otrzymujemy, próbując zaprojektować bazę danych, która będzie gromadziła wszystkie możliwe dane i przetwarzała je na wszystkie możliwe sposoby.
Każda encja powinna mieć przynajmniej jeden atrybut lub kombinację kilku atrybutów, które identyfikują ją jednoznacznie. Ten atrybut to klucz podstawowy encji.
Jeśli klucz podstawowy składa się z kilku atrybutów, dobrym rozwiązaniem jest zastąpienie go kluczem sztucznym. Najczęściej zawiera on unikatowe liczby przypisane kolejnym encjom.
Projektowanie modelu bazy danych powinno składać się z następujących działań:
- określenie występujących zbiorów encji,
- określenie atrybutów przypisanych do poszczególnych encji,
- określenie dziedziny poszczególnych atrybutów,
- ustalenie kluczy podstawowych,
- określenie typów występujących związków,
- zweryfikowanie utworzonego modelu.
Diagramy związków encji (diagramy ERD)
Konceptualne projektowanie bazy danych to konstruowanie schematu danych niezależnego od wybranego modelu danych, docelowego systemu zarządzania bazą danych, programów użytkowych czy języka programowania.
Do tworzenia modelu graficznego schematu bazy danych wykorzystywane są diagramy związków encji, z których najpopularniejsze są diagramy ERD (ang. Entity Relationship Diagram). Pozwalają one na modelowanie struktur danych oraz związków zachodzących między tymi strukturami. Nadają się szczególnie do modelowania relacyjnych baz danych, ponieważ umożliwiają prawie bezpośrednie przekształcenie diagramu w schemat relacyjny.
Diagramy ERD składają się z trzech rodzajów elementów:
- zbiorów encji,
- atrybutów encji,
- związków zachodzących między encjami.
Encja to reprezentacja obiektu przechowywanego w bazie danych.
Graficzna reprezentacja encji
Atrybut opisuje encję. Może on być liczbą, tekstem lub wartością logiczną.
Graficzna reprezentacja atrybutów dla encji Klient
Związek jest to powiązanie między dwiema lub kilkoma encjami. Każdy związek ma dwa końce, do których są przypisane następujące atrybuty:
- nazwa,
- stopień związku,
- uczestnictwo lub opcjonalność związku. Atrybut ten określa, czy związek jest opcjonalny, czy wymagany.
Graficzna reprezentacja związków zachodzących między encjami
Graficzna reprezentacja opcjonalności związku
Diagramy ERD spotyka się w wielu różnych notacjach, na przykład: Martina, Bachmana, Chena, IDEFIX. Istnieje wiele narzędzi wspomagających rysowanie diagramów ERD, ale jedynie w przypadku narzędzi klasy CASE (ang. Computer Aided Software Engineering) można mówić o określonej notacji.
Prosty przykład diagramu ERD w notacji Martina dla księgarni internetowej
W pokazanym na rysunku schemacie encje zostały przedstawione za pomocą zaokrąglonych prostokątów zawierających listę atrybutów. Klucze główne oznaczone (KP). Stopień związku i uczestnictwo zostały oznaczone liniami łączącymi z odpowiednimi symbolami opisującymi stopień oraz opcjonalność związku. Należy zwrócić uwagę na to, że w encjach nie umieszcza się kluczy obcych. Zostaną one dodane na etapie przekształcania encji na tabele.
Tak przygotowany diagram ERD pozwała na późniejszą weryfikację i optymalizację bazy danych, a także stanowi podstawową dokumentację projektowanej bazy danych. Można go również wykorzystać w jednym z narzędzi CASE do wygenerowania fizycznej struktury bazy danych.
Reguły projektowania tabel
- Do opisu każdego zbioru podobnych encji stosuje się oddzielną tabelę. jednej encji odpowiada jeden wiersz. Atrybutowi odpowiada kolumna. Dla każdego atrybutu określa się typ informacji.
- Do opisu każdego dwustronnego związku między encjami można użyć oddzielnej tabeli. Kolumny tabeli są tworzone z kluczy encji należących do związku.
- Zapis związku jeden do jednego lub wiele do jednego może być umieszczony w dodatkowych kolumnach tabel pozostających w związku (nie trzeba tworzyć oddzielnej tabeli do opisu tego związku). W przypadku związku jeden do jednego kolumna ta może znaleźć się w dowolnej tabeli, w przypadku związku wiele do jednego musi znaleźć się w tabeli ze strony „wiele". Dołączona kolumna zawiera klucz encji, z którą zachodzi związek.
- Związek wiele do wielu opisuje się w oddzielnej tabeli, której kolumny tworzone są z kluczy encji należących do związku.
- Jeśli klucze w tabeli opisującej związek składają się z wielu atrybutów lub są długie, należy zastąpić je kluczami sztucznymi.