-- 1. Создаем базу данных (если её еще нет)
CREATE DATABASE IF NOT EXISTS GardenDB;
USE GardenDB;
-- 2. Создаем таблицу "Садовники" (Первая основная сущность)
CREATE TABLE gardeners (
id INT PRIMARY KEY AUTO_INCREMENT, -- Уникальный номер садовника
full_name VARCHAR(100) NOT NULL, -- ФИО садовника
specialization VARCHAR(50) -- Специализация (например, "полив", "обрезка")
);
-- 3. Создаем таблицу "Деревья" (Вторая основная сущность)
CREATE TABLE trees (
id INT PRIMARY KEY AUTO_INCREMENT, -- Уникальный номер дерева
species VARCHAR(100) NOT NULL, -- Вид дерева (например, "Яблоня", "Дуб")
age_years INT -- Возраст дерева в годах
);
-- 4. Создаем связующую таблицу "Уход за деревьями"
-- (Реализует связь Многие-ко-Многим)
CREATE TABLE gardener_trees (
gardener_id INT, -- Ссылка на садовника
tree_id INT, -- Ссылка на дерево
care_date DATE, -- Дата ухода (дополнительное поле)
-- Составной первичный ключ:
-- один садовник не может ухаживать за одним деревом дважды в один день
PRIMARY KEY (gardener_id, tree_id, care_date),
-- Внешние ключи (связывают таблицы):
FOREIGN KEY (gardener_id) REFERENCES gardeners(id) ON DELETE CASCADE,
FOREIGN KEY (tree_id) REFERENCES trees(id) ON DELETE CASCADE
);