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