Загрузка данных
Вот 5 готовых баз данных под ваши предметные области. В каждой 6+ таблиц, связи через FOREIGN KEY и по 10 строк данных. Просто вставляйте скрипт в New Query Tab и жмите ⚡ Execute.
---
1. Система техподдержки
Связи: клиент → тикет → сообщение; агент → тикет; категория → тикет; тикет → оценка.
```sql
CREATE DATABASE support_db;
USE support_db;
CREATE TABLE clients (
client_id INT PRIMARY KEY AUTO_INCREMENT,
full_name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
CREATE TABLE agents (
agent_id INT PRIMARY KEY AUTO_INCREMENT,
full_name VARCHAR(100),
department VARCHAR(80)
);
CREATE TABLE categories (
category_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(80)
);
CREATE TABLE tickets (
ticket_id INT PRIMARY KEY AUTO_INCREMENT,
client_id INT,
agent_id INT,
category_id INT,
subject VARCHAR(150),
status VARCHAR(30),
created_at DATETIME,
FOREIGN KEY (client_id) REFERENCES clients(client_id),
FOREIGN KEY (agent_id) REFERENCES agents(agent_id),
FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
CREATE TABLE messages (
message_id INT PRIMARY KEY AUTO_INCREMENT,
ticket_id INT,
sender_type VARCHAR(20),
body TEXT,
sent_at DATETIME,
FOREIGN KEY (ticket_id) REFERENCES tickets(ticket_id)
);
CREATE TABLE ratings (
rating_id INT PRIMARY KEY AUTO_INCREMENT,
ticket_id INT,
score INT,
comment VARCHAR(200),
FOREIGN KEY (ticket_id) REFERENCES tickets(ticket_id)
);
INSERT INTO clients (full_name, email) VALUES
('Иванов И.','i@mail.ru'),('Петров П.','p@mail.ru'),('Сидоров С.','s@mail.ru'),
('Кузнецов К.','k@mail.ru'),('Смирнов С.','sm@mail.ru'),('Орлов О.','o@mail.ru'),
('Зайцев З.','z@mail.ru'),('Морозов М.','m@mail.ru'),('Волков В.','v@mail.ru'),
('Новиков Н.','n@mail.ru');
INSERT INTO agents (full_name, department) VALUES
('Анна А.','1-я линия'),('Борис Б.','1-я линия'),('Виктор В.','2-я линия'),
('Галина Г.','2-я линия'),('Дмитрий Д.','Технический'),('Елена Е.','Технический'),
('Жанна Ж.','Биллинг'),('Зинаида З.','Биллинг'),('Игорь И.','Эскалация'),
('Ксения К.','Эскалация');
INSERT INTO categories (name) VALUES
('Техническая'),('Оплата'),('Доставка'),('Возврат'),('Аккаунт'),
('ПО'),('Железо'),('Сеть'),('Безопасность'),('Прочее');
INSERT INTO tickets (client_id, agent_id, category_id, subject, status, created_at) VALUES
(1,1,1,'Не работает вход','Открыт','2024-04-01 10:00'),
(2,2,2,'Ошибка оплаты','В работе','2024-04-01 11:00'),
(3,3,3,'Задержка доставки','Закрыт','2024-04-02 09:30'),
(4,4,4,'Возврат товара','Открыт','2024-04-02 12:15'),
(5,5,5,'Сброс пароля','Закрыт','2024-04-03 08:00'),
(6,6,6,'Баг в приложении','В работе','2024-04-03 14:20'),
(7,7,7,'Шумит вентилятор','Открыт','2024-04-04 10:10'),
(8,8,8,'Плохой интернет','Закрыт','2024-04-04 16:40'),
(9,9,9,'Подозрительный вход','В работе','2024-04-05 09:00'),
(10,10,10,'Другой вопрос','Открыт','2024-04-05 15:00');
INSERT INTO messages (ticket_id, sender_type, body, sent_at) VALUES
(1,'client','Не могу войти','2024-04-01 10:01'),
(1,'agent','Проверьте пароль','2024-04-01 10:05'),
(2,'client','Оплата не проходит','2024-04-01 11:01'),
(3,'agent','Заказ в пути','2024-04-02 09:35'),
(4,'client','Хочу вернуть','2024-04-02 12:16'),
(5,'agent','Пароль сброшен','2024-04-03 08:10'),
(6,'client','Приложение падает','2024-04-03 14:21'),
(7,'agent','Привезём замену','2024-04-04 10:15'),
(8,'client','Скорость низкая','2024-04-04 16:41'),
(9,'agent','Проверяем логи','2024-04-05 09:05');
INSERT INTO ratings (ticket_id, score, comment) VALUES
(1,5,'Быстро'),(2,4,'Хорошо'),(3,5,'Отлично'),(4,3,'Средне'),
(5,5,'Супер'),(6,4,'Норм'),(7,2,'Долго'),(8,5,'Спасибо'),
(9,4,'Ок'),(10,5,'Класс');
```
---
2. Платформа для подкастов
Связи: автор → подкаст → эпизод; слушатель → подписка; эпизод → прослушивание; подкаст ↔ категория.
```sql
CREATE DATABASE podcast_db;
USE podcast_db;
CREATE TABLE authors (
author_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
CREATE TABLE categories (
category_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(80)
);
CREATE TABLE podcasts (
podcast_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(150),
author_id INT,
category_id INT,
created_at DATE,
FOREIGN KEY (author_id) REFERENCES authors(author_id),
FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
CREATE TABLE episodes (
episode_id INT PRIMARY KEY AUTO_INCREMENT,
podcast_id INT,
title VARCHAR(150),
duration_min INT,
published_at DATE,
FOREIGN KEY (podcast_id) REFERENCES podcasts(podcast_id)
);
CREATE TABLE listeners (
listener_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
CREATE TABLE subscriptions (
sub_id INT PRIMARY KEY AUTO_INCREMENT,
listener_id INT,
podcast_id INT,
subscribed_at DATE,
FOREIGN KEY (listener_id) REFERENCES listeners(listener_id),
FOREIGN KEY (podcast_id) REFERENCES podcasts(podcast_id)
);
CREATE TABLE listens (
listen_id INT PRIMARY KEY AUTO_INCREMENT,
listener_id INT,
episode_id INT,
listened_at DATETIME,
FOREIGN KEY (listener_id) REFERENCES listeners(listener_id),
FOREIGN KEY (episode_id) REFERENCES episodes(episode_id)
);
INSERT INTO authors (name, email) VALUES
('Иванов','i@p.ru'),('Петров','p@p.ru'),('Сидоров','s@p.ru'),
('Кузнецов','k@p.ru'),('Смирнов','sm@p.ru'),('Орлов','o@p.ru'),
('Зайцев','z@p.ru'),('Морозов','m@p.ru'),('Волков','v@p.ru'),('Новиков','n@p.ru');
INSERT INTO categories (name) VALUES
('Технологии'),('Наука'),('Бизнес'),('Спорт'),('Юмор'),
('История'),('Кино'),('Музыка'),('Здоровье'),('Образование');
INSERT INTO podcasts (title, author_id, category_id, created_at) VALUES
('IT Weekly',1,1,'2023-01-01'),('Science Now',2,2,'2023-02-01'),
('Бизнес-час',3,3,'2023-03-01'),('Спорт Live',4,4,'2023-04-01'),
('Смех до слёз',5,5,'2023-05-01'),('История РФ',6,6,'2023-06-01'),
('Кинокритика',7,7,'2023-07-01'),('Хиты 2000',8,8,'2023-08-01'),
('Здоровье+',9,9,'2023-09-01'),('Учись легко',10,10,'2023-10-01');
INSERT INTO episodes (podcast_id, title, duration_min, published_at) VALUES
(1,'Выпуск 1: Python',45,'2024-01-01'),(2,'Космос',60,'2024-01-02'),
(3,'Стартапы',50,'2024-01-03'),(4,'Футбол',40,'2024-01-04'),
(5,'Анекдоты',30,'2024-01-05'),(6,'Пётр I',70,'2024-01-06'),
(7,'Оскар',55,'2024-01-07'),(8,'Backstreet Boys',35,'2024-01-08'),
(9,'Сон',40,'2024-01-09'),(10,'Математика',50,'2024-01-10');
INSERT INTO listeners (name, email) VALUES
('Аня','a@l.ru'),('Боря','b@l.ru'),('Вика','v@l.ru'),('Гена','g@l.ru'),
('Даша','d@l.ru'),('Егор','e@l.ru'),('Жанна','zh@l.ru'),('Зина','z@l.ru'),
('Илья','i@l.ru'),('Катя','k@l.ru');
INSERT INTO subscriptions (listener_id, podcast_id, subscribed_at) VALUES
(1,1,'2024-02-01'),(2,2,'2024-02-02'),(3,3,'2024-02-03'),
(4,4,'2024-02-04'),(5,5,'2024-02-05'),(6,6,'2024-02-06'),
(7,7,'2024-02-07'),(8,8,'2024-02-08'),(9,9,'2024-02-09'),(10,10,'2024-02-10');
INSERT INTO listens (listener_id, episode_id, listened_at) VALUES
(1,1,'2024-03-01 10:00'),(2,2,'2024-03-01 11:00'),(3,3,'2024-03-02 09:00'),
(4,4,'2024-03-02 12:00'),(5,5,'2024-03-03 08:00'),(6,6,'2024-03-03 14:00'),
(7,7,'2024-03-04 10:00'),(8,8,'2024-03-04 15:00'),(9,9,'2024-03-05 09:00'),
(10,10,'2024-03-05 16:00');
```
---
3. Стриминговая платформа
Связи: пользователь → подписка (план); контент ↔ жанр; контент → просмотр; контент → студия.
```sql
CREATE DATABASE streaming_db;
USE streaming_db;
CREATE TABLE plans (
plan_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50),
price DECIMAL(8,2)
);
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE,
plan_id INT,
FOREIGN KEY (plan_id) REFERENCES plans(plan_id)
);
CREATE TABLE studios (
studio_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
country VARCHAR(80)
);
CREATE TABLE genres (
genre_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50)
);
CREATE TABLE content (
content_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(150),
type VARCHAR(20),
year INT,
studio_id INT,
genre_id INT,
FOREIGN KEY (studio_id) REFERENCES studios(studio_id),
FOREIGN KEY (genre_id) REFERENCES genres(genre_id)
);
CREATE TABLE views (
view_id INT PRIMARY KEY AUTO_INCREMENT,
user_id INT,
content_id INT,
watched_at DATETIME,
minutes INT,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (content_id) REFERENCES content(content_id)
);
INSERT INTO plans (name, price) VALUES
('Базовый',299),('Стандарт',499),('Премиум',799),('Семейный',999),('Студент',149),
('Годовой',4990),('Пробный',0),('Спорт',599),('Кино',449),('Музыка',249);
INSERT INTO users (name, email, plan_id) VALUES
('Иван','i@s.ru',1),('Пётр','p@s.ru',2),('Сидор','s@s.ru',3),
('Кузьма','k@s.ru',4),('Семён','sm@s.ru',5),('Олег','o@s.ru',6),
('Захар','z@s.ru',7),('Марк','m@s.ru',8),('Виктор','v@s.ru',9),('Никита','n@s.ru',10);
INSERT INTO studios (name, country) VALUES
('Warner','USA'),('Universal','USA'),('Sony','Japan'),('Мосфильм','RU'),
('Netflix','USA'),('HBO','USA'),('BBC','UK'),('Canal+','FR'),
('Disney','USA'),('Paramount','USA');
INSERT INTO genres (name) VALUES
('Драма'),('Комедия'),('Боевик'),('Фантастика'),('Ужасы'),
('Документальный'),('Анимация'),('Триллер'),('Мелодрама'),('Фэнтези');
INSERT INTO content (title, type, year, studio_id, genre_id) VALUES
('Начало','фильм',2010,1,4),('Маска','фильм',1994,2,2),
('Ирония судьбы','фильм',1975,4,9),('Чернобыль','сериал',2019,6,1),
('Симпсоны','мульт',1989,10,7),('Дюна','фильм',2021,1,4),
('Друзья','сериал',1994,1,2),('Игра престолов','сериал',2011,6,10),
('Планета Земля','док',2006,7,6),('Тёмный рыцарь','фильм',2008,1,3);
INSERT INTO views (user_id, content_id, watched_at, minutes) VALUES
(1,1,'2024-05-01 20:00',148),(2,2,'2024-05-02 21:00',101),
(3,3,'2024-05-03 19:00',184),(4,4,'2024-05-04 22:00',60),
(5,5,'2024-05-05 18:00',22),(6,6,'2024-05-06 20:30',155),
(7,7,'2024-05-07 21:15',25),(8,8,'2024-05-08 23:00',57),
(9,9,'2024-05-09 17:00',50),(10,10,'2024-05-10 22:00',152);
```
---
4. Кулинарная книга рецептов
Связи: рецепт ↔ ингредиент (many-to-many через recipe_ingredients); рецепт → категория; рецепт → автор; рецепт → отзыв; шаги.
```sql
CREATE DATABASE recipes_db;
USE recipes_db;
CREATE TABLE authors (
author_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
CREATE TABLE categories (
category_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(80)
);
CREATE TABLE recipes (
recipe_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(150),
author_id INT,
category_id INT,
cook_minutes INT,
servings INT,
FOREIGN KEY (author_id) REFERENCES authors(author_id),
FOREIGN KEY (category_id) REFERENCES categories(category_id)
);
CREATE TABLE ingredients (
ingredient_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
unit VARCHAR(20)
);
CREATE TABLE recipe_ingredients (
id INT PRIMARY KEY AUTO_INCREMENT,
recipe_id INT,
ingredient_id INT,
amount DECIMAL(8,2),
FOREIGN KEY (recipe_id) REFERENCES recipes(recipe_id),
FOREIGN KEY (ingredient_id) REFERENCES ingredients(ingredient_id)
);
CREATE TABLE steps (
step_id INT PRIMARY KEY AUTO_INCREMENT,
recipe_id INT,
step_no INT,
description VARCHAR(300),
FOREIGN KEY (recipe_id) REFERENCES recipes(recipe_id)
);
CREATE TABLE reviews (
review_id INT PRIMARY KEY AUTO_INCREMENT,
recipe_id INT,
user_name VARCHAR(100),
score INT,
comment VARCHAR(200),
FOREIGN KEY (recipe_id) REFERENCES recipes(recipe_id)
);
INSERT INTO authors (name, email) VALUES
('Ольга','o@r.ru'),('Мария','m@r.ru'),('Наталья','n@r.ru'),('Ирина','i@r.ru'),
('Елена','e@r.ru'),('Татьяна','t@r.ru'),('Светлана','s@r.ru'),('Анна','a@r.ru'),
('Юлия','u@r.ru'),('Дарья','d@r.ru');
INSERT INTO categories (name) VALUES
('Супы'),('Салаты'),('Десерты'),('Горячее'),('Напитки'),
('Закуски'),('Выпечка'),('Завтраки'),('Соусы'),('Вегетарианское');
INSERT INTO recipes (title, author_id, category_id, cook_minutes, servings) VALUES
('Борщ',1,1,90,6),('Цезарь',2,2,20,2),('Тирамису',3,3,60,4),
('Стейк',4,4,25,1),('Лимонад',5,5,10,4),('Брускетта',6,6,15,3),
('Пицца',7,7,120,4),('Омлет',8,8,10,2),('Песто',9,9,15,4),
('Овощное рагу',10,10,45,5);
INSERT INTO ingredients (name, unit) VALUES
('Свёкла','г'),('Капуста','г'),('Мясо','г'),('Помидор','шт'),
('Сыр','г'),('Мука','г'),('Сахар','г'),('Яйцо','шт'),
('Лимон','шт'),('Базилик','г');
INSERT INTO recipe_ingredients (recipe_id, ingredient_id, amount) VALUES
(1,1,300),(1,2,200),(1,3,500),(2,4,3),(2,5,100),
(3,6,200),(3,7,150),(4,3,300),(5,9,2),(6,10,20);
INSERT INTO steps (recipe_id, step_no, description) VALUES
(1,1,'Сварить бульон'),(1,2,'Добавить свёклу'),
(2,1,'Нарезать салат'),(2,2,'Добавить соус'),
(3,1,'Взбить яйца'),(3,2,'Собрать тирамису'),
(4,1,'Разогреть сковороду'),(4,2,'Обжарить стейк'),
(5,1,'Выжать лимоны'),(5,2,'Добавить сахар');
INSERT INTO reviews (recipe_id, user_name, score, comment) VALUES
(1,'Иван',5,'Вкусно!'),(2,'Пётр',4,'Хорошо'),(3,'Анна',5,'Супер'),
(4,'Олег',3,'Жёстко'),(5,'Мария',5,'Освежает'),(6,'Дина',4,'Ок'),
(7,'Егор',5,'Класс'),(8,'Зоя',5,'Быстро'),(9,'Илья',4,'Норм'),(10,'Катя',5,'Топ');
```
---
5. Благотворительный фонд
Связи: донор → пожертвование → кампания; фонд → проект; волонтёр → участие; получатель ← помощь.
```sql
CREATE DATABASE charity_db;
USE charity_db;
CREATE TABLE donors (
donor_id INT PRIMARY KEY AUTO_INCREMENT,
full_name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
CREATE TABLE campaigns (
campaign_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(150),
target_amount DECIMAL(12,2),
start_date DATE,
end_date DATE
);
CREATE TABLE donations (
donation_id INT PRIMARY KEY AUTO_INCREMENT,
donor_id INT,
campaign_id INT,
amount DECIMAL(12,2),
donated_at DATETIME,
FOREIGN KEY (donor_id) REFERENCES donors(donor_id),
FOREIGN KEY (campaign_id) REFERENCES campaigns(campaign_id)
);
CREATE TABLE volunteers (
volunteer_id INT PRIMARY KEY AUTO_INCREMENT,
full_name VARCHAR(100),
phone VARCHAR(20)
);
CREATE TABLE projects (
project_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(150),
campaign_id INT,
location VARCHAR(150),
FOREIGN KEY (campaign_id) REFERENCES campaigns(campaign_id)
);
CREATE TABLE volunteer_participation (
part_id INT PRIMARY KEY AUTO_INCREMENT,
volunteer_id INT,
project_id INT,
hours INT,
participation_date DATE,
FOREIGN KEY (volunteer_id) REFERENCES volunteers(volunteer_id),
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
CREATE TABLE beneficiaries (
beneficiary_id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(150),
category VARCHAR(80),
project_id INT,
FOREIGN KEY (project_id) REFERENCES projects(project_id)
);
INSERT INTO donors (full_name, email) VALUES
('Иванов И.','i@d.ru'),('Петров П.','p@d.ru'),('Сидоров С.','s@d.ru'),
('Кузнецов К.','k@d.ru'),('Смирнов С.','sm@d.ru'),('Орлов О.','o@d.ru'),
('Зайцев З.','z@d.ru'),('Морозов М.','m@d.ru'),('Волков В.','v@d.ru'),('Новиков Н.','n@d.ru');
INSERT INTO campaigns (title, target_amount, start_date, end_date) VALUES
('Помощь детям',1000000,'2024-01-01','2024-06-01'),
('Больным раком',2000000,'2024-02-01','2024-08-01'),
('Приюту животных',500000,'2024-03-01','2024-07-01'),
('Школам',800000,'2024-01-15','2024-09-01'),
('Старикам',600000,'2024-02-15','2024-10-01'),
('Экология',700000,'2024-03-10','2024-11-01'),
('Спорт детям',400000,'2024-04-01','2024-12-01'),
('Инвалидам',900000,'2024-01-20','2024-08-20'),
('Культура',300000,'2024-02-20','2024-09-20'),
('Наука',350000,'2024-03-15','2024-10-15');
INSERT INTO donations (donor_id, campaign_id, amount, donated_at) VALUES
(1,1,5000,'2024-01-05 10:00'),(2,2,10000,'2024-02-06 11:00'),
(3,3,3000,'2024-03-07 12:00'),(4,4,15000,'2024-01-20 13:00'),
(5,5,7000,'2024-02-20 14:00'),(6,6,8000,'2024-03-15 15:00'),
(7,7,2000,'2024-04-05 16:00'),(8,8,12000,'2024-01-25 17:00'),
(9,9,4000,'2024-02-25 18:00'),(10,10,6000,'2024-03-20 19:00');
INSERT INTO volunteers (full_name, phone) VALUES
('Аня','+7001'),('Боря','+7002'),('Вика','+7003'),('Гена','+7004'),
('Даша','+7005'),('Егор','+7006'),('Жанна','+7007'),('Зина','+7008'),
('Илья','+7009'),('Катя','+7010');
INSERT INTO projects (name, campaign_id, location) VALUES
('Больница №1',1,'Москва'),('Онкоцентр',2,'СПб'),
('Приют Друг',3,'Казань'),('Школа №5',4,'Екб'),
('Дом престарелых',5,'Новосиб'),('Лесопарк',6,'Сочи'),
('Секция футбола',7,'Самара'),('Центр инвалидов',8,'Уфа'),
('Театр',9,'Пермь'),('Лаборатория',10,'Тверь');
INSERT INTO volunteer_participation (volunteer_id, project_id, hours, participation_date) VALUES
(1,1,8,'2024-05-01'),(2,2,6,'2024-05-02'),(3,3,10,'2024-05-03'),
(4,4,4,'2024-05-04'),(5,5,7,'2024-05-05'),(6,6,5,'2024-05-06'),
(7,7,3,'2024-05-07'),(8,8,9,'2024-05-08'),(9,9,6,'2024-05-09'),(10,10,8,'2024-05-10');
INSERT INTO beneficiaries (name, category, project_id) VALUES
('Дети-сироты','Дети',1),('Больные','Медицина',2),
('Собаки','Животные',3),('Ученики','Образование',4),
('Пенсионеры','Соц.защита',5),('Парк','Экология',6),
('Дети-спортсмены','Спорт',7),('Инвалиды','Соц.защита',8),
('Артисты','Культура',9),('Учёные','Наука',10);
```
---
Как запустить всё сразу
1. Откройте File → New Query Tab.
2. Вставьте скрипт нужной базы (например, support_db).
3. ⚡ Execute (Ctrl+Shift+Enter).
4. В панели Schemas нажмите Refresh All — появятся все 5 баз: support_db, podcast_db, streaming_db, recipes_db, charity_db.
Чтобы построить ER-диаграммы
Database → Reverse Engineer → выберите базу → Workbench сам нарисует схему со всеми связями.
Хотите — могу:
· объединить все 5 баз в один .sql-файл;
· добавить ещё таблицы в каждую (например, statuses, logs, payments);
· или сделать 10+ таблиц там, где преподаватель требует больше.
Скажите, что нужно — подготовлю.