SQL

Как сделать схему данных в MySQL

В MySQL слово schema часто используется как синоним database. Но в поисковом запросе «сделать схему данных» пользователь может иметь в виду две разные задачи: создать структуру базы или нарисовать ER-диаграмму таблиц

Практически правильный путь такой: сначала создать базу и таблицы, затем добавить первичные и внешние ключи, потом построить диаграмму в MySQL Workbench

Как создать schema в MySQL

CREATE DATABASE shop_db
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;

Переключиться на базу:

USE shop_db;

Теперь можно создавать таблицы

Пример структуры данных

Таблица клиентов:

CREATE TABLE clients (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(150) NOT NULL UNIQUE
) ENGINE=InnoDB;

Таблица заказов:

CREATE TABLE orders (
    id INT PRIMARY KEY AUTO_INCREMENT,
    client_id INT NOT NULL,
    created_at DATETIME NOT NULL,
    amount DECIMAL(10, 2) NOT NULL,
    FOREIGN KEY (client_id) REFERENCES clients(id)
) ENGINE=InnoDB;

Это уже схема данных в практическом смысле: есть сущности, поля, ключи и связь

Как посмотреть созданную структуру

SHOW DATABASES;
SHOW TABLES;
DESCRIBE clients;
DESCRIBE orders;

Посмотреть полный SQL создания таблицы:

SHOW CREATE TABLE orders;

Так удобно проверять внешние ключи, индексы и настройки таблицы

Как сделать диаграмму в MySQL Workbench

В MySQL Workbench можно построить ER-диаграмму:

  • откройте MySQL Workbench
  • подключитесь к серверу
  • выберите базу
  • используйте reverse engineering
  • выберите нужные таблицы
  • Workbench построит диаграмму связей

Если внешние ключи в базе созданы правильно, связи на диаграмме появятся автоматически

Что должно быть в хорошей схеме

Хорошая схема данных обычно содержит:

  • понятные таблицы
  • первичные ключи
  • внешние ключи
  • корректные типы данных
  • уникальные ограничения там, где они нужны
  • индексы для частых связей и фильтров
  • отсутствие списков значений в одной строковой колонке

Схема должна отражать реальные отношения данных, а не просто набор таблиц

Мини-практика

Создайте базу library_db и три таблицы:

  • authors
  • books
  • author_books

Третья таблица нужна, если у книги может быть несколько авторов. После этого постройте диаграмму в MySQL Workbench

Частые ошибки

  • Путать database и ER-диаграмму
  • Создавать таблицы без первичных ключей
  • Не использовать внешние ключи
  • Хранить несколько значений в одной колонке
  • Создавать связь в голове, но не фиксировать ее ограничением в базе
  • Строить диаграмму до понимания сущностей

Что почитать дальше по SQL

Если нужен общий маршрут по теме, откройте рубрику SQL. Для соседних задач пригодятся эти разборы:

Как проверить результат на практике

Для SQL-материала всегда начинайте с маленькой тестовой таблицы или с ограниченного набора строк. Сначала выполните SELECT, который показывает будущие данные, затем проверьте условие WHERE, сортировку или соединение, и только после этого переходите к изменяющим командам вроде UPDATE, DELETE или ALTER TABLE. Такой порядок снижает риск случайно изменить больше строк, чем планировалось

Хорошая самопроверка простая: заранее запишите, сколько строк должно попасть в результат, какие столбцы должны измениться и что должно остаться без изменений. Если запрос возвращает неожиданный набор строк, не добавляйте новые условия вслепую, а проверьте каждую часть отдельно: фильтр, соединение, группировку и сортировку

Подписаться
Уведомить о
guest
0 комментариев
Старые
Новые Популярные

Настройки cookie

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x