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


CREATE DATABASE GIBDD;

USE GIBDD;

CREATE TABLE Марки (
    ИД_марки INT PRIMARY KEY,
    Название_марки VARCHAR(100) NOT NULL
);

CREATE TABLE Модели (
    ИД_модели INT PRIMARY KEY,
    ИД_марки INT REFERENCES Марки(ИД_марки),
    Название_модели VARCHAR(100) NOT NULL
);

CREATE TABLE Адреса (
    ИД_адреса INT PRIMARY KEY,
    Индекс VARCHAR(10),
    Регион VARCHAR(100),
    Город VARCHAR(100),
    Улица VARCHAR(150),
    Дом VARCHAR(20)
);

CREATE TABLE Владельцы (
    ИД_владельца INT PRIMARY KEY,
    Фамилия VARCHAR(50),
    Имя VARCHAR(50),
    Отчество VARCHAR(50),
    Номер_паспорта VARCHAR(30),
    Номер_ВУ VARCHAR(30),
    ИД_адреса INT REFERENCES Адреса(ИД_адреса)
);

CREATE TABLE Автомобили (
    ИД_автомобиля INT PRIMARY KEY,
    Гос_номер VARCHAR(20),
    ИД_модели INT REFERENCES Модели(ИД_модели),
    VIN VARCHAR(20),
    Номер_двигателя VARCHAR(20),
    Номер_тех_паспорта VARCHAR(20),
    Дата_регистрации DATE
);

CREATE TABLE История_владельцев (
    ИД_истории INT PRIMARY KEY,
    ИД_автомобиля INT REFERENCES Автомобили(ИД_автомобиля),
    ИД_владельца INT REFERENCES Владельцы(ИД_владельца),
    Дата_начала DATE,
    Дата_окончания DATE
);

CREATE TABLE Места (
    ИД_места INT PRIMARY KEY,
    Описание_места VARCHAR(200)
);

CREATE TABLE Угоны (
    ИД_угона INT PRIMARY KEY,
    ИД_автомобиля INT REFERENCES Автомобили(ИД_автомобиля),
    Дата_угона DATE,
    ИД_места_угона INT REFERENCES Места(ИД_места),
    Дата_нахождения DATE,
    ИД_места_нахождения INT REFERENCES Места(ИД_места)
);

CREATE TABLE Страховые_компании (
    ИД_страховой INT PRIMARY KEY,
    Наименование_страховой VARCHAR(150)
);

CREATE TABLE Страховки (
    ИД_страховки INT PRIMARY KEY,
    ИД_автомобиля INT REFERENCES Автомобили(ИД_автомобиля),
    ИД_страховой INT REFERENCES Страховые_компании(ИД_страховой),
    Страховой_взнос DECIMAL(10,2)
);

CREATE TABLE Допущенные_водители (
    ИД_записи INT PRIMARY KEY,
    ИД_страховки INT REFERENCES Страховки(ИД_страховки),
    ИД_водителя INT REFERENCES Владельцы(ИД_владельца),
    Дата_рождения DATE,
    Стаж INT
);