Relacyjny model bazy danych
Technikum » SBD » Relacyjny model bazy danych
Twórcą teorii relacyjnych baz danych jest Edgar Frank Codd. W 1970 roku opublikował on pracę, która wprowadzała główne założenia dotyczące modelu relacyjnego dla danych, później uszczegółowione o terminy: algebra relacji oraz rachunek relacyjny.
Integralność danych
W modelu relacyjnym danych występują następujące rodzaje więzów integralności:
- Integralność encji — każdy schemat relacji posiada klucz główny i żaden element klucza głównego nie może posiadać wartości pustej (NULL).
- Integralność referencyjna — każda wartość klucza obcego jest równa wartości klucza właściwego określonej krotki w relacji nadrzędnej lub wynosi NULL.
- Więzy ogólne — dodatkowe warunki dotyczące poprawności danych określane przez użytkowników lub administratorów baz danych.
Cechy relacyjnego modelu baz danych:
- Podstawową formą przechowywania danych jest tabela.
- Poprzez użycie kombinacji „wartość klucza podstawowego, nazwa tabeli i nazwa kolumny” musi istnieć dostęp do dowolnych danych.
- Musi być obsługiwana wartość NULL (wartość NULL przedstawia brakujące lub bezużyteczne informacje, na przykład nieznany numer telefonu).
- Integralność danych powinna być naturalną cechą projektu bazy danych.
Korzyści płynące z używania modelu relacyjnego:
- efektywność przechowywania danych,
- pewność integralności danych,
- możliwość rozbudowy bazy danych,
- możliwość łatwej zmiany w strukturze bazy danych,
- zwiększenie szybkości dostępu do danych.
Istnieje wiele różnych podejść do relacyjnego modelu baz danych. Dwa główne to podejście formalne (opis relacyjnego modelu baz danych przez reguły matematyczne) oraz podejście intuicyjne (podejście do relacyjnego modelu baz danych w sposób czysto użytkowy).
Tabele
W modelu relacyjnym baz danych wszystkie dane są przechowywane w dwuwymiarowych tabelach (relacjach). W skład bazy danych może wchodzić wiele relacji.
Tabela to zbiór powiązanych ze sobą danych. Jest to układ poziomych wierszy, nazywanych rekordami lub krotkami, i pionowych kolumn, nazywanych polami rekordu lub atrybutami. Tabela jest identyfikowana poprzez nazwę.
Przecięcie kolumny i wiersza tworzy pole. Nazwa kolumny jest jednocześnie nazwą pola. Pojęcia "pole" używa się również do określenia kolumny.
Klucz podstawowy
W każdej tabeli musi znaleźć się pole, które dla każdego rekordu będzie przyjmowało inną, niepowtarzalną wartość. Pole takie jest potrzebne do jednoznacznego zdefiniowania rekordu. To klucz podstawowy, nazywany również kluczem głównym lub pierwotnym.
Klucz podstawowy jest to minimalna kombinacja pól identyfikująca każdy rekord w tabeli w sposób jednoznaczny.
Klucz podstawowy pozwala w sposób efektywny przeszukiwać i odczytywać dane w bazie oraz łączyć dane zapisane w różnych tabelach.
Klucz podstawowy nie może zawierać powtarzających się danych oraz nie może być pusty. Oznacza to, że w tabeli musi się znaleźć jedno lub kilka pól, które pozwolą odróżniać dane zapisane w jednym rekordzie od danych zapisanych w innym rekordzie.
Jeżeli tabela zawiera dane osobowe, takim kluczem może być kolumna z nazwiskiem. Każdą osobę zapisaną w tabeli rozpoznamy po nazwisku i odczytamy jej dane z właściwego rekordu. Co jednak zrobić, jeżeli w tabeli zapisaliśmy informacje o kilku osobach, które mają takie samo nazwisko?
Kluczem podstawowym może być kombinacja pól, czyli do pola Nazwisko możemy dodać pole Imię. Teraz każdą osobę w tabeli znajdziemy, podając jej nazwisko i imię. A co zrobić, jeśli w tabeli są umieszczone informacje o dwóch osobach, które mają identyczne nazwisko i imię? Można do klucza dodać kolejne pole, na przykład Data urodzenia.
W celu uniknięcia dodawania kolejnych pól do klucza bardzo często zastępuje się klucz podstawowy kluczem sztucznym. Najprostszym sposobem utworzenia klucza sztucznego jest dodanie do tabeli dodatkowego pola i umieszczenie w nim kolejnych numerów.
Klucz sztuczny to pole zawierające unikatowy numer identyfikacyjny nadany w sposób sztuczny każdemu obiektowi umieszczonemu w tabeli.
Jeżeli w tabeli zostało utworzone takie pole, staje się ono automatycznie kluczem podstawowym, ponieważ spełnia wszystkie wymagania dotyczące tego klucza.
Klucz obcy to jedno pole lub więcej pól tabeli (kolumn), które odwołują się do pola lub pól klucza podstawowego w innej tabeli. Klucz obcy pokazuje, w jaki sposób tabele są powiązane. Jest niezbędny do zdefiniowania połączenia między tabelami.
Relacje
Projektując bazę danych, dzielimy dane na wiele tabel tematycznych, tak aby każda informacja została zapisana tylko raz. Aby zestawić razem dane zapisane w różnych tabelach, tworzy się między nimi połączenia zwiane relacjami.
Relacja jest to zdefiniowanie logicznego połączenia między tabelami bazy danych. W efekcie zmiana wiersza bieżącego w tabeli głównej powoduje automatyczną zmianę wiersza bieżącego w tabeli przyłączonej.
Typy relacji
W rzeczywistości (życiu codziennym) występują trzy typy relacji:
- Relacja jeden do jednego
W relacji „jeden do jednego” każdemu rekordowi z pierwszej tabeli może odpowiadać tylko jeden rekord z drugiej tabeli i każdemu rekordowi z drugiej tabeli może odpowiadać tylko jeden rekord z pierwszej tabeli. Jest to nietypowy rodzaj relacji, ponieważ najczęściej informacje powiązane w ten sposób są przechowywane w jednej tabeli. Opisywanej relacji używa się w celu odizolowania części tabeli ze względu na bezpieczeństwo danych lub w celu podzielenia danych na podzbiory.
- Relacja wiele do jednego
W relacji „wiele do jednego” każdemu rekordowi z pierwszej tabeli może odpowiadać najwyżej jeden rekord z drugiej tabeli, a każdemu rekordowi z drugiej tabeli może odpowiadać wiele rekordów z pierwszej tabeli. Jest to typ relacji najczęściej występujący w relacyjnych bazach danych.
- Relacja wiele do wielu
W relacji „wiele do wielu” każdemu rekordowi z pierwszej tabeli może odpowiadać wiele rekordów z drugiej tabeli i każdemu rekordowi z drugiej tabeli może odpowiadać wiele rekordów z pierwszej tabeli.