CREATE TABLE articles ( id integer IDENTITY(1, 1) , description nvarchar(100) NOT NULL, price integer NOT NULL, CONSTRAINT articles_pkey PRIMARY KEY (id) ); CREATE TABLE customers ( id integer IDENTITY(1, 1) , code nvarchar(20), description nvarchar(200), city nvarchar(200), rating INTEGER, NOTE nvarchar(max), CONSTRAINT customers_pk PRIMARY KEY (id) ); CREATE TABLE customers_plain ( id integer NOT NULL, code nvarchar(20), description nvarchar(200), city nvarchar(200), note nvarchar(max), rating smallint, creation_time time, creation_date date, CONSTRAINT customers_plain_pk PRIMARY KEY (id) ); CREATE TABLE customers_with_code ( code nvarchar(20) NOT null primary key, description nvarchar(200), city nvarchar(200), NOTE nvarchar(max), rating smallint ); CREATE TABLE order_details ( id integer IDENTITY(1, 1) , id_order integer NOT NULL, id_article integer NOT NULL, unit_price numeric(18,2) NOT NULL, discount integer DEFAULT 0 NOT NULL , quantity integer NOT NULL, description nvarchar(200) NOT NULL, total numeric(18,2) NOT NULL, CONSTRAINT order_details_pkey PRIMARY KEY (id) ); CREATE TABLE orders ( id integer IDENTITY(1, 1) , id_customer integer NOT NULL, order_date date NOT NULL, total numeric(18,4) NOT NULL, CONSTRAINT orders_pkey PRIMARY KEY (id) ); CREATE TABLE people ( id integer IDENTITY(1, 1) , last_name nvarchar(100) NOT NULL, first_name nvarchar(100) NOT NULL, dob date NOT NULL, full_name nvarchar(80) NOT NULL, is_male bit DEFAULT 1 NOT NULL, note nvarchar(max), photo VARBINARY(MAX), person_type nvarchar(40) NOT NULL, salary numeric(18,4), annual_bonus numeric(18,4), CONSTRAINT people_pkey PRIMARY KEY (id) ); create table phones ( id integer IDENTITY(1, 1) , phone_number nvarchar(200) not null, number_type nvarchar(200) not null, dob date, id_person integer 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; CREATE TABLE nullables_test ( f_int2 smallint, f_int8 bigint, f_int4 integer, f_string nvarchar(200), f_bool bit, f_date date, f_time time, f_datetime datetime, f_float4 real, f_float8 double precision, f_currency numeric(18,4), f_blob varchar(max) ); create table integers_as_booleans ( id bigint not null identity primary key, done_bool bit not null, done_int smallint not null );