数据库的设计与范化.ppt

上传人:枫** 文档编号:569931848 上传时间:2024-07-31 格式:PPT 页数:36 大小:1.89MB
返回 下载 相关 举报
数据库的设计与范化.ppt_第1页
第1页 / 共36页
数据库的设计与范化.ppt_第2页
第2页 / 共36页
数据库的设计与范化.ppt_第3页
第3页 / 共36页
数据库的设计与范化.ppt_第4页
第4页 / 共36页
数据库的设计与范化.ppt_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数据库的设计与范化.ppt》由会员分享,可在线阅读,更多相关《数据库的设计与范化.ppt(36页珍藏版)》请在金锄头文库上搜索。

1、计算机基础科学系计算机基础科学系 2009.10 第第6章章数数 据据 库库计算机基础科学系第十三讲第十三讲 数据库的设计与范化数据库的设计与范化计算机基础科学系本讲主要内容本讲主要内容1数据库的设计过程2结构化查询语言3数据库的范化过程小 结4计算机基础科学系学习目标学习目标12了解数据库设计的目标,认识关系数据数的设计过程,能设计简单的关系数据库。掌握关系数据库有哪些规范,如何满足这些规范;了解结构化查询语言。计算机基础科学系重点与难点重点与难点 关系数据数的设计过程,关系数据库有哪些规范,如何满足这些规范为本讲的重点; E-R模型的建立,E-R图中的实体与实体之间的连系的描述,数据库范化

2、的过程为本讲的难点。计算机基础科学系数据库设计 数据库设计是指对于一个给定的应用,构造最优的数据库模式,建立数据库,使之能够有效地存储数据,满足各种用户的应用需求。数据库设计的目标 是能够正确反映应用的实际情况。如应用中需要哪些数据,数据处理流程等。一、什么是数据库设计、数据库的设计目标一、什么是数据库设计、数据库的设计目标1.数据库的设计数据库的设计计算机基础科学系二、关系数据库的设计过程二、关系数据库的设计过程 数据库的设计都要经历需求分析、概念设计、实现设计和物理设计四个阶段。2.数据库的设计过程数据库的设计过程计算机基础科学系 主要任务是从数据库的所有用户那里收集对数据的需求和对数据处

3、理的要求,并把这些需求写成用户和设计人员都能理解,并能接受的说明书。 注意:需求分析是整个设计过程的基础,是最困难、最耗费时的一步。2.1 需求分析需求分析计算机基础科学系 例如,要为某学校的学生成绩管理系统设计数据库。数据库工程师通过对学校学生成绩管理进行调查,确定学生学籍管理系统中的实体有学生、班级、课程、专业与系。2.1 需求分析需求分析计算机基础科学系 在该系统中对这些实体要求的属性分别是: 学生:学号,姓名,性别,出生日期,联系方式。 班级:班级编号,班级名称。 课程:课程编号,课程名称,周学时,课程性质(考试/考查),类型(公共基础/专业基础/专业课/公共选修/专业选修)。 专业:

4、专业编号,专业名称。 系:系编号,系名称,系办地址。 注意: 这些数据是设计学生成绩管理数据库设计的重要依据。2.1 需求分析需求分析计算机基础科学系 概念设计是整个数据库设计的关键。它的目的是将需求说明书中关于数据的需求,综合为一个统一的DBMS概念模型。首先根据单个应用的需求,画出能反映每一应用需求的局部E-R(Entity-Relationship,实体-关系)模型。然后将这些E-R模型图合并起来,消除冗余和可能存在的矛盾,得出系统总体的E-R模型。 E-R图在1976年首次被人提出,它提供不受任何DBMS约束的面向用户的表达方法,在数据库设计中被广泛用作数据建模的工具。E-R数据模型问

5、世后,经历了许多修改和扩充。2.2 概念设计概念设计计算机基础科学系 E-R模型的构成成分是实体集、属性集和关系集,其表示方法如下: 实体用矩形框表示,矩形框内写上实体名。 实体的属性用椭圆形表示,框内写上属性名,并用无向边与其实体相连。 实体间的联系用菱形框表示,且适当的含义为联系命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1:1、1:M或N:M。2.2 概念设计概念设计计算机基础科学系举例:为学生学籍管理数据库建立举例:为学生学籍管理数据库建立E-R图图2.2 概念设计概念设计计算机基础科学系实体间的联系实体间的联系2.2 概念设计

