Требуется создать таблицу рекламных акций, которая может иметь несколько типов рекламных акций.т. е. купоны, промо-коды, подарки и т. д.
Проблема при создании Акции заключается в том, как сохранить значение внешнего ключа для типов промо-акций, где каждый тип промо-акции является отдельной сущностью и имеет свои собственные атрибуты.
Решения в моем уме:
Создайте отдельные таблицы для каждого типа продвижения, чтобы учесть связь между Акциями и соответствующей таблицей типов, например: Promotion_Coupon_Relation
Удалите ограничение внешнего ключа в таблице продвижения и создайте столбец, в котором будет храниться значение внешнего ключа каждый раз, когда продвижение создается на основе типа.Но в этом случае отношение не будет конкретным и будет определяться только на основе типа продвижения.
Промо-тип:
PromotypeID, PromoTypeDesc (например, купон, промо-код, подарки и многое другое в будущем)
Акция:
PromotionID, PromotypeID, PromotionTypeReferenceID, EffectiveDate, EndDate, Active
Купон:
CouponID, CouponName, CouponCOde, CouponTitle, isActive
PromoCode:
PromoCodeID, PromoCodeName, PromoCodeText, PromoCodeTitle, isActive
Подарок:
GiftID, GiftTitle, GiftDesc, isActive
, пожалуйста, сообщите.