SQL第15章数据库规划与设计.ppt_第1页
SQL第15章数据库规划与设计.ppt_第2页
SQL第15章数据库规划与设计.ppt_第3页
SQL第15章数据库规划与设计.ppt_第4页
SQL第15章数据库规划与设计.ppt_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,Sql server 2005 程序设计与管理基础,Sql server 2005 程序设计与管理基础,第15章 数据库规划与设计,2,第15章 数据库规划与设计,15.1 关系数据库 15.2 数据库设计 15.3 关系数据库规范化理论 15.4 简易网上书城数据库设计案例,3,15.1 关系数据库,15.1.1 关系模型 15.1.2 关系数据库的数据结构 15.1.3 关系操作,4,15.1.1 关系模型,关系型数据库是基于关系模型的数据库,使用的存储结构是多个二维表格 。 关系模型的优点: 结构简单,格式唯一,理论基础严格,数据表之间相对独立,它们可以在不影响其他数据表的情况下进行

2、数据的增加、修改和删除。 在进行查询时,可以根据数据表之间的关联性,从多个数据表中查询、抽取相关的信息,5,15.1 关系数据库,15.1.1 关系模型 15.1.2 关系数据库的数据结构 15.1.3 关系操作,6,15.1.2 关系数据库的数据结构,1、信息的三个领域 作为客观世界的一切真知的信息从客观事物出发,经过筛选流经数据库,通过控制决策机构又回到客观事物。信息的这一循环经历了三个领域: 1)现实世界(Real World) 2)概念世界(Conception World) 3)数据世界(Data World),7,15.1.2 关系数据库的数据结构,2、关系的数据结构-二维表,8,

3、15.1.2 关系数据库的数据结构,3、关系的性质 属性值具有原子性,不可分解; 没有重复的元组; 理论上没有行序,但是在实践中有时可以有行序。,9,15.1.2 关系数据库的数据结构,4、常用术语 实体(Entity) 实体集(Entiry Set) 属性(Attribute) 域(Domain) 键(Key) 候选键(Candidate Key) 主键(Primary Key),10,15.1.2 关系数据库的数据结构,事物类 事物 性质,实体集合 实体 属性,文件 记录 数据项,现实世界,信息/概念世界,数据世界,三个世界术语对照,11,15.1 关系数据库,15.1.1 关系模型 15

4、.1.2 关系数据库的数据结构 15.1.3 关系操作,12,15.1.3 关系操作,常用的关系操作: 选择(select) 投影(Project) 连接(Join) 并(Union) 交(Intersection) 差(Difference) 增加(Insert) 修改(Update) 删除(Delete),13,第15章 数据库规划与设计,15.1 关系数据库 15.2 数据库设计 15.3 关系数据库规范化理论 15.4 简易网上书城数据库设计案例,14,15.2 数据库设计,15.2.1 实体-关系模型 15.2.2 E-R图的建立步骤 15.2.3 将E-R图转换为关系模式,15,1

5、5.2.1 实体-关系模型,1、概念 1)实体(Entity) 实体是E-R模型的基本对象,是现实世界中各种事物的抽象。凡是可以相互区别,并可以被识别的事、物、概念等均可认为是实体。 2)属性(Attribute) 属性是实体所具有的某一特性,一个实体可以用若干戈属性来描述。 3)联系(Relationship) 实体之间会存在各种关系,实体与实体之间的关系被抽象为联系。,16,15.2.1 实体-关系模型,2、两个实体集之间的联系可分为三类。1)一对一联系(One-to-one),17,15.2.1 实体-关系模型,2)一对多联系(One-to-many),18,15.2.1 实体-关系模型

6、,3)多对多联系(Many-to-many),19,15.2 数据库设计,15.2.1 实体-关系模型 15.2.2 E-R图的建立步骤 15.2.3 将E-R图转换为关系模式,20,15.2.2 E-R图的建立步骤,1、图形表示 (1)用矩形框表示实体类型; (2)菱形框表示实体间联系的类型; (3)椭圆型框表示实体类型和联系类型的属性; (4)用直线把联系与产生它的实体连接在一起,线上端标的符号表示联系的类型 。,21,15.2.2 E-R图的建立步骤,2、建立E-R图可以采用如下五个基本步骤: (1)确定实体类型; (2)确定联系类型; (3)把实体类型和联系类型组合成E-R图; (4)

