我有一个表设计方案,并且作为非 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)