diff --git "a/\321\210\320\265\321\201\321\202\320\276\320\277\320\260\320\273\320\276\320\262 \320\260\321\200\321\201\320\265\320\275\320\270\320\271" "b/\321\210\320\265\321\201\321\202\320\276\320\277\320\260\320\273\320\276\320\262 \320\260\321\200\321\201\320\265\320\275\320\270\320\271" new file mode 100644 index 0000000..e23f654 --- /dev/null +++ "b/\321\210\320\265\321\201\321\202\320\276\320\277\320\260\320\273\320\276\320\262 \320\260\321\200\321\201\320\265\320\275\320\270\320\271" @@ -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) +);