我不知道是该把两张桌子合并还是分开。ff只是我的一个问题:
tblPhone(Phone_ID, Phone_Number, Phone_Type_ID, Person_ID)
tblPhone(Phone_Type_ID, Phone_Type_Name)
或
我应该简单地说:
tblPhone(Phone_ID, Phone_Number, Phone_Type_Name, Person_ID)
一个比另一个有优势吗?是否有创建表的标准指南或实践?例如,我记得有人告诉我,如果一张桌子不是3张或更多,就把它组合到另一张桌子上,就像这样……这是怎么回事?我记得一些规范化规则…但有时会很混乱。我认为这取决于第三个标准化规则,这就是为什么它们应该分开,我错了吗?谢谢!
最佳答案
你说得对,这说明了第三种正常形式。
您正在对Phone_Type_Name
中的tblPhone
进行规范化(我们假设您打算调用第二个tblPhoneType
)。这是正确的,也是一种普遍的做法。即使现在tblPhoneType
中只有两列,最终您可能需要将其展开,以包含与电话类型相关的其他属性,这是说明应该规范化它的最简单方法。
可能的未来场景(需要更多列):
通过现在将其规范化,您可以保护自己不受此影响:
tblPhone(Phone_Type_ID, Phone_Type_Name, Phone_Type_Min_Price, Phone_Type_Max_Price)