Основы таблиц: один к одному, многие ко многим, один ко многим - PullRequest
0 голосов
/ 01 мая 2020

Я хочу, чтобы мои таблицы имели разные отношения друг с другом, это мой первый пост, и я полный дурак.

У каждого дракона может быть несколько яиц, но у каждого яйца может быть только один владелец.

Каждое яйцо может иметь только одно украшение (украшение?) И наоборот. Не может быть украшения без яйца.

Дракон может происходить из нескольких земель, и земли могут иметь несколько драконов, но они не могут повторяться.

Так вот мои таблицы:

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)
);

Как мне это сделать? Я не уверен, как работают внешние ключи и ссылки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...