6、概念设计计算机基础科学系举例:为学生学籍管理数据库建立举例:为学生学籍管理数据库建立E-R图图2.2 概念设计概念设计计算机基础科学系 实现设计的目的是将E-R模型转换为某一特定的DBMS能够接受的逻辑模式,也就是说把E-R图中的实体与实体之间的连系用关系来描述。对关系数据库,主要是完成结构的设计与表的关联设计。2.3 实现设计实现设计计算机基础科学系 由图6.4.3可知,每个实体对应的关系分别如下,其中带下划线的属性为主键。 实体名:学生; 对应的关系:学生(学号,姓名,性别,出生日期,联系方式); 实体名:课程; 对应的关系:课程(课程编号,课程名称,周学时,课程性质,类型);2.3 实现

7、设计实现设计计算机基础科学系 把实体转换成关系后,还须把关联也转换成关系。转换而成的把实体转换成关系后,还须把关联也转换成关系。转换而成的关系的属性包括关联的两个关系的主键以及关联自身的属性。关系的属性包括关联的两个关系的主键以及关联自身的属性。“ 学习学习”关联的两个表的主键为关联的两个表的主键为“学号学号”与与“课程编号课程编号”,“学习学习”的属性为的属性为“成绩成绩”,由此可得关联的关系如下,其中,带下划线的属性为外键:,由此可得关联的关系如下,其中,带下划线的属性为外键: 实体:学生课程成绩实体:学生课程成绩 对应的关系:学生课程成绩(学号,课程编号,成绩)对应的关系:学生课程成绩(

8、学号,课程编号,成绩) 这样就完成了数据的简单逻辑设计。这样就完成了数据的简单逻辑设计。2.3 实现设计实现设计计算机基础科学系 物理设计的目的在于确定数据库的存储结构。其主要任务包括:确定物理设计的目的在于确定数据库的存储结构。其主要任务包括:确定数据库文件和索引,文件的记录格式和物理结构,选择存取方法,决定访数据库文件和索引,文件的记录格式和物理结构,选择存取方法,决定访问路径和外存储器的分配策略等。不过这些工作大部分可由问路径和外存储器的分配策略等。不过这些工作大部分可由DBMS来完成,来完成,仅有一小部分工作由设计人员完成。仅有一小部分工作由设计人员完成。2.4 物理设计物理设计计算机

9、基础科学系 范化的目的:范化的目的:为了建立冗余较小、结构合理的数据为了建立冗余较小、结构合理的数据库,将关系数据库中关系应满足的规范划分为若干等级,库,将关系数据库中关系应满足的规范划分为若干等级,每一等级称为一个每一等级称为一个“范式范式”(Normal Forms,NF)。)。四、关系数据库的范化四、关系数据库的范化3.数据库的范化数据库的范化计算机基础科学系 范式的概念最早是由E.F.Codd提出的,他从1971年开始相继提出了(1、2、3)三级规范化形式。1974年,E.F.Codd和Boyce共同提出了一个新的范式概念,即Boyce-Codd范式,简称BC范式。1976年Fagin

10、提出了第四范式(4NF),后来又有人定义了第五范式(5NF)。至此,在关系数据库规范中建立了一个范式系列:1NF、2NF、3NF、BCNF、4NF和5NF。这6种范式一级比一级要求更严格。一般数据库的设计至少要符合第三范式。三、关系数据库的范化三、关系数据库的范化3.数据库的范化数据库的范化计算机基础科学系第一范式第一范式 在关系数据库范式设计中,第一范式是对关系模型的基本要求,不满足第一范式的数据库就不是关系数据库。 所谓第一范式是指数据库表的每一列都是不可再分割的基本数据项,同一列不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实

11、体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式中表的每一行只包含一个实例的信息。3.数据库的范化数据库的范化计算机基础科学系3.数据库的范化数据库的范化计算机基础科学系3.数据库的范化数据库的范化计算机基础科学系3.数据库的范化数据库的范化计算机基础科学系第二范式 第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式。第二范式要求数据库表中的每个实体或行必须可以被唯一地区分。为实现区分,通常需要为表加上一个列,以存储各个实例的唯一标识。 第二范式也要求实体的属性完全依赖于主关键字。所谓“完全依赖”是指不能存在仅依赖主关键字一部分的属性,如果存在,那

