Primary Key и Foreign Key
Primary Key однозначно определяет строку
Primary Key — ключ, который однозначно идентифицирует каждую строку таблицы. Поэтому значения первичного ключа не должны повторяться, а отсутствие значения для ключа недопустимо.
CREATE TABLE users (
id INTEGER PRIMARY KEY,
name VARCHAR(100)
);
Теперь строку пользователя можно однозначно адресовать по id, даже если несколько пользователей имеют одинаковое имя.
Foreign Key связывает таблицы
Foreign Key хранит ссылку на ключ строки другой таблицы и позволяет базе контролировать существование такой связи.
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
user_id INTEGER,
FOREIGN KEY (user_id) REFERENCES users(id)
);
Здесь orders.user_id ссылается на users.id. Так схема явно выражает правило: заказ относится к пользователю, существующему в таблице users.
Ключ — это свойство модели данных, а не просто удобный номер.
Тип ключа и правила связи стоит выбирать исходя из того, что действительно идентифицирует сущность и какие связи должна защищать база.
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти