moim problemem jest to, że muszę zrobić stolik, który będzie miał klucze obce, a jeden z trzech kluczy obcych musi być NIE MA NULL, a reszta musi być NULL. Czy jest coś w MySQL, aby go rozwiązać? Michael.
Odpowiedzi:
1 dla odpowiedzi № 1Unikaj zerowych kluczy obcych - mają one numerproblemów i wad. Ogólnie łatwiej i lepiej jest umieścić te kolumny w osobnych tabelach, aby nie trzeba było tworzyć dla nich wartości zerowych, gdy żadna wartość nie istnieje. To powinno być podejście domyślne: Normalna forma dla każdego odrębnego przypadku, chyba że masz jakiś specjalny powód, aby połączyć trzy kolumny w jedną tabelę.
0 dla odpowiedzi nr 2
ZAGRANICZNE OGRANICZENIA KLUCZOWE przykład:
CREATE TABLE parent
(
id INT NOT NULL, PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child
(
id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
) ENGINE=INNODB;