Changeset 101cbe2 for database_scripts/kreiranje_v2.sql
- Timestamp:
- 12/27/22 22:45:56 (18 months ago)
- Branches:
- main
- Children:
- 23a2bc5
- Parents:
- f094f6c
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
database_scripts/kreiranje_v2.sql
rf094f6c r101cbe2 1 drop table if exists users_table cascade;2 drop table if exists client cascade;3 drop table if exists delivery_man cascade;4 drop table if exists warehouseman cascade;5 drop table if exists administrator cascade;6 drop table if exists review cascade;7 drop table if exists repair cascade;8 drop table if exists repair_shop cascade;9 drop table if exists car_manufacturer cascade;10 drop table if exists car cascade;11 drop table if exists car_sample cascade;12 drop table if exists service_book cascade;13 drop table if exists order_table cascade;14 drop table if exists p art_manufacturer cascade;15 drop table if exists p art cascade;16 drop table if exists delivery cascade;17 drop table if exists warehouse cascade;18 drop table if exists pr ice cascade;19 drop table if exists category cascade;20 drop table if exists p art_is_from_category cascade;21 drop table if exists repair_shop_is_authorized_for_car_make cascade;22 drop table if exists order_contains_part cascade;23 drop table if exists p art_is_in_stock_in_warehouse cascade;24 drop table if exists p art_is_appropriate_for_car cascade;25 26 create table users_table(1 drop table if exists project.users_table cascade; 2 drop table if exists project.client cascade; 3 drop table if exists project.delivery_man cascade; 4 drop table if exists project.warehouseman cascade; 5 drop table if exists project.administrator cascade; 6 drop table if exists project.review cascade; 7 drop table if exists project.repair cascade; 8 drop table if exists project.repair_shop cascade; 9 drop table if exists project.car_manufacturer cascade; 10 drop table if exists project.car cascade; 11 drop table if exists project.car_sample cascade; 12 drop table if exists project.service_book cascade; 13 drop table if exists project.order_table cascade; 14 drop table if exists project.part_manufacturer cascade; 15 drop table if exists project.part cascade; 16 drop table if exists project.delivery cascade; 17 drop table if exists project.warehouse cascade; 18 drop table if exists project.price cascade; 19 drop table if exists project.category cascade; 20 drop table if exists project.part_is_from_category cascade; 21 drop table if exists project.repair_shop_is_authorized_for_car_make cascade; 22 drop table if exists project.order_contains_part cascade; 23 drop table if exists project.part_is_in_stock_in_warehouse cascade; 24 drop table if exists project.part_is_appropriate_for_car cascade; 25 26 create table project.users_table( 27 27 ID_user serial primary key, 28 28 username varchar(100) unique not null, … … 34 34 ID_administrator integer 35 35 -- constraint for fk_user_by_administrator added later 36 37 ); 38 39 create table client( 40 ID_user integer primary key, 41 constraint fk_client_is_user foreign key (ID_user) references users_table(ID_user) 42 ); 43 44 create table delivery_man( 36 ); 37 38 create table project.client( 39 ID_user integer primary key, 40 constraint fk_client_is_user foreign key (ID_user) references project.users_table(ID_user) 41 ); 42 43 create table project.delivery_man( 45 44 ID_user integer primary key, 46 45 employed_from date not null, 47 constraint fk_delivery_man_is_user foreign key (ID_user) references users_table(ID_user)48 ); 49 50 create table warehouseman(46 constraint fk_delivery_man_is_user foreign key (ID_user) references project.users_table(ID_user) 47 ); 48 49 create table project.warehouseman( 51 50 ID_user integer primary key, 52 51 employed_from date not null, 53 52 ID_warehouse integer not null, 54 constraint fk_warehouseman_is_user foreign key (ID_user) references users_table(ID_user)53 constraint fk_warehouseman_is_user foreign key (ID_user) references project.users_table(ID_user) 55 54 -- contraint for fk_warehouseman_warehouse added later 56 55 ); 57 56 58 create table administrator(57 create table project.administrator( 59 58 ID_user integer primary key, 60 59 authorized_from date not null, 61 60 authorized_till date not null, 62 constraint fk_administrator_is_user foreign key (ID_user) references users_table(ID_user)63 ); 64 65 alter table users_table add constraint fk_user_by_administrator foreign key (ID_administrator)66 references administrator(ID_user);61 constraint fk_administrator_is_user foreign key (ID_user) references project.users_table(ID_user) 62 ); 63 64 alter table project.users_table add constraint fk_user_by_administrator foreign key (ID_administrator) 65 references project.administrator(ID_user); 67 66 68 create table warehouse(67 create table project.warehouse( 69 68 ID_warehouse serial primary key, 70 69 warehouse_location varchar(100) not null 71 70 ); 72 71 73 alter table warehouseman add constraint fk_warehouseman_warehouse foreign key (ID_warehouse)74 references warehouse(ID_warehouse);72 alter table project.warehouseman add constraint fk_warehouseman_warehouse foreign key (ID_warehouse) 73 references project.warehouse(ID_warehouse); 75 74 76 create table car_manufacturer(75 create table project.car_manufacturer( 77 76 ID_car_manufacturer serial primary key, 78 77 cm_name varchar(100) not null, … … 80 79 ); 81 80 82 create table car(81 create table project.car( 83 82 ID_car serial primary key, 84 83 in_production_since integer not null, … … 86 85 car_type varchar(100) not null, 87 86 ID_car_manufacturer integer not null, 88 constraint fk_car_car_manufacturer foreign key (ID_car_manufacturer) references car_manufacturer(ID_car_manufacturer)89 ); 90 91 create table car_sample(87 constraint fk_car_car_manufacturer foreign key (ID_car_manufacturer) references project.car_manufacturer(ID_car_manufacturer) 88 ); 89 90 create table project.car_sample( 92 91 vin integer primary key, 93 92 year_of_production integer not null, … … 98 97 ID_user integer not null, 99 98 ID_car integer not null, 100 constraint fk_car_sample_user foreign key (ID_user) references client(ID_user),101 constraint fk_car_sample_car foreign key (ID_car) references car(ID_car)102 ); 103 104 create table service_book(99 constraint fk_car_sample_user foreign key (ID_user) references project.client(ID_user), 100 constraint fk_car_sample_car foreign key (ID_car) references project.car(ID_car) 101 ); 102 103 create table project.service_book( 105 104 ID_service_book serial primary key, 106 105 sb_created_on timestamp default now(), 107 106 vin integer not null, 108 constraint fk_service_book_car_sample foreign key (vin) references car_sample(vin)109 ); 110 111 create table repair_shop(107 constraint fk_service_book_car_sample foreign key (vin) references project.car_sample(vin) 108 ); 109 110 create table project.repair_shop( 112 111 ID_repair_shop serial primary key, 113 112 rs_name varchar(100) not null, … … 116 115 ); 117 116 118 create table repair(117 create table project.repair( 119 118 ID_repair serial primary key, 120 119 vin integer not null, 121 120 ID_repair_shop integer not null, 122 121 ID_service_book integer, 123 constraint fk_repair_car_sample foreign key (vin) references car_sample(vin),124 constraint fk_repair_repair_shop foreign key (ID_repair_shop) references repair_shop(ID_repair_shop),125 constraint fk_repair_service_book foreign key (ID_service_book) references service_book(ID_service_book)126 ); 127 128 create table review(122 constraint fk_repair_car_sample foreign key (vin) references project.car_sample(vin), 123 constraint fk_repair_repair_shop foreign key (ID_repair_shop) references project.repair_shop(ID_repair_shop), 124 constraint fk_repair_service_book foreign key (ID_service_book) references project.service_book(ID_service_book) 125 ); 126 127 create table project.review( 129 128 ID_review serial primary key, 130 129 review_rating integer not null, … … 132 131 ID_repair integer not null, 133 132 ID_user integer not null, 134 constraint fk_review_repair foreign key (ID_repair) references repair(ID_repair),135 constraint fk_review_user foreign key (ID_user) references client(ID_user)136 ); 137 138 create table order_table(133 constraint fk_review_repair foreign key (ID_repair) references project.repair(ID_repair), 134 constraint fk_review_user foreign key (ID_user) references project.client(ID_user) 135 ); 136 137 create table project.order_table( 139 138 ID_order serial primary key, 140 139 order_status varchar(100) not null, 141 140 order_date timestamp default now(), 142 141 ID_user integer not null, 143 constraint fk_order_user foreign key (ID_user) references client(ID_user)144 ); 145 146 create table p art_manufacturer(142 constraint fk_order_user foreign key (ID_user) references project.client(ID_user) 143 ); 144 145 create table project.part_manufacturer( 147 146 ID_part_manufacturer serial primary key, 148 147 pm_name varchar(100) not null, … … 150 149 ); 151 150 152 create table p art(151 create table project.part( 153 152 ID_part serial primary key, 154 153 part_name varchar(100) not null, 155 154 part_description varchar(300), 156 155 ID_part_manufacturer integer not null, 157 constraint fk_part_part_manufacturer foreign key(ID_part_manufacturer) references p art_manufacturer(ID_part_manufacturer)158 ); 159 160 create table delivery(156 constraint fk_part_part_manufacturer foreign key(ID_part_manufacturer) references project.part_manufacturer(ID_part_manufacturer) 157 ); 158 159 create table project.delivery( 161 160 ID_delivery serial primary key, 162 161 delivery_status varchar(100) not null, … … 164 163 ID_user integer not null, 165 164 ID_order integer not null, 166 constraint fk_delivered_by_deliver_man foreign key(ID_user) references delivery_man(ID_user),167 constraint fk_delivery_for_order foreign key(ID_order) references order_table(ID_order)168 ); 169 170 create table pr ice(165 constraint fk_delivered_by_deliver_man foreign key(ID_user) references project.delivery_man(ID_user), 166 constraint fk_delivery_for_order foreign key(ID_order) references project.order_table(ID_order) 167 ); 168 169 create table project.price( 171 170 ID_price serial primary key, 172 171 amount integer not null, … … 174 173 price_till date, 175 174 ID_part integer not null, 176 constraint fk_price_for_part foreign key(ID_part) references p art(ID_part),175 constraint fk_price_for_part foreign key(ID_part) references project.part(ID_part), 177 176 constraint ck_amount_gt_0 check (amount>0) 178 177 ); 179 178 180 create table category(179 create table project.category( 181 180 ID_category serial primary key, 182 181 category_name varchar(100) not null, 183 182 ID_parent_category integer, 184 constraint fk_category_parentcategory foreign key (ID_parent_category) references category(ID_category)185 ); 186 187 create table p art_is_from_category(183 constraint fk_category_parentcategory foreign key (ID_parent_category) references project.category(ID_category) 184 ); 185 186 create table project.part_is_from_category( 188 187 ID_part integer not null, 189 188 ID_category integer not null, 190 constraint fk_part_is_from_category_part foreign key (ID_part) references p art(ID_part),191 constraint fk_part_is_from_category_category foreign key (ID_category) references category(ID_category)192 193 ); 194 195 create table repair_shop_is_authorized_for_car_make(189 constraint fk_part_is_from_category_part foreign key (ID_part) references project.part(ID_part), 190 constraint fk_part_is_from_category_category foreign key (ID_category) references project.category(ID_category) 191 192 ); 193 194 create table project.repair_shop_is_authorized_for_car_make( 196 195 ID_repair_shop integer not null, 197 196 ID_car_manufacturer integer not null, 198 constraint fk_repair_shop_is_authorized_for_car_make_repair_shop foreign key (ID_repair_shop) references repair_shop(ID_repair_shop),199 constraint fk_repair_shop_is_authorized_for_car_make_car_manufacturer foreign key (ID_car_manufacturer) references car_manufacturer(ID_car_manufacturer)200 ); 201 202 create table order_contains_part(197 constraint fk_repair_shop_is_authorized_for_car_make_repair_shop foreign key (ID_repair_shop) references project.repair_shop(ID_repair_shop), 198 constraint fk_repair_shop_is_authorized_for_car_make_car_manufacturer foreign key (ID_car_manufacturer) references project.car_manufacturer(ID_car_manufacturer) 199 ); 200 201 create table project.order_contains_part( 203 202 ID_part integer not null, 204 203 ID_order integer not null, 205 204 quantity_order integer not null, 206 constraint fk_order_contains_part_part foreign key (ID_part) references p art(ID_part),207 constraint fk_order_contains_part_order foreign key (ID_order) references order_table(ID_order),205 constraint fk_order_contains_part_part foreign key (ID_part) references project.part(ID_part), 206 constraint fk_order_contains_part_order foreign key (ID_order) references project.order_table(ID_order), 208 207 constraint ck_quantity_order check (quantity_order>0) 209 208 ); 210 209 211 create table p art_is_in_stock_in_warehouse(210 create table project.part_is_in_stock_in_warehouse( 212 211 ID_part integer not null, 213 212 ID_warehouse integer not null, 214 213 quantity_warehouse integer not null, 215 constraint fk_part_is_in_stock_in_warehouse_part foreign key (ID_part) references p art(ID_part),216 constraint fk_part_is_in_stock_in_warehouse_warehouse foreign key (ID_warehouse) references warehouse(ID_warehouse),214 constraint fk_part_is_in_stock_in_warehouse_part foreign key (ID_part) references project.part(ID_part), 215 constraint fk_part_is_in_stock_in_warehouse_warehouse foreign key (ID_warehouse) references project.warehouse(ID_warehouse), 217 216 constraint ck_quantity_warehouse check (quantity_warehouse>0) 218 217 ); 219 218 220 create table p art_is_appropriate_for_car(219 create table project.part_is_appropriate_for_car( 221 220 ID_part integer not null, 222 221 ID_car integer not null, 223 constraint fk_part_is_appropriate_for_car_part foreign key (ID_part) references p art(ID_part),224 constraint fk_part_is_appropriate_for_car_car foreign key (ID_car) references car(ID_car)225 ); 222 constraint fk_part_is_appropriate_for_car_part foreign key (ID_part) references project.part(ID_part), 223 constraint fk_part_is_appropriate_for_car_car foreign key (ID_car) references project.car(ID_car) 224 );
Note:
See TracChangeset
for help on using the changeset viewer.