12、么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。3.数据库的范化数据库的范化计算机基础科学系是否满足第二范式?如何处理?是否满足第二范式?如何处理?3.数据库的范化数据库的范化计算机基础科学系2.数据库的范化数据库的范化计算机基础科学系是否满足第二范式?如何处理?是否满足第二范式?如何处理?2.数据库的范化数据库的范化计算机基础科学系2.数据库的范化数据库的范化计算机基础科学系第三范式 满足第三范式必须先满足第二范式。也就是说,第三范式要求一个数据库表中不包含已在其他表中包含的非主关键字信息。 例如,存在一个业务员信息表,有业务员编号、业务员姓名、

13、家庭住址、电话等信息。那么另一表中的客户信息中列出业务员编号后就不能再将业务员姓名、家庭住址、电话等与业务员有关的信息加入客户信息中。如果不存在业务员信息,则根据第三范式也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其他非主属性。3.数据库的范化数据库的范化计算机基础科学系 结构化查询语言(结构化查询语言(Structured Query Language,SQL)最早是由)最早是由IBM的圣的圣约瑟研究实验室为其关系数据库管理系统约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言。由于开发的一种查询语言。由于SQL语言结构简洁,功能强大,简单易学

14、,因此,自从语言结构简洁,功能强大,简单易学,因此,自从IBM公司公司1981年推出以来,年推出以来,SQL语言得到了广泛的应用。语言得到了广泛的应用。四、结构化查询语言四、结构化查询语言 SQL语言由数据定言由数据定义语言、数据操言、数据操纵语言、数据言、数据查询语言(言(Select语句)与数据控制句)与数据控制语言言4部分部分组成。本成。本节介介绍前三种前三种语言。言。4.结构化查询语言结构化查询语言计算机基础科学系 数据定义语言(数据定义语言(DDL)用来定义数据的结构,如创建、修改或者删除数据)用来定义数据的结构,如创建、修改或者删除数据库对象,常用的数据定义语言有库对象,常用的数据

15、定义语言有create、drop与与alter等。等。五、五、结构化查询语言结构化查询语言 数据操纵语言实现对数据库中表记录的插入、更新与删除操作。这里介绍数据操纵语言实现对数据库中表记录的插入、更新与删除操作。这里介绍insert、update与与delete命令的作用与使用方法。命令的作用与使用方法。 数据查询语言数据库中数据的查询通过数据库中数据的查询通过select语句来实现。事实上,二维语句来实现。事实上,二维表的选择、投影与连接等操作都可通过查询语句来实现。表的选择、投影与连接等操作都可通过查询语句来实现。select语句的格式很语句的格式很复杂,功能很强大。复杂,功能很强大。4.

16、结构化查询语言结构化查询语言计算机基础科学系小小 结结v一般来说,数据库的设计都要经历需求分析、概念设计、实现设计和物理设计4个阶段。需求分析的目的是分析系统的需求。概念设计是整个数据库设计的关键。它的目的是将需求说明书中关于数据的需求,综合为一个统一的DBMS概念模型。实现设计的目的是将E-R模型转换为某一特定的DBMS能够接受的逻辑模式,也就是说,把E-R图中的实体与实体之间的联系用关系来描述。对关系数据库,主要是完成表的关联和结构的设计。物理设计的目的在于确定数据库的存储结构。计算机基础科学系v在逻辑设计阶段,常常使用关系规范化理论来指导关系数据库设计。其基本思想为:每个关系都应该满足一定的规范,从而使关系模式设计合理,达到减少冗余,提高查询效率的目的。规范被划分为若干等级,每一级称为一个“范式”。在关系数据库规范中已建立了一个范式系列:1NF、2NF、3NF、BCNF、4NF和5NF,这6种范式一级比一级有更严格的要求。一般数据库的设计至少要符合第三范式。v结构化查询语言是为关系数据库管理系统开发的一种查询语言,由数据定义语言、数据操纵语言、数据查询语言与数据控制语言4部分组成。现代的数据库管理系统都支持该语言。Department of Computer Science and Technology Thank you!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号