Ćwiczenia > Budowa bazy danych w MS SQL Server 2000 > Klucze obce

3.7 Klucze obce



Klucze obce deklarujemy przy tworzeniu związków między tabelami. Mianem klucza obcego określamy kolumnę, która wskazuje na kolumnę będącą kluczem głównym tabeli (innej lub tej samej).

Krok 1 - Jak zadeklarować klucz obcy za pomocą skryptu T-SQL

1. Uruchom program Query Analyzer.
2. Zaloguj się używając uwierzytelnienia systemu Windows.
3. W menu głównym programu wybierz File - Open.
4. W oknie Open Query File wybierz ponownie plik demo_3_4_1.sql. Nie uruchamiaj skryptu, a jedynie obejrzyj jego kod.

W kodzie tym deklarujemy trzy klucze obce: jeden w tabeli Ksiazki (kolumna ID_wydawnictwa) odnoszący się do klucza głównego tabeli Wydawnictwa i dwa w tabeli Autorstwo - jeden odnoszący się do klucza głównego tabeli Ksiazki (kolumna ID_ksiazki) i drugi odnoszący się do klucza głównego tabeli Autorzy (kolumna ID_autora). Poniżej przedstawiamy fragment kodu, za pomocą którego zadeklarowaliśmy klucz obcy w tabeli Ksiazki.


(...)
-- podajemy nazwę warunku (w tym wypadku związku)
CONSTRAINT FK_wydawnictwa 
-- podajemy, która kolumna jest kluczem obcym
FOREIGN KEY (ID_wydawnictwa) 
-- określamy, do której tabeli odnosi się klucz obcy
-- i podajemy nazwę kolumny będącej kluczem głównym
REFERENCES Wydawnictwa(ID_wydawnictwa) 
(...)


Aby w sposób przejrzysty zaplanować związki, czyli połączenia klucz główny - klucz obcy, najlepiej jest nazywać kolumny będące kluczami obcymi tak, jak nazwaliśmy klucze główne.


Krok 2 - Jak zadeklarować klucz obcy przy pomocy programu Enterprise Manager

1. Uruchom program Enterprise Manager.
2. Rozwijaj drzewo po lewej stronie okna programu i wejdź do folderu Databases.
3. W folderze bazy Biblioteka wybierz pozycję Tables.
4. W prawej części okna programu kliknij prawym przyciskiem myszy na tabeli Ksiazki i z menu kontekstowego wybierz opcję Design Table.
5. Kliknij w górnej części okna Design Table ikonę właściwości tabeli .
6. W oknie Properties kliknij na zakładce Relationships.



Rys. 3.7.1 Enterprise Manager - deklaracja klucza obcego w tabeli


Karta Relationships okna Properties służy do zarządzania związkami (zobacz następną lekcję), ale jak wiadomo, klucze obce powstają właśnie przy tworzeniu związków między tabelami. Zwróć uwagę na zaznaczone na powyższym rysunku czerwoną ramką pole wyboru kolumny, którą chcemy określić jako klucz obcy.

W dokumentacji projektu Prace dyplomowe dobrze jest wskazać klucze obce w tabelach przy okazji wymieniania związków między tabelami. Klucze obce zazwyczaj oznaczmy symbolem FK (od ang. foreign key).


Przejdź dalej



Ćwiczenia > Budowa bazy danych w MS SQL Server 2000 > Klucze obce