,我正在使用包含联系人表格的第三方数据库
即
ID int,
Name varchar(50)
Name_Lower varchar(50)
您可能会想到名称和名称下方列包含
等数据Name - "John"
Name_Lower - "john"
看到包含的数据应该完全相同,除了较低的功能,我认为这打破了正常的形式。可能值得一提的是,这不是一个计算列。过去曾出现两者不同步的情况。
答案 0 :(得分:1)
当然它打破了NF,因为一列是另一列的直接衍生物。
你不需要这样做,BTW。您可以按原样使表没有Lower列,然后创建一个包含计算到的小写列的VIEW。
每当您需要小写表单时,查询VIEW;但是你只更新了TABLE,你永远不会遇到同步问题。