数据库三范式具体是?

发布网友

我来回答

2个回答

懂视网

3.2 第二范式

表2 不符合第二范式的例子:

 

学号 姓名 年龄 课程名称 成绩 学分

因为学生有多门课程,所以把学号和课程名称作为表的联合主键。该表姓名、年龄仅依赖主关键字一部分的属性学号,成绩、学分仅依赖主关键字一部分的属性课程名称,不符合第二范式。

这个表明显说明了两个事务:学生信息, 课程信息;

存在问题:

  • 数据冗余,每条记录都含有相同信息;
  • 删除异常:删除所有学生成绩,就把课程信息全删除了;
  • 插入异常:学生未选课,无法记录进数据库;
  • 更新异常:调整课程学分,所有行都调整。
  • 修正:

    表2.1 学生

    学号 姓名 年龄

    表2.2 课程

    课程名称 学分

    表2.3 选课关系

    学号 课程名称 成绩

     

    满足第2范式只消除了插入异常。

    3.3 第三范式

    表3 不符合第三范式的例子:

    学号 姓名 年龄 所在学院 学院联系电话

    关键字为单一关键字"学号";

    存在依赖传递: (学号) → (所在学院) → (学院地点, 学院电话)

    存在问题:

  • 数据冗余:有重复值;
  • 更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况
  • 删除异常:该界学生毕业了,会把学院信息也删了
  • 修正:

    表3.1 学生

    学号 姓名 年龄 所在学院

    表3.2 学院

    所在学院 学院联系电话

    数据库三范式

    标签:

    热心网友

    数据库三范式如下:
    第一范式(1NF):强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。

    第二范式(2NF):要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性。(在1NF基础上消除非主属性对主键的部分函数依赖)

    第三范式(3NF):任何非主属性不依赖于其它非主属性。(在2NF基础上消除传递依赖)

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com