个人对数据库三大范式的理解

第一范式

  概括:列不可分。举个例子,比如我们有一个用来存储地址的属性列,我们存放的具体值是XX省XX市XX镇,其实我们发现,这个值是不是可以考虑拆开存储,也就是XX省、XX市、XX镇分开存,否则就违反了第一范式。

第二范式

  概括:消除部分依赖。还是举个例子来说,我们有三个表,学生表、成绩表、科目表,我们取学生表的ID和科目表的ID作为成绩表的联合主键,我们可以说成绩表的分数列就是完全依赖于该表的联合主键的,但是,如果成绩表还存在一个学生姓名列,那么这个学生姓名就是部分依赖于该表的联合主键的,因为它只依赖于学生ID,这也违反了第二范式(如下图)。
解析数据库三大范式

第三范式

  概括:消除冗余字段。当然,还是举例说明,比如学生表和班级表,在学生表中,除了所属的班级ID之外,还存在属于班级表的列属性 班主任姓名,对于学生表而言,这个班主任姓名就是一个冗余字段,这违反了第三范式(如下图)。
解析数据库三大范式

相关文章:

  • 2021-10-15
  • 2021-08-29
  • 2021-12-03
猜你喜欢
  • 2021-12-02
  • 2021-10-30
  • 2021-10-11
  • 2021-12-12
  • 2021-12-03
  • 2022-01-06
相关资源
相似解决方案