36 lines
1.0 KiB
SQL
36 lines
1.0 KiB
SQL
-- Таблица пользователей
|
|
create table akalyanov.users (
|
|
id int primary key,
|
|
name varchar(100) not null,
|
|
age smallint,
|
|
email varchar(100),
|
|
country varchar(2),
|
|
is_active boolean,
|
|
created_at timestamp not null
|
|
);
|
|
-- Таблица продуктов
|
|
create table akalyanov.products (
|
|
id int primary key,
|
|
name varchar(100) not null,
|
|
category varchar(50),
|
|
price decimal(10,2) not null,
|
|
in_stock boolean
|
|
);
|
|
-- Таблица заказов
|
|
create table akalyanov.orders (
|
|
id int primary key,
|
|
user_id int,
|
|
order_date timestamptz not null,
|
|
status varchar(20),
|
|
foreign key (user_id) references akalyanov.users(id)
|
|
);
|
|
-- Таблица товаров в заказе
|
|
create table akalyanov.order_items (
|
|
order_id int,
|
|
product_id int,
|
|
quantity smallint not null,
|
|
price_at_purchase decimal(10,2) not null,
|
|
primary key (order_id, product_id),
|
|
foreign key (order_id) references akalyanov.orders(id),
|
|
foreign key (product_id) references akalyanov.products(id)
|
|
); |