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


-- 1. Таблица СТРАНА
CREATE TABLE mdk0603_Country (
    country_id   INT PRIMARY KEY,
    name         VARCHAR(100) NOT NULL,
    continent    VARCHAR(50)  NOT NULL
);

-- 2. Таблица ПРАВИТЕЛЬ
CREATE TABLE mdk0603_Ruler (
    ruler_id         INT PRIMARY KEY,
    name             VARCHAR(100) NOT NULL,
    regnal_number    VARCHAR(10),            -- например, "I", "II", "III"
    gender           CHAR(1)      NOT NULL CHECK (gender IN ('М', 'Ж')),
    birth_date       DATE         NOT NULL,
    death_date       DATE                    -- NULL, если жив до сих пор
);

-- 3. Таблица ПЕРИОД_ПРАВЛЕНИЯ
CREATE TABLE mdk0603_Reign (
    reign_id     INT PRIMARY KEY,
    ruler_id     INT NOT NULL,
    country_id   INT NOT NULL,
    title        VARCHAR(100),
    start_year   INT NOT NULL,
    end_year     INT,                        -- NULL, если правит до сих пор
    FOREIGN KEY (ruler_id)   REFERENCES mdk0603_Ruler(ruler_id),
    FOREIGN KEY (country_id) REFERENCES mdk0603_Country(country_id)
);