Создание таблицы каталога товаров

MySQLBeginner
Практиковаться сейчас

Введение

Местному книжному магазину необходима помощь в настройке базы данных для каталога товаров. В роли администратора базы данных вам предстоит создать таблицу, в которой будет храниться информация о книгах. Это задание проверит ваше умение проектировать таблицы MySQL, подбирая подходящие типы данных и устанавливая необходимые ограничения.

Создание таблицы книг

Ваша задача — создать таблицу для хранения инвентарных данных книжного магазина. Таблица должна эффективно хранить различные типы информации о каждой книге.

Задачи

  • Подключитесь к MySQL от имени пользователя root
  • Используйте базу данных bookstore
  • Создайте таблицу с именем books, выбрав подходящие столбцы и типы данных для хранения следующей информации:
    • Идентификатор книги (должен увеличиваться автоматически)
    • Название книги (максимум 200 символов, обязательное поле)
    • Цена (должна поддерживать десятичные значения до 999.99)
    • Дата публикации
    • Количество страниц (только целые числа)
    • Описание (длинный текст)
    • Количество на складе (должно быть 0 или положительным числом)

Требования

  • Все операции должны выполняться в директории ~/project
  • Имя таблицы должно быть строго books
  • Все имена столбцов должны быть в нижнем регистре
  • Первичный ключ должен называться id
  • Название книги не может быть пустым (NULL)
  • Цена должна иметь 2 знака после запятой
  • Поле quantity_in_stock не должно допускать отрицательных значений

Пример

После правильного создания таблицы команда просмотра структуры должна вывести результат, похожий на этот:

DESCRIBE books;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| id                | int(11)      | NO   | PRI | NULL    | auto_increment |
| title             | varchar(200) | NO   |     | NULL    |                |
| price             | decimal(5,2) | YES  |     | NULL    |                |
| publication_date  | date         | YES  |     | NULL    |                |
| page_count        | int(11)      | YES  |     | NULL    |                |
| description       | text         | YES  |     | NULL    |                |
| quantity_in_stock | int(11)      | YES  |     | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+

Резюме

В ходе этого испытания вы закрепили навыки создания таблиц MySQL с использованием подходящих типов данных и ограничений. Вы продемонстрировали умение выбирать типы данных для различных видов информации, настраивать автоинкрементные первичные ключи, устанавливать запрет на пустые значения (NOT NULL) и использовать ограничения CHECK для валидации данных. Эти фундаментальные навыки лежат в основе проектирования баз данных и будут постоянно востребованы при работе с MySQL.

✨ Проверить решение и практиковаться