Создай таблицы пользователей и заказов

2. Создай таблицы пользователей и заказов

Условие задачи:
Реализовать SQL-схему базы данных из двух таблиц: users и orders.
Таблица users должна хранить пользователей и содержать поля:

  • id
  • name

Таблица orders должна хранить заказы пользователей и содержать поля:

  • id
  • user_id
  • order_date

Поле orders.user_id должно быть внешним ключом, связанным с users.id.

Спойлеры к решению
Подсказки
  • Сначала нужно создать таблицу users, потому что на неё будет ссылаться таблица orders.
  • Поле users.id должно быть первичным ключом.
  • Поле orders.id тоже должно быть первичным ключом.
  • Поле orders.user_id должно ссылаться на users.id через FOREIGN KEY.
  • Таблица orders создаётся после users, иначе внешний ключ не сможет сослаться на ещё несуществующую таблицу.
Решение
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL
);

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    user_id INTEGER NOT NULL,
    order_date DATE NOT NULL,
    CONSTRAINT fk_orders_user
        FOREIGN KEY (user_id)
        REFERENCES users(id)
);

Эта SQL-схема создаёт две таблицы: users для хранения пользователей и orders для хранения заказов. Поле orders.user_id связано с users.id через внешний ключ, поэтому заказ не может ссылаться на несуществующего пользователя.