假设我有一个包含100个字段的表,可以细分为多个子表,使用公钥外键我可以连接这些表。
table_a: field1, field2, field_3, field_3_sub_field1, field_3_sub_field2, ....field_100
现在要么保持原样,要么我可以创建anather表field3
:
field3: field_3_sub_field1, field_3_sub_field2,
并获得简化table_a
:
table_a: field1, field2, ....field_100, field_3_id
现在我的问题是这有什么优点和缺点?
答案 0 :(得分:2)
除了一些专业用途,您应该按照关系原则设计数据库模式,适当使用规范化和约束。
可能存在偏离这种情况可能带来好处的情况,但在不知道具体情况的情况下提供有意义的建议实际上是不可能的。关于该主题的一般性建议可能会产生误导。
答案 1 :(得分:1)
在一般情况下,我认为将您的表分成几个表没有任何好处。
但是,在某些情况下,例如,如果您知道field3
,那么您将拥有一些重复值(主表的多行相同field3
和field3_sub...
),那么将主表划分为多个表将允许您通过规范化数据来赢得空间(即在table_a
中,多个field_3_id
将相同并指向相同的数据。)
您应该更加具体地了解您在表格中存储的内容,以获得更准确的答案。
答案 2 :(得分:1)
就我个人而言,如果你知道你的桌子会增长分而治之
,我会说你想做的不利是不好的做法。