Так что у меня есть эта проблема с моим заданием.У меня есть две сущности: Order, Gifr_cupon.У меня есть две таблицы: Orders, Gift_Cupons.
Каждый заказ может иметь много купонов или ни одного.Каждый Cupon связан ни с одним, ни с одним заказом.Но только один купон может быть активным для каждого заказа.
Как применить это ограничение?
Вот логическое и ER-представление с DDL:
DLL:
CREATE TABLE gift_cupons (
cupon_id INTEGER NOT NULL,
order_order_id INTEGER,
active INTEGER NOT NULL
);
ALTER TABLE gift_cupons ADD CONSTRAINT gift_cupon_pk PRIMARY KEY ( cupon_id
);
ALTER TABLE gift_cupons ADD CHECK gift_cupon_check CHECK(active IS NULL OR ( active >= 0 AND active <=1 ) );
CREATE TABLE orders (
order_id INTEGER NOT NULL
);
ALTER TABLE orders ADD CONSTRAINT order_pk PRIMARY KEY ( order_id );
ALTER TABLE gift_cupons
ADD CONSTRAINT gift_cupon_order_fk FOREIGN KEY ( order_order_id )
REFERENCES orders ( order_id );