# ЛР2
Варіант 8
Створити і заповнити відношення БД пункту прокату автомобілів:
1. Клієнти: (Id (ПК), ПІБ, Посвідчення водія, Дата отримання посвідчення водія).
2. Моделі: (Id (ПК), Назва моделі, Марка, Ціна за день оренди, Місткість, Тип кузова).
3. Автомобілі: (Id (ПК), Держномер, Рік випуску, Колір, Стан, Пробіг, Модель (ЗК)).
4. Договори на оренду: (Id (ПК), Клієнт (ЗК до таблиці Клієнти, обов’язкове поле ), Автомобіль (ЗК до таблиці Автомобілі, обов’язкове поле), Дата укладення договору (D, обов'язкове поле), Тривалість договору (в днях, N 3 0, обов'язкове поле), Вартість договору (N 10 2, обов'язкове поле), Дата повернення (D, необов'язкове поле)) Примітки: Перевірити, що до моменту закінчення договору не закінчився термін дії водійського посвідчення клієнта (воно діє протягом 10 років).
Схема БД

Відношення БД
```sql=
CREATE TABLE clients
(
client_id int PRIMARY KEY AUTO_INCREMENT,
driver_license int NOT NULL,
date_of_receiving date NOT NULL
);
CREATE TABLE models
(
model_id int PRIMARY KEY AUTO_INCREMENT,
model varchar(50) NOT NULL,
brend varchar(30) NOT NULL,
price_per_day int NOT NULL,
roominess int NOT NULL,
body_type varchar(20) NOT NULL
);
CREATE TABLE cars
(
car_id int PRIMARY KEY AUTO_INCREMENT,
state_number int NOT NULL,
year_of_issue year NOT NULL,
color varchar(30) NOT NULL,
car_condition varchar(40) NOT NULL,
mileage int NOT NULL,
model_id int NOT NULL,
FOREIGN KEY(model_id) REFERENCES models(model_id)
);
CREATE TABLE contracts
(
contract_id int PRIMARY KEY AUTO_INCREMENT,
client_id int NOT NULL,
car_id int NOT NULL,
contract_date date NOT NULL,
duration int NOT NULL,
price int NOT NULL,
return_date date NOT NULL CHECK(DATE_ADD(clients(date_of_receiving), INTERVAL 10 year) >= contracts(return_date)),
FOREIGN KEY(client_id) REFERENCES clients(client_id),
FOREIGN KEY(car_id) REFERENCES cars(car_id)
);
```