Changes between Initial Version and Version 1 of phase0


Ignore:
Timestamp:
03/06/24 23:52:10 (7 months ago)
Author:
201166
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • phase0

    v1 v1  
     1= Креирање на табели
     2----
     3
     4create table users
     5(
     6    id           bigserial primary key,
     7    first_name   varchar(255),
     8    last_name    varchar(255),
     9    phone_number varchar(255),
     10    email        varchar(255) unique,
     11    password     varchar(255),
     12    role         varchar(255)
     13);
     14
     15create table address
     16(
     17    id      bigserial primary key,
     18    address varchar(255),
     19    user_id bigint,
     20    foreign key (user_id) references users (id)
     21        on delete cascade
     22        on update cascade
     23);
     24
     25create table category
     26(
     27    id          bigserial primary key,
     28    name        varchar(255),
     29    category_id bigint references category (id)
     30        on delete cascade
     31        on update cascade
     32);
     33
     34create table supplier
     35(
     36    id           bigserial primary key,
     37    name         varchar(255),
     38    location     varchar(255),
     39    phone_number varchar(255)
     40);
     41
     42create table product
     43(
     44    id          bigserial primary key,
     45    name        varchar(255),
     46    description varchar(255),
     47    image       bytea,
     48    quantity    integer,
     49    category_id bigint references category (id)
     50        on delete set null
     51        on update cascade,
     52    supplier_id bigint references supplier (id)
     53        on delete set null
     54        on update cascade
     55);
     56
     57create table product_price
     58(
     59    product_id bigint,
     60    price      integer,
     61    start_date date,
     62    end_date   date,
     63    foreign key (product_id) references product (id)
     64        on delete cascade
     65        on update cascade,
     66    primary key (product_id, price, start_date),
     67    check ( price > 0 ),
     68    check ( end_date >= start_date )
     69);
     70
     71
     72create table property
     73(
     74    id   bigserial primary key,
     75    name varchar(255)
     76);
     77
     78create table product_property
     79(
     80    product_id  bigint,
     81    property_id bigint,
     82    value       varchar(255),
     83    foreign key (product_id) references product (id)
     84        on delete cascade
     85        on update cascade,
     86    foreign key (property_id) references property (id)
     87        on delete cascade
     88        on update cascade,
     89    primary key (product_id, property_id)
     90);
     91
     92create table orders
     93(
     94    id      bigserial primary key,
     95    status  varchar(255),
     96    date    date,
     97    price   integer,
     98    user_id bigint,
     99    foreign key (user_id) references users (id)
     100        on delete set null
     101        on update cascade
     102);
     103
     104create table order_details
     105(
     106    order_id   bigint,
     107    product_id bigint,
     108    quantity   integer,
     109    foreign key (order_id) references orders (id)
     110        on delete cascade
     111        on update cascade,
     112    foreign key (product_id) references product (id)
     113        on delete cascade
     114        on update cascade,
     115    primary key (order_id, product_id)
     116);