想象一下,您有几个代表活动的表格:
- 过程活动
- 医疗活动
- 维护活动
- 物流活动
你现在意识到一切都是活动,那么,你会怎么做?
- 您创建一个名为“活动”的主表,并为这些值添加一个类型字段:流程、医疗、维护、后勤或
- 您创建一个超级活动表,并为每个子类创建一个只有主键的表,因为知道两个子类都没有唯一字段
我可以想到一些参与决策的利弊:
第一种方法:
- 活动中的 CRUD 操作将意味着在两个不同的表中工作
- 简化 ER 图
- 失去完整性约束
第二种方法:
- 维持这种关系的两个索引将保存在两个不同的地方
- 语义
在这两种方法中是否有任何潜在的性能或其他后果?