在考虑1NF故障时,没有重复的元素组,如果您想对重复组的数量设置限制,该怎么办?

例如,您希望学生只列出3个电话号码.不再.如果有一个表如下被认为是1NF失败?

Student 1    Phone1    Phone2    Phone3
Sally        111-1111 222-2222   333-3333
John         555-5555 999-9999   NULL

你会创造一个限制.这是否可接受,高效的数据库设计?

将电话号码放在一个单独的表中会不会更好,因为1NF故障要求?如果它位于单独的表中,您将如何为每个用户创建3个数字的限制?

最佳答案
不,它没有正常化.当存在空值时,您将在表中浪费空间,如果要执行搜索特定电话号码等操作,则必须搜索所有三列.而是使用一个单独的表(例如,StudentPhoneNumbers)来存储它们.如果要将其限制为三,请使用触发器以防止每个学生超过三个.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。