delphimvcframework/samples/data/activerecorddb_postgresql_script.sql
2020-04-08 18:04:45 +02:00

100 lines
2.3 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,
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;