在以下两种数据库布局之间进行选择时,我真的可以使用一些见解。
Layout #1 | Layout #2
|
CUSTOMERS | CUSTOMERS
id int pk | id int pk
info char | info char
|
ORDERS | ORDERS
id int pk | id int pk
customerid int fk | customerid int fk
date timedate | date timedate
|
DETAILS | INVOICES
id int pk | id int pk
orderid int fk | orderid int fk
date timedate | date timedate
description char |
amount real | DETAILS
period int | id int pk
| invoiceid int fk
| date timedate
| description char
| amount real
这是针对小型企业、独资经营者的计费应用程序。第一个布局没有单独的发票表格,而是依赖于 DETAILS 中的字段“期间”作为开票周期编号。第二种布局引入了一个专门用于发票的表格。
具体来说,在这个应用程序中,您会在什么时候看到 Layout #1 被破坏,或者随着数据量的增加,什么样的事情会变得越来越难?在 Layout #2 的情况下,增加的灵活性/复杂性在实际中意味着什么?对 30-60-90 老化有何影响?我相信这在某些时候是必要的。
更一般地说,这似乎是您是否通过表中的字段或全新表中的字段跟踪/控制某些东西的一般情况,但这并不是真正的规范化问题,是吗?你一般是怎么选择的?