sql – 为什么这个表没有规范化?

我正在学习数据库课程,我正在学习表格规范化.

《sql – 为什么这个表没有规范化?》

任何人都可以向我解释,为什么右边第一行的第二张表没有规范化?

最佳答案 它没有正常化,因为

对于已签署多门课程的学生,表格中的条目为:

23杰克史密斯CS101 B.

23杰克史密斯B102 C.

显然,数据正在重复(冗余数据).它导致异常(插入,更新,删除异常).

例如:当您必须更改学生的名称时说Jake Smith,您必须修改所有行,这称为更新异常.

规范化用于避免这种异常和冗余数据存储.
第二行右侧的表以更好的方式处理这种情况,因为它将id,name和DOB存储在单独的表中,可以使用单行上的id属性轻松地进行编辑.
有几种常规形式,如1NF,2NF,3NF等.每种常规形式都有一些与之相关的约束.每个高级形式都比前一个更严格.

点赞