在考虑1NF故障时,没有重复的元素组,如果您希望对重复的组数设置一个限制,该怎么办?
例如,您希望一个学生仅列出3个电话号码。不再。将具有以下表格的表格视为1NF故障吗?
Student 1 Phone1 Phone2 Phone3
Sally 111-1111 222-2222 333-3333
John 555-5555 999-9999 NULL
您将创建一个限制。这是可接受的,有效的数据库设计吗?
最好将电话号码放在一个单独的表格中,以应对1NF故障。如果它在单独的表中,您将如何为每个用户创建3个数字的限制?
最佳答案
不,它没有被标准化。当存在空值时,您将浪费表中的空间,并且如果您想执行诸如搜索特定电话号码之类的操作,则必须搜索所有三列。而是使用一个单独的表(例如,StudentPhoneNumbers)来存储它们。如果要将其限制为三个,请使用触发器以防止每个学生超过三个。