-- 1. Создаем базу данных
CREATE DATABASE IF NOT EXISTS GardenDB;
USE GardenDB;
-- 2. Создаем таблицу "Сады" (Первая основная сущность)
CREATE TABLE gardens (
id INT PRIMARY KEY AUTO_INCREMENT, -- Уникальный номер сада
name VARCHAR(100) NOT NULL, -- Название сада (например, "Ботанический сад")
address VARCHAR(200) -- Адрес сада
);
-- 3. Создаем таблицу "Деревья" (Вторая основная сущность)
CREATE TABLE trees (
id INT PRIMARY KEY AUTO_INCREMENT, -- Уникальный номер вида дерева
species VARCHAR(100) NOT NULL, -- Название вида (например, "Яблоня", "Дуб")
max_height_m DECIMAL(5,2) -- Максимальная высота в метрах
);
-- 4. Создаем связующую таблицу "Деревья в садах"
-- (Реализует связь Многие-ко-Многим)
CREATE TABLE garden_trees (
garden_id INT, -- Ссылка на сад
tree_id INT, -- Ссылка на вид дерева
quantity INT DEFAULT 1, -- Сколько таких деревьев в этом саду
-- Составной первичный ключ:
-- в одном саду вид дерева указывается только один раз
PRIMARY KEY (garden_id, tree_id),
-- Внешние ключи (связывают таблицы):
FOREIGN KEY (garden_id) REFERENCES gardens(id) ON DELETE CASCADE,
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);