Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Klucz obcy = null
Forum PHP.pl > Forum > Bazy danych
Marys91
Witam,
co zrobić jeśli klucz obcy może być NULL? Jak wtedy tworzyć tabele? Mam wtedy definiować klucz obcy czy nie? Czy mogę np. zrobić to tak:
  1. CREATE TABLE pacjent(
  2. id serial,
  3. imie varchar(50) NOT NULL,
  4. nazwisko varchar(50) NOT NULL,
  5. id_lekarz_rodz integer,
  6. ...
  7. CONSTRAINT pacjent_id_pk PRIMARY KEY(id),
  8. CONSTRAINT pacjent_id_id_lekarz_rodz_fk FOREIGN KEY(id_lekarz_rodz));
everth
Jaka to jest sytuacja? Czy NULL w lekarzu rodzinnym oznacza brak przyporządkowania pacjenta do określonego lekarza czy też brak informacji? Czy system dopuszcza sytuację w której pacjent może nie być przyporządkowanym do jakiekolwiek lekarza rodzinnego? W tym przypadku mógłbyś zdefiniować że ID lekarza 0 oznacza właściwie brak lekarza. W tym drugim dać NULL (nie wiemy czy pacjent posiada lekarza). Choć osobiście dla tego przypadku też wolałbym zdefiniować nieprawidłowe ID np. -1.
Marys91
To oznacza, że pacjent może nie mieć lekarza rodzinnego.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.