Rozdział 12. ♦ Tworzenie bazy w praktyce 351
oraz dwa klucze obce:
ALTER TA8LE Książki Autorzy
ADO CONSTRAINT 'KsiazkiAutorzyKsiążkaldFK'
FOREIGN KEY ('Książkald') REFERENCES Książki('Id'):
ALTER TABLE KsiazkiAutorzy
ADD CONSTRAINT 'KsiazkiAutorzyAutorldFK'
FOREIGN KEY ('Autorld') REFERENCES AutorzyCId'):
Tabela Recenzje zawiera jedynie jeden klucz obcy, w kolumnie Książkald, odwołujący się do tabeli Książki. W związku z tym utworzymy najpierw indeks związany z tą kolumną:
ALTER TABLE Recenzje
ADD INDEX 'RecenzjeKsiążkaldlnd' ('Książkald'):
a następnie sam klucz obcy:
ALTER TABLE Recenzje
ADD CONSTRAINT 'RecenzjeKsiążkaldFK'
FOREIGN KEY ('Książkald') REFERENCES KsiazkiCId'):
Kolejna tabela to KI i enci, nie zawiera ona jednak żadnych kluczy obcych, nie ma więc potrzeby dokonywania żadnych modyfikacji. Niezbędne są one jednak w tablicy Książki, która zawiera jeden klucz obcy, w kolumnie Wydawnictwold. Utworzymy najpierw indeks: ALTER TABLE Książki
ADD INDEX 'KsiazkiWydawnictwoIdlnd' ('Wydawnictwold'):
a następnie klucz obcy:
ALTER TABLE Książki
ADD CONSTRAINT 'KsiazkiWydawnictwoldFK'
FOREIGN KEY ('Wydawnictwold') REFERENCES Wydawnictwa!'Id'):
Tabela Wydawnictwa nie posiada żadnego klucza obcego, pozostawiamy ją zatem bez zmian, przechodząc do modyfikacji tabeli Zamówienia, która ma jeden klucz obcy. Tym kluczem jest kolumna Klientld. odwołująca się do kolumny Id z tabeli Klienci. Tworzymy zatem indeks powiązany z tą kolumną:
ALTER TABLE Zamówienia
ADD INDEX 'ZamowieniaKlientldlnd' ('Klientld'):
oraz klucz obcy:
ALTER TABLE Zamówienia
ADD CONSTRAINT 'ZamówieniaKllentIdFK'
FOREIGN KEY ('Klientld') REFERENCES Klienci('Id'):
Ostatnia tabela to Książki Zamówieni a. Zawiera ona dwie kolumny: Książkald i Zamówie-nield, które razem tworzą jej klucz podstawowy, a każda z nich jest jednocześnie kluczem obcym. W tym przypadku musimy utworzyć indeks dla kolumny Zamówi enield: ALTER TABLE Książki Zamówieni a
ADD INDEX 'KsiazkiZamowieniaZamówienieldlnd' ('Zamówienield'):