我正在使用sql-server-2008-R2
. 我有一个表,其中包含三种类型的数据,并且这些类型在另一个表中。
T = 表,F = 字段,FK = 外键,PK = 主键
T1: F1(PK), F2(TypeID), F3, F4, F5, F6, F7
T2: F1(TypeID, PK), F2(TypeName)
我想添加第四种类型,但这种类型有一个附加属性(例如 TypeRate)。
在项目开始的第一周,我的 T1 表将至少有 300 万条记录,然后它会减慢到每月大约 300 万条记录。
现在我想知道下面列出的方法中哪种方法最好:
A. 向主表 (T1) 添加一个字段:
T1: F1(PK), F2(TypeID), F3, F4, F5, F6, F7, F8(TypeRate)
F8 大多数时候为空(对于其他类型的记录),但我只有一张表
B. 添加另一个表,其中包含 T1 具有的所有字段 (T3):
T3: F1(PK), F2(TypeID), F3, F4, F5, F6, F7, F8
这样 T1 大部分时间都没有空值,但我将有两个大部分相似的表。
C. 添加描述表(T4):
T4: F1(PK), F2(FK:T1.PK), F3(TypeRate)
这样我的 T1 表就没有空值,并且对于第四种类型的记录,附加数据在 T4 中(描述表)