| 1 | set search_path = "IND0_185022";
|
|---|
| 2 |
|
|---|
| 3 | drop table if exists token_;
|
|---|
| 4 | drop table if exists customer_weekday;
|
|---|
| 5 | drop table if exists unit_price;
|
|---|
| 6 | drop table if exists article_unit;
|
|---|
| 7 | drop table if exists orders;
|
|---|
| 8 | drop table if exists delivery;
|
|---|
| 9 | drop table if exists pro_forma;
|
|---|
| 10 | drop table if exists price;
|
|---|
| 11 | drop table if exists article;
|
|---|
| 12 | drop table if exists manufacturer;
|
|---|
| 13 | drop table if exists driver;
|
|---|
| 14 | drop table if exists manager;
|
|---|
| 15 | drop table if exists customer;
|
|---|
| 16 | drop table if exists users;
|
|---|
| 17 | drop table if exists vehicle;
|
|---|
| 18 | drop table if exists warehouse;
|
|---|
| 19 | drop table if exists city;
|
|---|
| 20 | drop table if exists region;
|
|---|
| 21 | drop table if exists category;
|
|---|
| 22 | drop table if exists weekday;
|
|---|
| 23 | drop table if exists pro_forma_status;
|
|---|
| 24 | drop table if exists delivery_status;
|
|---|
| 25 | drop table if exists order_status;
|
|---|
| 26 |
|
|---|
| 27 | drop schema if exists "IND0_185022";
|
|---|
| 28 |
|
|---|
| 29 | create schema "IND0_185022";
|
|---|
| 30 |
|
|---|
| 31 | set search_path = "IND0_185022";
|
|---|
| 32 |
|
|---|
| 33 | -- ENTITIES:
|
|---|
| 34 |
|
|---|
| 35 | create table order_status
|
|---|
| 36 | (
|
|---|
| 37 | o_status_id smallint generated by default as identity primary key,
|
|---|
| 38 | o_status_name varchar(255) not null unique,
|
|---|
| 39 | o_status_desc text not null
|
|---|
| 40 | );
|
|---|
| 41 |
|
|---|
| 42 | create table delivery_status
|
|---|
| 43 | (
|
|---|
| 44 | d_status_id smallint generated by default as identity primary key,
|
|---|
| 45 | d_status_name varchar(255) not null unique,
|
|---|
| 46 | d_status_desc text not null
|
|---|
| 47 | );
|
|---|
| 48 |
|
|---|
| 49 | create table pro_forma_status
|
|---|
| 50 | (
|
|---|
| 51 | pf_status_id smallint generated by default as identity primary key,
|
|---|
| 52 | pf_status_name varchar(255) not null unique,
|
|---|
| 53 | pf_status_desc text not null
|
|---|
| 54 | );
|
|---|
| 55 |
|
|---|
| 56 | create table weekday
|
|---|
| 57 | (
|
|---|
| 58 | day_id smallint generated by default as identity primary key,
|
|---|
| 59 | day_name varchar(20) not null
|
|---|
| 60 | );
|
|---|
| 61 |
|
|---|
| 62 | create table category
|
|---|
| 63 | (
|
|---|
| 64 | ctg_id int generated by default as identity primary key,
|
|---|
| 65 | ctg_name varchar(255) not null
|
|---|
| 66 | );
|
|---|
| 67 |
|
|---|
| 68 | create table region
|
|---|
| 69 | (
|
|---|
| 70 | region_id int generated by default as identity primary key,
|
|---|
| 71 | region_name varchar(255) not null
|
|---|
| 72 | );
|
|---|
| 73 |
|
|---|
| 74 | create table city
|
|---|
| 75 | (
|
|---|
| 76 | city_id int generated by default as identity primary key,
|
|---|
| 77 | city_name varchar(255) not null,
|
|---|
| 78 | region_id int not null,
|
|---|
| 79 | foreign key (region_id) references region (region_id)
|
|---|
| 80 | );
|
|---|
| 81 |
|
|---|
| 82 | create table warehouse
|
|---|
| 83 | (
|
|---|
| 84 | wh_id int generated by default as identity primary key,
|
|---|
| 85 | wh_adr varchar(255) not null,
|
|---|
| 86 | city_id int not null,
|
|---|
| 87 | foreign key (city_id) references city (city_id)
|
|---|
| 88 | );
|
|---|
| 89 |
|
|---|
| 90 | create table vehicle
|
|---|
| 91 | (
|
|---|
| 92 | veh_id int generated by default as identity primary key,
|
|---|
| 93 | veh_carry_weight int not null,
|
|---|
| 94 | veh_service_interval smallint not null,
|
|---|
| 95 | veh_kilometers int not null,
|
|---|
| 96 | veh_last_service date,
|
|---|
| 97 | veh_last_service_km int,
|
|---|
| 98 | veh_plate varchar(8) not null,
|
|---|
| 99 | veh_vin varchar(17) not null unique,
|
|---|
| 100 | veh_reg_date date not null,
|
|---|
| 101 | wh_id int not null,
|
|---|
| 102 | foreign key (wh_id) references warehouse (wh_id)
|
|---|
| 103 | );
|
|---|
| 104 |
|
|---|
| 105 | create table users
|
|---|
| 106 | (
|
|---|
| 107 | user_id bigint generated by default as identity primary key,
|
|---|
| 108 | user_name varchar(255) not null,
|
|---|
| 109 | user_surname varchar(255) not null,
|
|---|
| 110 | user_pass varchar(255) not null,
|
|---|
| 111 | user_salt varchar(255) not null,
|
|---|
| 112 | user_email varchar(255) not null,
|
|---|
| 113 | user_mobile varchar(255) not null,
|
|---|
| 114 | user_active boolean not null,
|
|---|
| 115 | user_image varchar(255),
|
|---|
| 116 | clazz_ varchar(255) not null,
|
|---|
| 117 | user_role varchar(255) not null,
|
|---|
| 118 |
|
|---|
| 119 | city_id int not null,
|
|---|
| 120 | foreign key (city_id) references city (city_id)
|
|---|
| 121 | );
|
|---|
| 122 |
|
|---|
| 123 | create table customer
|
|---|
| 124 | (
|
|---|
| 125 | user_id bigint primary key,
|
|---|
| 126 | cust_EDB varchar(13) not null,
|
|---|
| 127 | cust_company_name varchar(255) not null,
|
|---|
| 128 | cust_adr varchar(255) not null,
|
|---|
| 129 | cust_representative_img varchar(255),
|
|---|
| 130 | foreign key (user_id) references users (user_id)
|
|---|
| 131 | );
|
|---|
| 132 |
|
|---|
| 133 | create table manager
|
|---|
| 134 | (
|
|---|
| 135 | user_id bigint primary key,
|
|---|
| 136 | wh_id int not null,
|
|---|
| 137 | foreign key (wh_id) references warehouse (wh_id),
|
|---|
| 138 | foreign key (user_id) references users (user_id)
|
|---|
| 139 | );
|
|---|
| 140 |
|
|---|
| 141 | create table driver
|
|---|
| 142 | (
|
|---|
| 143 | user_id bigint primary key,
|
|---|
| 144 | veh_id int not null,
|
|---|
| 145 | foreign key (veh_id) references vehicle (veh_id),
|
|---|
| 146 | foreign key (user_id) references users (user_id)
|
|---|
| 147 | );
|
|---|
| 148 |
|
|---|
| 149 | create table manufacturer
|
|---|
| 150 | (
|
|---|
| 151 | man_id bigint generated by default as identity primary key,
|
|---|
| 152 | man_name varchar(255) not null,
|
|---|
| 153 | man_adr varchar(255) not null,
|
|---|
| 154 | man_mobile varchar(255) not null,
|
|---|
| 155 | man_email varchar(255) not null
|
|---|
| 156 | );
|
|---|
| 157 |
|
|---|
| 158 | create table article
|
|---|
| 159 | (
|
|---|
| 160 | art_id bigint generated by default as identity primary key,
|
|---|
| 161 | art_name varchar(255) not null,
|
|---|
| 162 | art_image varchar(255) not null,
|
|---|
| 163 | art_weight int not null,
|
|---|
| 164 | ctg_id int not null,
|
|---|
| 165 | man_id bigint not null,
|
|---|
| 166 | foreign key (ctg_id) references category (ctg_id),
|
|---|
| 167 | foreign key (man_id) references manufacturer (man_id)
|
|---|
| 168 | );
|
|---|
| 169 |
|
|---|
| 170 | create table price
|
|---|
| 171 | (
|
|---|
| 172 | price_id int generated by default as identity primary key,
|
|---|
| 173 | price decimal not null,
|
|---|
| 174 | price_eff_date timestamp not null default current_timestamp,
|
|---|
| 175 | art_id bigint not null,
|
|---|
| 176 | foreign key (art_id) references article (art_id)
|
|---|
| 177 | );
|
|---|
| 178 |
|
|---|
| 179 | create table pro_forma
|
|---|
| 180 | (
|
|---|
| 181 | pf_id bigint generated by default as identity primary key,
|
|---|
| 182 | pf_deadline date not null,
|
|---|
| 183 | pf_date_created date not null,
|
|---|
| 184 | pf_status_id smallint not null,
|
|---|
| 185 | foreign key (pf_status_id) references pro_forma_status (pf_status_id)
|
|---|
| 186 | );
|
|---|
| 187 |
|
|---|
| 188 | create table delivery
|
|---|
| 189 | (
|
|---|
| 190 | del_id bigint generated by default as identity primary key,
|
|---|
| 191 | del_date_created date not null,
|
|---|
| 192 | del_date date not null,
|
|---|
| 193 | del_start_km int,
|
|---|
| 194 | del_end_km int,
|
|---|
| 195 | del_start_time time,
|
|---|
| 196 | del_end_time time,
|
|---|
| 197 | d_status_id smallint not null,
|
|---|
| 198 | veh_id int not null,
|
|---|
| 199 | foreign key (d_status_id) references delivery_status (d_status_id),
|
|---|
| 200 | foreign key (veh_id) references vehicle (veh_id)
|
|---|
| 201 | );
|
|---|
| 202 |
|
|---|
| 203 | create table orders
|
|---|
| 204 | (
|
|---|
| 205 | ord_id bigint generated by default as identity primary key,
|
|---|
| 206 | ord_date date not null,
|
|---|
| 207 | ord_sum int not null,
|
|---|
| 208 | ord_fulfillment_date timestamp,
|
|---|
| 209 | ord_comment text,
|
|---|
| 210 | o_status_id smallint not null,
|
|---|
| 211 | cust_id bigint not null,
|
|---|
| 212 | del_id bigint,
|
|---|
| 213 | pf_id bigint,
|
|---|
| 214 | foreign key (o_status_id) references order_status (o_status_id),
|
|---|
| 215 | foreign key (cust_id) references customer (user_id),
|
|---|
| 216 | foreign key (del_id) references delivery (del_id),
|
|---|
| 217 | foreign key (pf_id) references pro_forma (pf_id)
|
|---|
| 218 | );
|
|---|
| 219 |
|
|---|
| 220 | create table article_unit
|
|---|
| 221 | (
|
|---|
| 222 | unit_id bigint generated by default as identity primary key,
|
|---|
| 223 | unit_expiration_date date not null,
|
|---|
| 224 | unit_serial_number varchar(255) not null,
|
|---|
| 225 | unit_batch_number varchar(255) not null,
|
|---|
| 226 | unit_manufacture_date date not null,
|
|---|
| 227 | unit_cost_price decimal not null,
|
|---|
| 228 | wh_id int not null,
|
|---|
| 229 | ord_id bigint,
|
|---|
| 230 | foreign key (wh_id) references warehouse (wh_id),
|
|---|
| 231 | foreign key (ord_id) references orders (ord_id)
|
|---|
| 232 | );
|
|---|
| 233 |
|
|---|
| 234 | create table unit_price
|
|---|
| 235 | (
|
|---|
| 236 | unit_id bigint not null,
|
|---|
| 237 | price_id bigint not null,
|
|---|
| 238 | primary key (unit_id, price_id),
|
|---|
| 239 | foreign key (unit_id) references article_unit (unit_id),
|
|---|
| 240 | foreign key (price_id) references price (price_id)
|
|---|
| 241 | );
|
|---|
| 242 |
|
|---|
| 243 | create table customer_weekday
|
|---|
| 244 | (
|
|---|
| 245 | cust_day_id bigint generated by default as identity primary key,
|
|---|
| 246 | cust_id bigint not null,
|
|---|
| 247 | day_id smallint not null,
|
|---|
| 248 | start_time time not null,
|
|---|
| 249 | end_time time not null,
|
|---|
| 250 | foreign key (cust_id) references customer (user_id),
|
|---|
| 251 | foreign key (day_id) references weekday (day_id)
|
|---|
| 252 | );
|
|---|
| 253 |
|
|---|
| 254 | create table token_
|
|---|
| 255 | (
|
|---|
| 256 | t_id bigint generated by default as identity primary key,
|
|---|
| 257 | t_value text not null,
|
|---|
| 258 | t_date timestamp not null default current_timestamp,
|
|---|
| 259 | t_type varchar(255) not null,
|
|---|
| 260 | t_expiry timestamp,
|
|---|
| 261 | t_validated_at timestamp,
|
|---|
| 262 | t_user bigint not null,
|
|---|
| 263 | foreign key (t_user) references users (user_id)
|
|---|
| 264 | ) |
|---|