mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-16 16:25:54 +01:00
102 lines
2.4 KiB
SQL
102 lines
2.4 KiB
SQL
-- Drop table
|
|
|
|
-- DROP TABLE public.articles
|
|
|
|
CREATE TABLE articles (
|
|
id bigserial NOT NULL,
|
|
description varchar(100) NOT NULL,
|
|
price int4 NOT NULL,
|
|
CONSTRAINT articles_pkey PRIMARY KEY (id)
|
|
);
|
|
|
|
-- Drop table
|
|
|
|
-- DROP TABLE public.customers
|
|
|
|
CREATE TABLE customers (
|
|
id bigserial NOT NULL,
|
|
code varchar(20) NULL,
|
|
description varchar(200) NULL,
|
|
city varchar(200) NULL,
|
|
rating int8 NULL,
|
|
note text NULL,
|
|
CONSTRAINT customers_pk PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE customers_plain (
|
|
id int8 NOT NULL,
|
|
code varchar(20) NULL,
|
|
description varchar(200) NULL,
|
|
city varchar(200) NULL,
|
|
note text NULL,
|
|
rating int4 NULL,
|
|
creation_time time null,
|
|
creation_date date null,
|
|
CONSTRAINT customers_plain_pk PRIMARY KEY (id)
|
|
);
|
|
|
|
CREATE TABLE "customers with spaces" (
|
|
"id with spaces" int8 NOT NULL,
|
|
"code with spaces" varchar(20) NULL,
|
|
"description with spaces" varchar(200) NULL,
|
|
"city with spaces" varchar(200) NULL,
|
|
"note with spaces" text NULL,
|
|
"rating with spaces" int4 NULL,
|
|
CONSTRAINT customers_with_spaces_pk PRIMARY KEY ("id with spaces")
|
|
);
|
|
|
|
|
|
-- Drop table
|
|
|
|
-- DROP TABLE public.order_details
|
|
|
|
CREATE TABLE order_details (
|
|
id bigserial NOT NULL,
|
|
id_order int8 NOT NULL,
|
|
id_article int8 NOT NULL,
|
|
unit_price numeric(18,2) NOT NULL,
|
|
discount int4 NOT NULL DEFAULT 0,
|
|
quantity int4 NOT NULL,
|
|
description varchar(200) NOT NULL,
|
|
total numeric(18,2) NOT NULL,
|
|
CONSTRAINT order_details_pkey PRIMARY KEY (id)
|
|
);
|
|
|
|
-- Drop table
|
|
|
|
-- DROP TABLE public.orders
|
|
|
|
CREATE TABLE orders (
|
|
id bigserial NOT NULL,
|
|
id_customer int4 NOT NULL,
|
|
order_date date NOT NULL,
|
|
total numeric(18,4) NULL,
|
|
CONSTRAINT orders_pkey PRIMARY KEY (id)
|
|
);
|
|
|
|
-- Drop table
|
|
|
|
-- DROP TABLE public.people
|
|
|
|
CREATE TABLE people (
|
|
id bigserial NOT NULL,
|
|
last_name varchar(100) NOT NULL,
|
|
first_name varchar(100) NOT NULL,
|
|
dob date NULL,
|
|
full_name varchar(80) NULL,
|
|
is_male bool NULL,
|
|
note text NULL,
|
|
photo bytea NULL,
|
|
CONSTRAINT people_pkey PRIMARY KEY (id)
|
|
);
|
|
|
|
create table phones (
|
|
id bigserial primary key,
|
|
phone_number varchar(200) not null,
|
|
number_type varchar(200) not null,
|
|
dob date,
|
|
id_person bigint not null references people(id)
|
|
);
|
|
|
|
ALTER TABLE orders ADD CONSTRAINT orders_customers_fk FOREIGN KEY (id_customer) REFERENCES customers(id) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
ALTER TABLE order_details ADD CONSTRAINT order_details_orders_fk FOREIGN KEY (id_order) REFERENCES orders(id) ON DELETE CASCADE ON UPDATE CASCADE; |