首页 > 编程知识 正文

数据库范式讲解视频教程(数据库第二范式举例)

时间:2023-05-06 17:57:36 阅读:67807 作者:750

第一范式(1NF )不重叠列所谓的第一范式(1NF )为指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。 如果出现重复属性,则必须定义由重复属性组成的新实体。 新实体和原始实体之间存在一对多的关系。 在第一范式(1NF )中,表格的每一行只包含一个实例的信息。 简而言之,第一范式是一个没有重复的列。

1NF的定义为:符合1NF的关系中的每个属性都不可再分

下表所示情况不符合1NF的要求。

说明:在所有关系数据库中,第一范式(1NF )是关系模型的基本要求,不满足第一范式(1NF )的数据库不是关系数据库。 第二范式(2NF )属性完全依赖于主键的第二范式(2NF )基于第一范式(1NF )构建,即满足第二范式(2NF )必须首先满足第一范式(1NF )。 第二范式(2NF )必须能够唯一区分数据库表中的每个实例或行。 为了实现区分,通常需要向表中添加列,以存储每个实例的唯一标识符。 例如,员工编号(emp_id )列已添加到“员工信息”表中。 每个员工的员工编号是唯一的,因此可以唯一区分每个员工。 此唯一的属性列称为主键或主键,主代码。

第二范式(2NF )要求实体的属性完全依赖于主关键词。 完全依赖是指不能存在只依赖于主键一部分的属性,如果存在,则该属性与主键的这一部分应该分离形成新的实体,新实体与原实体之间存在一对多的关系。 为了实现区分,通常需要向表中添加列,以存储每个实例的唯一标识符。简而言之,第二范式就是属性完全依赖于主键。

第三范式(3NF )必须先满足第二范式(2NF )才能满足第三范式(3NF )。 简单来说,有一个部门信息表,其中包含第三范式(3NF)要求一个数据库表中不包含已在其它表中已包含的非主关键字信息例如,部门编号(dept_id )、部门名称和部门摘要等信息。 在中的“员工信息”表中列出部门编号后,无法将部门信息(如部门名称、部门摘要等)添加到“员工信息”表中。 如果不存在部门信息表,也应该基于第三范式(3NF )构建。 否则,大量数据将被冗馀化。简而言之,第三范式就是属性不依赖于其它非主属性。也就是说, 如果存在非主属性对于码的传递函数依赖,则不符合3NF的要求。

实例讲解:第一范式如果一个关系模式R的所有属性都是不可分的基本数据项,则R1NF(即R符合第一范式)。

2点33分

一、每个字段只能存储一个值

课程有两个值,不符合最初的范式。 可以修改为

二、各项记录应能利用一个唯一主键识别

这里出现了重复组,同样不满足第一范式。 唯一的识别码不足,可以改为

第二范式若关系模式R1NF(即R符合第一范式),并且每一个非主属性都完全依赖于R的码,则R2NF(即R符合第二范式)。

在这里,表的号码是(学校号码、课程),可以知道这两个可以确定系名、宿舍、分数,或者这三个依赖于前两个

分数依赖(学号、课程)系名部分依赖)学号、课程),即知道学号或课程就可以确定系名。 宿舍部分依赖)学号、课程),即知道学号或课程即可确定宿舍。 由于是非主属性类名称,宿舍完全不依赖代码,不符合第二范式,取而代之的是

表1

http://www.Sina.com/http://www.Sina.com /

上表2不符合第三范式。 这是因为你知道系名,同样也知道宿舍。 据说宿舍传达依赖于代码(学号),可以分解

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。