Я сейчас работаю над базой данных со следующими требованиями: Существуют учетные записи разных типов.У них могут быть разные планы оплаты в зависимости от типа.Все это похоже на иерархию с 2 уровнями.Например, если бы типами счетов были A и B, то планами платежей могли бы быть A1, A2, B1 и B2, где Ax действителен только для типа счета A и т. Д.
Пока что яПолучены следующие настройки: Таблица account_types с id и name .Таблица payment_plans с account_type_id и id , оба они являются частью PK.И таблица счетов с type_id и plan_id .Я думаю, это очевидно, что ссылки, что.
Моя проблема заключается в следующем: accounts.type_id является FK и accounts.type_id + accounts.plan_id это композитный ФК.Я не знаю, является ли это оптимальным решением. type_id является своего рода избыточным, поскольку он неявно определен plan_id , но только из-за ограничений, существующих в таблице payment_plans .Так что было бы лучше здесь?Я мог бы полностью избавиться от type_id , но тогда потребовалось бы еще одно объединение с таблицей payment_plans , чтобы определить тип учетной записи.
Спасибо за ваш вклад вавансовый.Предложения с совершенно другой структурой также приветствуются.; -)