【发布时间】:2020-10-26 06:42:39
【问题描述】:
考虑一个有 50 列的表 dbo.order。将其 30 个字段分解为另一个表 bill_invoice 是否是一种好方法?详情如下:
表(订单)
id(pk);order_id;order_amont;...最多 20 个字段
表格 (bill_invoice)
id(pk); order_id(来自 dbo.order 表的 fk);字段_1; field_2 .... 直到 field_30
....及其详细信息表是:
表格(bill_detail_01)
id(pk); bill_invoice_id(来自 dbo.bill_invoice 的 fk); field_1, field2... 直到 field_10
表格(bill_detail_02)
id(pk); bill_invoice_id(来自 dbo.bill_invoice 的 fk); field_1, field2... 直到 field_10
表格(bill_detail_03)
id(pk); bill_invoice_id(来自 dbo.bill_invoice 的 fk); field_1, field2... 直到 field_10
。 . . .
如果我们有一个表 dbo.[order] 有 50 个字段,那么插入 50 个字段记录会很重吗?
那么我们应该将这个主要的 dbo.[order] 字段拆分到另一个表( bill_invoice )中吗?如上所述?
这是减少插入负载的好方法吗?还是我们应该更喜欢规范化以仅使用具有 50 个字段的 dbo.[order]?
【问题讨论】:
-
Ken Lee 已经回答了我,他明白了我为什么要问这样关于管理数据的问题,我对他的回答很满意“如果您将数据拆分到不同的表中,然后说是否要删除一条记录,你需要删除所有“拆分”表中的所有“链接”记录。工作量会更重。”
标签: sql database datatable database-normalization