7、确定实体类型和联系类型的属性; (5) 确定实体类型的键,并在属于键的属性名下划一横线。,22,15.2 数据库设计,15.2.1 实体-关系模型 15.2.2 E-R图的建立步骤 15.2.3 将E-R图转换为关系模式,23,15.2.3 E-R图向关系模型的转换,关系模型的特点,就是把实体和联系都表示为关系。 (1)把每一实体转换为一个关系 (2)把每一个联系也转换为关系 一对一联系的转换 一对多联系的转换 多对多联系的转换,24,不同情况处理示例,一对一联系的处理,厂长(姓名,性别,年龄) 工厂(代号,厂名,性质) 管理(姓名,代号),厂长(姓名,性别,年龄) 工厂(代号,厂名,性质,厂

8、长),25,不同情况处理示例,一对多联系的处理,司机(工号,姓名,性别,年龄,技术等级) 汽车(车号,车种,载客数,载吨数) 驾驶(司机,车号,值勤日),26,多对多联系的处理,不同情况处理示例,学生(学号,姓名,年龄,性别,籍贯) 课程(课程号,课程名,学时数) 学习(学号,课程号,分数),教员(姓名,年龄,职称) 任课表(课程号,任课教员),27,第15章 数据库规划与设计,15.1 关系数据库 15.2 数据库设计 15.3 关系数据库规范化理论 15.4 简易网上书城数据库设计案例,28,15.3 关系数据库规范化理论,15.3.1 范式理论 15.3.2 关系数据库规范化的非形式化判

9、别法 15.3.3 关系数据库的非规范化设计,29,15.3.1 范式理论,一、 概念 1、关键字:在关系各属性中能够唯一标识一个元组(记录)的属性(字段)。 在关系数据库中关键字的属性值不允许为空值,因为空值无法标识一个元组,意味者该元组不存在。 在某些关系中需要用几个属性组合才能唯一标识元组。 例:银行储蓄所活期存款业务关系 存折(日期,时间,帐号,存取款,余额),30,15.3.1 范式理论,2、与关键字有关的术语 候选关键字:指凡是在关系中可以用来唯一标记元组的属性。 主关键字:在候选关键字中指定其一或几个作为关键字。该候选关键字称为主关键字。 主属性:候选关键字的属性 非主属性:没有

10、包含在候选关键字中的属性。 外部关键字:一个关系中的某个属性并非是关键字,但确是另一个关系的关键字,则称该属性为外部关键字或外键。关系之间的联系是通过外键实现的。,31,15.3.1 范式理论,二、范式理论,为了使关系模式更加规范化,提出了范式理论。关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式,满足最低要求的称第一范式,在第一范式中满足进一步要求的称第二范式,其余以此类推,32,1 、第一范式 定义:如果一个关系R的所有属性都是不可分的数据项,则称该关系满足第一范式,即R 1NF 举例 R(学号,姓名,地址),15.3.1 范式理论,33,2 、第二范式 定义:若关系模式

11、R是第一范式,且每一个非主属性都完全函数依赖于关键字,则R属于第二范式 举例: R(学号,课程,成绩,系名,住处),15.3.1 范式理论,34,一个关系模式如果是1NF不属于2NF,会产生以下问题: (1)数据冗余大 (2)插入异常 (3)删除异常 (4)修改复杂,更新异常 解决方法:进行分解,使得非主属性都完全依赖于主关键字,即消除部分依赖。,15.3.1 范式理论,35,示例,36,3、第三范式 定义:若关系模式R是第二范式,且它每一个非主属性都不传递函数依赖于关键字,则R属于第三范式。 例: R2(学号,系名,住处),15.3.1 范式理论,37,一个关系模式如果是2NF不属于3NF,

12、会产生以下问题: (1)数据冗余 (2)修改复杂 解决办法:继续分解,消除传递依赖。,15.3.1 范式理论,38,示例,39,三、分解关系的基本原则 分解必须是无损的,即分解后不可以丢失信息。 分解后的关系要独立,避免对一个关系的修改波及到另一个关系。 例: R2(工号,工种,定额),15.3.1 范式理论,R21(工号,定额)和R22(工种,定额) R21(工号,工种)和R22(工号,定额) R21(工号,工种)和R22(工种,定额),40,15.3.1 范式理论,若表R2如下:,第一种分法:,41,15.3.1 范式理论,若表R2如下:,第二种分法:,42,15.3.1 范式理论,若表R

