У меня есть акция суперкласса, и она имеет 3 подкласса GiftCard, Offers, TodaysDeals.
Promotion(PromotionID,expiryDate)
GiftCard(GiftCardID,points)
where GiftCard.giftcardID references promotion
TodaysDeals(TodaysDealsID,Discount)
where TodaysDeals.TodaysDealsID references promotion
Offers(OffersID,Discount)
where offers.offersID references promotion
Акции GiftCard относятся к клиентам, а предложения и предложения связаны с продуктом. У продукта не может быть предложения и сделки одновременно. Я хочу добавить promoID в таблицу продуктов, чтобы убедиться, что любой promoID, соответствующий GiftCardID, отсутствует в таблице. Возможно ли, чтобы этот подход был представлен в переводе и переведен в SQL-код?
Я думал о том, чтобы установить связь между сделками и продуктом, а другой между предложением и продуктом, но это не будет удовлетворять ограничению, что продуктне может одновременно иметь предложение и сделку, поскольку оба идентификатора будут представлены как внешние ключи в Таблице продуктов.