小编Sch*_*y23的帖子

如何处理带有可变列的表设计

我有一个表设计方案,并且作为非 DBA 类型,希望对哪个更可扩展提出意见。

假设您被要求记录一个都市区的房屋信息,从一个小社区(200 所房屋)开始,但最终增长到 5000000 多所房屋。

您需要存储基本信息:ID#(我们可以用作唯一索引的唯一批次 #)、地址、城市、州、邮编。很好,简单的表会处理它。

但是每一年,你都会被要求记录所有房子的额外信息——每年都有哪些信息会发生变化。因此,例如,第一年,您需要记录所有者的姓氏和面积。第二年,你被要求保留姓氏,但丢弃平方英尺,而是开始收集业主的名字。

最后 - 每年额外列的数量都会改变。可能从 2 个额外的列开始,然后到明年的 6 个,然后回到 2 个。

因此,一种表格方法是尝试将自定义信息添加为房屋表格中的列,因此只有一张表格。

但是我有一种情况,有人为此将表格布置为:

“房屋表”列:ID、地址、城市、州、邮编 - 每所房屋一行

ID   Addr              City     State  Zip 
-------------------------------------------
1    10 Maple Street   Boston      MA  11203

2    144 South Street  Chelmsford  MA  11304

3    1 Main Avenue     Lowell      MA  11280
Run Code Online (Sandbox Code Playgroud)

“自定义信息表”列:ID、名称、值 - 表格如下所示:

ID   Name             Value

1    Last Name        Smith

2    Last Name        Harrison

3    Last Name        Markey

1    Square Footage   1200

2    Square Footage   1930

3    Square Footage …
Run Code Online (Sandbox Code Playgroud)

normalization database-design architecture table

17
推荐指数
2
解决办法
3万
查看次数