13、2如下:,第三种分法:,43,练习,1、R(日期,工号,姓名,工种,定额,完成工作量,车间,车间主任) 2、W(学号,课程,成绩,系名,住处) 3、S(项目编号,项目名称,客户名称,负责人,负责人部门,开始日期,结束日期) 4、S1(学号,姓名,班级,班主任) 5、 S(学号,课程号,姓名,班级,班主任,成绩),44,15.3 关系数据库规范化理论,15.3.1 范式理论 15.3.2 关系数据库规范化的非形式化判别法 15.3.3 关系数据库的非规范化设计,45,15.3.2 关系数据库规范化的非形式化判别法,一事一地”(one fact one place)原则:即一件事放一张表,不同事放

14、在不同表中 。,46,15.3 关系数据库规范化理论,15.3.1 范式理论 15.3.2 关系数据库规范化的非形式化判别法 15.3.3 关系数据库的非规范化设计,47,15.3.3 关系数据库的非规范化设计,在下列情况下能考虑进行非规范化处理: (1) 大量频繁的查询过程所涉及的表都需要进行连接; (2) 主要的应用程式在执行时要将表连接起来进行查询; (3) 对数据的计算需要临时表或进行复杂的查询。,48,15.3.3 关系数据库的非规范化设计,数据表规范化的程序越高,数据冗余就越少,同时造成人为错误的可能性就越小; 规范化的程序越高,在查询检索时需要做的关联等工作就越多,而连接运算增多

15、,必然降低数据库执行的速度,影响数据库的性能。 只有通过非规范化设计,显著减少表的数量,从而减少对连接运算的依赖,加速数据库执行的速度,才能确保数据库性能的正常发挥 。,49,第15章 数据库规划与设计,15.1 关系数据库 15.2 数据库设计 15.3 关系数据库规范化理论 15.4 简易网上书城数据库设计案例,50,15.4 简易网上书城数据库设计案例,15.4.1 数据库设计的步骤 15.4.2 需求分析 15.4.3 概念结构设计 15.4.4 逻辑结构设计 15.4.5 物理结构设计,51,15.4.1 数据库设计的步骤,将数据库的设计分为如下六个阶段: 1、需求分析阶段 2、概念

16、设计阶段 3、逻辑设计阶段 4、物理设计阶段 5、实施阶段 6、运行和维护阶段,52,15.4 简易网上书城数据库设计案例,15.4.1 数据库设计的步骤 15.4.2 需求分析 15.4.3 概念结构设计 15.4.4 逻辑结构设计 15.4.5 物理结构设计,53,15.4.2 需求分析,1、需求分析的任务 1) 信息需求 2) 处理要求 3) 安全性与完整性要求 2、需求分析的阶段成果系统需求说明书,54,15.4 简易网上书城数据库设计案例,15.4.1 数据库设计的步骤 15.4.2 需求分析 15.4.3 概念结构设计 15.4.4 逻辑结构设计 15.4.5 物理结构设计,55,

17、15.4.3 概念结构设计,一般在此阶段采用E-R方法进行数据库的概念设计,书-用户的E-R图,56,15.4 简易网上书城数据库设计案例,15.4.1 数据库设计的步骤 15.4.2 需求分析 15.4.3 概念结构设计 15.4.4 逻辑结构设计 15.4.5 物理结构设计,57,15.4.4 逻辑结构设计,1、E-R图转换为实体和联系 可以将以上的实体关系转换成以下的三个关系: 书籍(书号,书名,作者,出版社,出版时间,内容简介,类别,编辑推荐,版次,图片,ISBN,登记日期,价格,折扣) 用户(用户名,密码,电话,邮件,真实姓名,邮寄地址,邮编) 订购(用户名,书号,订购时间,订购数量

18、,订购状态),58,15.4.4 逻辑结构设计,2、对关系进行规范化 1)书籍的规范化 书籍(书号,书名,作者,出版社,出版时间,内容简介,小类别编号,编辑推荐,版次,图片,ISBN,登记日期,价格,折扣) 小类别(小类别编号,小类名称,小类别图片,所属大类别,大类别图片) 小类别关系只满足第二范式,还存在传递依赖,即大类别图片是由大类别决定的,因此应对此关系做进一步拆分,消除传递依赖,拆分后的关系如下: 小类别(小类别编号,小类名称,小类别图片,所属大类别) 大类别(大类别编号,大类名称,大类别图片),59,15.4.4 逻辑结构设计,2、对关系进行规范化 2)订单的规范化 在简易书城中,如果一个订单只允许用户订购一种书,则关系订购目前符合第3范式,为了方便使用,可添加一个订单编号作为主键,即: 订购(订单号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论