Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klucz obcy
kangurmk
post 6.05.2009, 23:03:10
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 14.02.2006

Ostrzeżenie: (0%)
-----


Mam dwie tabele :odcinki, o schemacie: <numer, nazwa, zakończony>, gdzie numer to klucz główny, oraz kierowcy, w której mam miedzy innymi atrybuty zawieszony i zawieszony_numer_odcinka, które oznaczają odpowiednio czy kierowca został zawieszony i na którym odcinku rajdu zawieszono kierowce.
Zatem naturalne jest, aby zawieszony_numer_odcinka był kluczem obcym i odnosił się do klucza numer w tabeli odcinki. Ale zawiesić kierowce może także administrator rajdu, wtedy też w polu zawieszony_numer_odcinka umieszczamy np wartość 0, jednak w tabeli odcinki nie ma odcinka o numerze 0 (bo administrator nie jest odcinkiem przecież), więc nie możemy wstawić tej wartości do pola zawieszony_numer_odcinka.
Czy istnieje jednak możliwość aby zawieszony_numer_odcinka był kluczem obcym i jednocześnie mógł przyjmować jakąś wybraną wartość (w tym przypadku 0), która nie znajduje się w tabeli do której ten klucz się odnosi? Taki klucz obcy z wyjątkiem?

Jeśli klucz obcy może odnosić się do dwóch rożnych tabel, to można utworzyć tabele admin z atrybutem id o wartości 0 i przy zawieszony_numer_odcinka napisać REFERENCES odcinki(numer), admin(id) ale z tego co zrozumiałem ze schematu polecenia CREATE TABLE nie można tego zrobić, nie jestem jednak tego pewien.

Ten post edytował kangurmk 6.05.2009, 23:04:06
Go to the top of the page
+Quote Post

Posty w temacie
- kangurmk   Klucz obcy   6.05.2009, 23:03:10


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 20:13