350 PHP i MySQL dla każdego
już indeks związany w tym kluczem. Z tego samego względu nie jest konieczne tworzenie indeksu związanego z kolumną Id w tabeli Autorzy. Musimy natomiast utworzyć indeks związany z kolumną AutorId2. Czynność tę wykonamy za pomocą instrukcji: ALTER TABLE AutorzyPseudonimy
ADO INDEX 'AutorzyPseudonimyAutorId2Ind' ('AutorId2'):
Klucz obcy dla kolumny Autorldl zostanie utworzony za pomocą instrukcji:
ALTER TABLE AutorzyPseudonimy
ADD CONSTRAINT 'AutorzyPseudonimyAutorldlFK'
FOREIGN KEY CAutorldl') REFERENCES Autorzy('Id'):
natomiast klucz obcy dla kolumny Autor Id2 za pomocą instrukcji:
ALTER TABLE AutorzyPseudonimy
ADD CONSTRAINT 'AutorzyP$eudonirnyAutorId2FK'
FOREIGN KEY ('AutorId2') REFERENCES Autorzy!'Id'):
Kolejna tabela to Autorzy. Z diagramu wynika, że nie zawiera ona żadnych kluczy obcych, istnieją jednie odwołania do jej klucza podstawowego z innych tabel. Nie musimy więc wprowadzać żadnych zmian.
Przenieśmy się teraz o jeden poziom niżej. Po lewej stronie pod tabelą AutorzyPseudonimy znajduje się tabela Opinie. Widzimy, że zawiera ona dwa klucze obce: Książkald z tabeli Książki oraz Klientld z tabeli Klienci. Ponieważ zarówno w tabeli Książki, jak i w tabeli Klienci kolumna Id zawiera indeks związany z kluczem podstawowym, nie musimy w nich tworzyć dodatkowych indeksów. W tabeli Autorzy trzeba jednak utworzyć dwa indeksy związane z wymienionymi wyżej kolumnami, które są kluczami obcymi:
ALTER TABLE Opinie
ADO INDEX 'OpinieKsiążkaldlnd' ('Książkald'):
ALTER TABLE Opinie
ADD INDEX 'OpinieKlientldlnd' ('Klientld'):
Po utworzeniu indeksów możemy przystąpić do tworzenia kluczy obcych. Wystarczy wykonać następujące instrukcje:
ALTER TABLE Opinie
ADD CONSTRAINT 'OpinieKsiążkaldFK'
FOREIGN KEY ('Książkald') REFERENCES Książki('Id'):
ALTER TABLE Opinie
ADD CONSTRAINT 'OpinieKlientldFK'
FOREIGN KEY ('Klientld') REFERENCES Klienci('Id');
Następna tabela to Książki Autorzy. Składa się ona tylko z dwóch kolumn: Książkald i Autorld, z których każda jest kluczem obcym pochodzącym z innej tabeli. Obie kolumny tworzą również klucz podstawowy tabeli Książki Autorzy. W związku ztym należy utworzyć jeden indeks związany z kolumną Autorld (podobna sytuacja miała miejsce w przypadku tabeli AutorzyPseudonimy):
ALTER TABLE KsiążkiAutorzy
ADO INDEX 'KsiazkiAutorzyAutorldlnd' ('Autorld'):