Загрузка данных


-- 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
);