relacje i klucze w bazie danych


77. Modelowanie bazy danych  rodzaje połączeń
relacyjnych, pojęcie klucza obcego.
Przy modelowaniu bazy danych możemy wyróżnić następujące typy
połączeń relacyjnych:
" jeden do wielu,
" jeden do jednego,
" wiele do wielu.
Relacja jeden do wielu
Załóżmy, że mamy dane różnych dostawców i każdy z nich w jednym
czasie dostarcza pewne różne produkty. Rozwiązanie polegające na
umieszczeniu tych informacji w jednej tabeli posiada wiele wad:
" należałoby utworzyć osobne kolumny dla wszystkich możliwych do
dostarczenia produktów i ich stanu magazynowego  struktura
tabeli byłaby przez to bardzo rozbudowana,
" brak oszczędności miejsca  dostawca A miałby puste wartości dla
produktów, które są dostarczane przez innych dostawców,
" problemy przy ewentualnej modyfikacji struktury tabeli  w
przypadku, gdy asortyment ulegnie poszerzeniu należałoby do
tabeli dodać kolejne kolumny i dla każdego istniejącego już wiersza
zapewnić prawidłowe wartości.
Rozwiązaniem powyższych problemów jest zastosowanie relacji jeden-
do-wielu. Charakteryzuje się ona tym, że dla każdego rekordu jednej
tabeli może istnieć wiele rekordów w drugiej tabeli pozostającej z nią w
związku. Relacja jeden-do-wielu jest realizowana poprzez utworzenie
atrybutu w encji po stronie wiele, aby umieścić w nim klucz encji
znajdującej się po stronie jeden. Tak utworzony atrybut encji po stronie
wiele nosi nazwę klucza obcego ponieważ jest on głównym kluczem w
innej tabeli. Relacja jeden do wielu jest najczęściej wykorzystywanym
typem połączenia w relacyjnych baza danych.
Poniżej prezentacja przykładowej struktura tabel dla omawianego
wcześniej przypadku dostawców i produktów po zastosowaniu relacji
jeden-do-wielu.
Relacja je do jednego n
e
Charakteryzuje się tym ,że dla każdej instancji jednej z dwóch encji
istnieje dokładnie jedna instancja drugiej encji pozostająca z nią w
równoważnym związku np. czek i opłata ( opłata jest realizowana za
pomocą jednego czeku i za pomocą jednego czeku można zrealizować
tylko jedną opłatę). Ten typ relacji spotyka się rzadko, ponieważ
większość informacji powiązanych w ten sposób byłoby zawartych w
jednej tabeli. Relacji jeden-do-jednego można używać do podziału tabeli z
wieloma polami, do odizolowania części tabeli ze względów
bezpieczeństwa, albo do przechowania informacji odnoszącej się tylko do
podzbioru tabeli głównej. Na przykład, można by utworzyć tabelę do
wyszukiwania pracowników uczestniczących w rozgrywkach piłkarskich.
Relacja wiele do wielu
W relacji wiele-do-wielu, rekord w tabeli A może mieć wiele
dopasowanych do niego rekordów z tabeli B i tak samo rekord w tabeli B
może mieć wiele dopasowanych do niego rekordów z tabeli A. Jest to
możliwe tylko przez zdefiniowanie trzeciej tabeli (nazywanej tabelą łącza
lub tabelą przejściową), której klucz podstawowy składa się z dwóch pól -
kluczy obcych z tabel A i B. Relacja wiele-do-wielu jest definiowana jako
dwie relacje jeden-do-wielu z trzecią tabelą. Na przykład, tabele
"Zamówienia" i "Produkty" są powiązane relacją wiele-do-wielu
zdefiniowaną przez utworzenie dwóch relacji jeden-do-wielu z tabelą
"Opisy zamówień".
Klucz obcy (Foreign Key)
Klucz główny (Primary Key), to kolumna lub zbiór kolumn, które w
sposób unikalny definiują wiersz w danej tabeli.
Klucz obcy jest kolumną lub zbiorem kolumn, który jest kluczem
głównym w innej tabeli. Można powiedzieć, że klucz obcy jest kopią
klucza głównego z innej tabeli. Asocjacja jest utworzona pomiędzy
tabelami poprzez zaznaczenie, iż wartość z jednej tabeli, w której jest
kluczem obcym, jest powiązana z wartością z innej tabeli, gdzie jest
kluczem głównym. Ważne jest to, iż wartość klucza obcego nie może
istnieć bez powiązania z kluczem głównym. Korzystając z przykładu dla
relacji wiele-do-wielu: w tabeli Opisy zamówień mamy pole ID produktu,
które jest kluczem głównym w tabeli Produkty, w związku z czym nie
możemy wpisać w nie wartości, która nie istnieje w tabeli Produkty. Silnik
bazy danych nie zezwoli, aby wstawić wartość klucza obcego, który nie
posiada odnośnika na klucz główny.


Wyszukiwarka

Podobne podstrony:
PHP i MySQL Witryna WWW oparta na bazie danych Wydanie IV
,Inżynieria oprogramowania L, operacje w bazie danych biblioteki
Zajęcia 4 Dokumenty XML zapisywane w relacyjnej bazie danych
4 Relacja człowiek środowisko
Klucze Rejestru Windows
klucze office 2013
Powstał pierwszy, stabilny tranzystor na bazie pojedynczego atomu
Praca mag Interaktywny system regułowej analizy danych marketingowych dotyczących satysfakcji klie
Relacja
Kodowanie i kompresja danych

więcej podobnych podstron