Я хочу, чтобы мои таблицы имели разные отношения друг с другом, это мой первый пост, и я полный дурак.
У каждого дракона может быть несколько яиц, но у каждого яйца может быть только один владелец.
Каждое яйцо может иметь только одно украшение (украшение?) И наоборот. Не может быть украшения без яйца.
Дракон может происходить из нескольких земель, и земли могут иметь несколько драконов, но они не могут повторяться.
Так вот мои таблицы:
CREATE TABLE dragons (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(256),
colour VARCHAR(256),
wingspan_in_centimeters INT,
lands_id INT,
eggs_id INT,
FOREIGN KEY (lands_id) REFERENCES lands (id),
FOREIGN KEY (eggs_id) REFERENCES eggs (id)
);
CREATE TABLE eggs (
id INT AUTO_INCREMENT PRIMARY KEY,
weight_in_grams INT,
diameter_in_centimeters INT,
dragon_id INT,
adornment_id INT,
FOREIGN KEY (dragon_id) REFERENCES dragons (id),
FOREIGN KEY (adornment_id) REFERENCES eggs_adornments (id)
);
CREATE TABLE eggs_adornments (
id INT AUTO_INCREMENT PRIMARY KEY,
colour VARCHAR(256),
pattern VARCHAR(256)
);
CREATE TABLE lands (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(256),
dragons_id INT,
FOREIGN KEY (dragons_id) REFERENCES dragons (id)
);
Как мне это сделать? Я не уверен, как работают внешние ключи и ссылки.