· 8 years ago · Dec 31, 2017, 04:54 AM
1CREATE SCHEMA IF NOT EXISTS departmentstore_db_schema;
2
3CREATE TABLE IF NOT EXISTS departmentstore_db_schema.product (
4 id UUID PRIMARY KEY,
5 name TEXT NOT NULL,
6 price NUMERIC NOT NULL,
7 description TEXT
8);
9
10CREATE TABLE IF NOT EXISTS departmentstore_db_schema.customer (
11 id UUID PRIMARY KEY,
12 name TEXT NOT NULL,
13 adress TEXT,
14 email TEXT
15);
16
17CREATE TABLE IF NOT EXISTS departmentstore_db_schema.discount (
18 product_id UUID REFERENCES departmentstore_db_schema.product (id) NOT NULL,
19 customer_id UUID REFERENCES departmentstore_db_schema.customer (id) NOT NULL,
20 value NUMERIC NOT NULL,
21 CONSTRAINT discount_id PRIMARY KEY (product_id, customer_id)
22);
23
24CREATE TABLE IF NOT EXISTS departmentstore_db_schema.discount (
25 product_id UUID REFERENCES departmentstore_db_schema.product (id) NOT NULL,
26 customer_id UUID REFERENCES departmentstore_db_schema.customer (id) NOT NULL,
27 value NUMERIC NOT NULL,
28 CONSTRAINT discount_id PRIMARY KEY (product_id, customer_id)
29);
30
31CREATE TABLE IF NOT EXISTS departmentstore_db_schema.vendor (
32 id UUID PRIMARY KEY,
33 name TEXT NOT NULL,
34 adress TEXT,
35 email TEXT
36);
37
38CREATE TABLE IF NOT EXISTS departmentstore_db_schema.sale (
39 id UUID PRIMARY KEY,
40 product_id UUID REFERENCES departmentstore_db_schema.product (id) NOT NULL,
41 customer_id UUID REFERENCES departmentstore_db_schema.customer (id) NOT NULL,
42 vendor_id UUID REFERENCES departmentstore_db_schema.vendor (id) NOT NULL,
43 date TIMESTAMP NOT NULL,
44 amount INTEGER NOT NULL
45);