数据库设计改进中的任一/或关系

时间:2016-08-27 05:43:55

标签: sql-server database database-design sql-server-2012 relational-database

我在模型中遵循了/ Or关系。以下要求适用于模型

  • 计划是在一定时期内完成3个月,每年6个月等。
  • 计划可能有修改在期间的修改期限不会 改变了
  • 计划将在SKU级别或SKU Group级别
  • 每个SKU集团都有许多SKU
  • 计划将在SKU集团层面或SKU层面进行

在我的设计中,如果计划处于组级别,我在项目表中创建了SKUID nullable。如何改进设计

enter image description here

1 个答案:

答案 0 :(得分:0)

以下是我从描述中得到的结果:

  • PeriodTypeID也应包含在计划(或修订)中 - 这是为了明确计划将适用的时期。
  • PlanItems.SKUGroupID可以为NULL(用于SKU级别规划)。您甚至可以添加检查约束以确保填写(SKUGroupID,SKUID)中的一个。
  • SKU应具有引用SKUGroups.SKUGroupId
  • 的外键

希望有所帮助。