是否有一个较低的列打破正常形式?

时间:2014-11-14 10:49:16

标签: sql database

,我正在使用包含联系人表格的第三方数据库

ID int,
Name varchar(50)
Name_Lower varchar(50)

您可能会想到名称和名称下方列包含

等数据
Name - "John"
Name_Lower - "john"
看到包含的数据应该完全相同,除了较低的功能,我认为这打破了正常的形式。可能值得一提的是,这不是一个计算列。过去曾出现两者不同步的情况。

1 个答案:

答案 0 :(得分:1)

当然它打破了NF,因为一列是另一列的直接衍生物。

你不需要这样做,BTW。您可以按原样使表没有Lower列,然后创建一个包含计算到的小写列的VIEW。

每当您需要小写表单时,查询VIEW;但是你只更新了TABLE,你永远不会遇到同步问题。