CREATE DATABASE Mangata_Gallo;

use Mangata_Gallo;

-- 1.1
-- Створіть таблицю "Clients" з такими обмеженнями:
-- ClientID: первинний ключ, тип - цілі, не порожнє
-- FullName: тип - змінний символьний довжиною 100, не порожнє
-- PhoneNumber: тип - цілі, не порожнє, унікальні

create table Clients (
    client_id int primary key auto_increment,
    full_name nvarchar (100) not null,
    phone_number int not null unique
);

-- 1.2
-- Створіть таблицю "Items" з такими атрибутами та обмеженнями:
-- ItemID: первинний ключ, тип - цілі, не порожнє
-- ItemName: тип - змінний символьний довжиною 100, не порожнє
-- Price: тип – десяткові (7 розрядів, два знаки після коми), не порожнє

create table Items (
    item_id int primary key auto_increment,
    item_name nvarchar (100) not null,
    price decimal(7, 2) not null
);

-- 1.3
-- творіть таблицю "Orders" з такими атрибутами та обмеженнями:
-- OrderID: первинний ключ, тип - цілі, не порожнє
-- ClientID: зовнішній ключ, тип - цілі, не порожнє
-- ItemID: зовнішній ключ, тип - цілі, не порожнє
-- Quantity: тип - цілі, не порожнє, максимально допустима кількість одиниць товару на замовлення - 3
-- Cost: тип – десяткові (8 розрядів, 2 знаки після коми), не порожнє

create table Orders (
    order_id int primary key auto_increment,
    client_id int not null,
    item_id int not null,
    quantity int not null check (quantity <= 3),
    cost decimal(8, 2) not null,
    constraint fk_client foreign key (client_id) references Clients (client_id),
    constraint fk_item foreign key (item_id) references Items (item_id)
);