Добавил:
@wequalwo Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

SQL / Ivanov_S_0392_sql_1

.docx
Скачиваний:
0
Добавлен:
08.09.2024
Размер:
332.35 Кб
Скачать

CREATE TABLE Company

(

Cy_id char(5) PRIMARY KEY CHECK (Cy_id SIMILAR TO '[0-9][0-9][A-Z][0-9][0-9]'),

Cy_name text UNIQUE,

Cy_city text NOT NULL DEFAULT 'Paris',

Cy_adress text,

Cy_phone char(15) CHECK (Cy_phone SIMILAR TO '[0-9]\([0-9][0-9][0-9]\)[0-9][0-9][0-9]\-[0-9][0-9]\-[0-9][0-9]'),

CONSTRAINT not_null_name CHECK (Cy_name IS NOT NULL)

);

CREATE TABLE Commande

(

Ce_id char(8) PRIMARY KEY CHECK (Ce_id SIMILAR TO '[0-9][0-9]\-[A-Z][A-Z]\-[0-9][0-9]'),

Ce_name text NOT NULL,

Ce_price int4 CHECK (Ce_price > 0),

Ce_volume int4 NOT NULL CHECK (Ce_volume > 10 AND Ce_volume <= 1000)

);

CREATE TABLE Execution

(

Cy_id char(5),

Ce_id char(8),

E_planned_date DATE NOT NULL DEFAULT CURRENT_DATE,

E_status boolean DEFAULT 'FALSE',

E_shipping_date date,

PRIMARY KEY(Cy_id, Ce_id),

FOREIGN KEY (Cy_id) REFERENCES Company(Cy_id)

ON DELETE RESTRICT

ON UPDATE CASCADE,

FOREIGN KEY (Ce_id) REFERENCES Commande(Ce_id)

ON DELETE RESTRICT

ON UPDATE CASCADE,

CHECK (E_shipping_date > E_planned_date)

); (E_shipping_date > E_planned_date)

);

Соседние файлы в папке SQL