确保将您的视图标准化为至少1NF是非常有意义的。例如,允许重复具有以下缺点:视图的含义不明确,并且用户可能会误识别信息。如果基于此类歧义更新表,则可能会出现不正确的数据。
EFCodd不一定同意。在他的RM第2版书中,他提议允许视图不带键- 我认为这是一个大错误。Codd的视图实际上不允许重复,但它们允许每一列都可以为空,因此没有键且不在1NF中。
包含逗号分隔列表的字符串值本身并不违反1NF。字符串值与其他任何值一样都是标量,无论它包含什么。大多数sql DBMS不允许多值属性。
SQL VIEW应该始终在1NF中吗?
确保将您的视图标准化为至少1NF是非常有意义的。例如,允许重复具有以下缺点:视图的含义不明确,并且用户可能会误识别信息。如果基于此类歧义更新表,则可能会出现不正确的数据。
EFCodd不一定同意。在他的RM第2版书中,他提议允许视图不带键- 我认为这是一个大错误。Codd的视图实际上不允许重复,但它们允许每一列都可以为空,因此没有键且不在1NF中。
包含逗号分隔列表的字符串值本身并不违反1NF。字符串值与其他任何值一样都是标量,无论它包含什么。大多数sql DBMS不允许多值属性。