Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions шестопалов арсений
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
CREATE TABLE seller (
seller_id SERIAL PRIMARY KEY,
full_name TEXT NOT NULL,
gender TEXT NOT NULL,
salary INT NOT NULL
);

CREATE TABLE client (
client_id SERIAL PRIMARY KEY,
full_name TEXT NOT NULL,
email TEXT,
phone TEXT NOT NULL ,
sex TEXT NOT NULL CHECK ( sex = 'm' or sex = 'f' ),
order_history TEXT,
discount_percent INT,
signed BOOLEAN NOT NULL DEFAULT false
);

CREATE TABLE product_categories (
category_id SERIAL PRIMARY KEY,
category_name TEXT NOT NULL,
description TEXT
);


CREATE TABLE products (
product_id SERIAL PRIMARY KEY,
product_name TEXT NOT NULL,
category_id SERIAL NOT NULL,
quantity_in_stock INT NOT NULL,
cost_price INT NOT NULL,
manufacturer TEXT NOT NULL,
selling_price FLOAT NOT NULL,
FOREIGN KEY (category_id) REFERENCES product_categories(category_id)
);


CREATE TABLE sales (
sale_id SERIAL PRIMARY KEY,
product_id INT NOT NULL,
selling_price FLOAT NOT NULL,
quantity INT NOT NULL,
sale_date DATE NOT NULL,
seller_id SERIAL NOT NULL,
client_id SERIAL,
FOREIGN KEY (product_id) REFERENCES products(product_id),
FOREIGN KEY (seller_id) REFERENCES seller(seller_id),
FOREIGN KEY (client_id) REFERENCES client(client_id)
);