1NF存在4个问题:冗余度大、引起修改操作的不一致性、插入异常和删除异常。请举例具体说明
-
冗余度大:假设有一个学生表,其中包含学生编号、姓名、性别、年龄、班级和班级名称等字段。班级名称字段是多余的,因为班级名称可以通过班级编号查询得到。这样就会造成冗余度过大,占用存储空间过多。
-
引起修改操作的不一致性:假设有一个订单表,其中包含订单编号、客户姓名、客户地址、订单日期和订单金额等字段。如果一个客户的地址发生了变化,那么就需要修改所有与该客户相关的订单记录的地址信息,如果不一致,就会造成不一致性。
-
插入异常:假设有一个图书表,其中包含图书编号、图书名称、作者、出版社、ISBN号和价格等字段。如果某本图书还没有被借阅,那么就无法将该图书信息插入到图书表中,因为借阅记录表中没有该图书的信息。这就是插入异常。
-
删除异常:假设有一个学生选课表,其中包含学生编号、课程编号、成绩和学期等字段。如果删除某个学生的信息,那么该学生所选的课程信息也会被删除,这就是删除异常。如果该学生已经选修了多门课程,那么就会造成多个课程信息的删除,导致数据丢失。
原文地址: https://www.cveoy.top/t/topic/gSyZ 著作权归作者所有。请勿转载和采集!