首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体继承是通过单个表还是通过多个表更好地完成?

实体继承是通过单个表还是通过多个表更好地完成?
EN

Stack Overflow用户
提问于 2010-07-29 20:25:30
回答 4查看 74关注 0票数 1

我有一个保存协议信息的表。它适用于我们记录的95%的协议。

但是有一种特定类型的协议需要另外6个左右的字段来捕获特定于该类型协议的信息。

我的问题是,在知道信息对许多协议记录没有意义的情况下,将这6个字段添加到现有协议表中是更好,还是创建另一个表1:1关系更好,在这些特殊类型的协议的情况下,使用原始协议表对其进行扩展。

这两种选择对我来说都不是那么有吸引力,但我想知道当你有选择的时候,其中一种被认为是比另一种更好的实践。

谢谢你的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-29 20:39:25

从可扩展性的角度来看,多个表可能是最好的选择。尽管您目前有一个需要额外字段的单一协议类型,但这种东西的存在本身表明,未来类似的变化值得在您的设计中容纳。当出现其他变体时,多表方法将允许您优雅地包括这些协议类型及其特征属性。

此外,在超类表中考虑agreement_type属性(或类似的属性)也是值得的,因为在这种情况下,您可能希望执行协议类型分析,而不会引起对子类表的连接。数据的预期用途将指导您判断这样的属性是否有意义。

票数 2
EN

Stack Overflow用户

发布于 2010-07-29 20:29:55

我的选择是一个单独的表,因为对于95%的协议来说,它是没有意义的信息。

票数 0
EN

Stack Overflow用户

发布于 2010-07-29 22:04:31

那得看情况。

一个表更容易查询,6个额外的字段并不会增加存储空间。如果现有表中的行数很少,或者现有列的数量已经很大,那么权衡一下,我会向现有表中添加额外的字段。

另一方面,如果此更改会极大地增加已经很大的现有表的大小,则绝对值得考虑建立一个新表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3362383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档