《第5章-数据库设计-数据库技术与应用教程-课件.ppt》由会员分享,可在线阅读,更多相关《第5章-数据库设计-数据库技术与应用教程-课件.ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第5章 数据库设计本章要点掌握数据库设计的任务、方法与步骤掌握需求分析阶段任务掌握概念结构设计方法掌握实体-联系模型设计方法掌握逻辑结构设计方法了解物理结构设计内容了解数据库实施内容第5章 数据库设计5.1 数据库设计概述5.1.1 5.1.1 数据库设计的任务数据库设计的任务设计数据库模式,设计数据库模式,即设计数据库系统体系结构中三级模式的模式结构,是即设计数据库系统体系结构中三级模式的模式结构,是概括具体的数据库应用系统的数据库全局的数据结构概括具体的数据库应用系统的数据库全局的数据结构反映使用本系统所有用户的数据视图反映使用本系统所有用户的数据视图数据库设计的方法数据库设计的方法是一项
2、大工程,可用方法:是一项大工程,可用方法:基于基于ERER模型的方法模型的方法OOD(Object Oriented Design)OOD(Object Oriented Design)方法方法等等5.1.2 5.1.2 数据库设计的步骤数据库设计的步骤 数据库设计是综合运用计算机软、硬件技术,结数据库设计是综合运用计算机软、硬件技术,结合应用系统领域的知识和管理技术的系统工程。数据合应用系统领域的知识和管理技术的系统工程。数据库设计归纳为如下几个阶段:库设计归纳为如下几个阶段:1.1.需求分析阶段需求分析阶段2.2.概念结构设计阶段概念结构设计阶段3.3.逻辑结构设计阶段逻辑结构设计阶段4.
3、4.物理结构设计阶段物理结构设计阶段5.5.实施阶段实施阶段6.6.使用与维护阶段使用与维护阶段第5章 数据库设计5.1 数据库设计概述第5章 数据库设计5.2 需求分析5.2 5.2 需求分析需求分析(1 1)信息要求信息要求:了解用户将从数据库中获得信息的内容、性质,:了解用户将从数据库中获得信息的内容、性质,数据库应用系统用到的所有基础信息类型及其联系,了解用户希望数据库应用系统用到的所有基础信息类型及其联系,了解用户希望从数据库中获得哪些类型的信息,数据库中需要存储哪些数据。从数据库中获得哪些类型的信息,数据库中需要存储哪些数据。(2 2)处理要求处理要求:了解用户希望数据库应用系统对
4、数据进行什么处:了解用户希望数据库应用系统对数据进行什么处理,对各种数据处理的响应时间的要求,对各种数据处理的频率的理,对各种数据处理的响应时间的要求,对各种数据处理的频率的要求,对数据处理方式的要求是批处理还是联机处理等。要求,对数据处理方式的要求是批处理还是联机处理等。(3 3)安全性要求安全性要求:了解用户对数据库中存放的信息的安全保密要:了解用户对数据库中存放的信息的安全保密要求,哪些信息是需要保密的,哪些信息是不需要保密的。求,哪些信息是需要保密的,哪些信息是不需要保密的。(4 4)完整性要求完整性要求:了解用户对数据库中存放的信息应满足什么样:了解用户对数据库中存放的信息应满足什么
5、样的约束条件,什么样的信息在数据库中才是正确的数据。的约束条件,什么样的信息在数据库中才是正确的数据。第5章 数据库设计5.2 需求分析例例5.1 5.1 设某高校要建立学生管理信息系统,要求对学院、系、班设某高校要建立学生管理信息系统,要求对学院、系、班级、教研室等机构的信息进行管理,同时管理教师和学生的基本级、教研室等机构的信息进行管理,同时管理教师和学生的基本信息,及学生选课情况。信息,及学生选课情况。依据实际情况,此系统需要管理的数据对象及其详细描述如下:依据实际情况,此系统需要管理的数据对象及其详细描述如下:学院:学院名称、院长姓名、电话和地址学院:学院名称、院长姓名、电话和地址系:
6、系名称、所属学院和系主任姓名系:系名称、所属学院和系主任姓名班级:班级名称、班长、专业班级:班级名称、班长、专业教研室:教研室名称、研究方向教研室:教研室名称、研究方向学生:学号、姓名、所在班级、出生年月、性别、籍贯等学生:学号、姓名、所在班级、出生年月、性别、籍贯等教师:姓名、职称、研究方向等教师:姓名、职称、研究方向等课程:课程名称、学分、学时、开设时间等课程:课程名称、学分、学时、开设时间等选课:学生、教师、授课地点、授课时间、实验时间、实验地点、成绩等。选课:学生、教师、授课地点、授课时间、实验时间、实验地点、成绩等。对这些数据的对这些数据的处理要求处理要求主要包括以下几点:主要包括以
7、下几点:增加、删除、修改各数据对象中的单个数据增加、删除、修改各数据对象中的单个数据批量增加、删除、修改各数据对象中的数据批量增加、删除、修改各数据对象中的数据对学院进行按院长姓名、学院姓名的查询等对学院进行按院长姓名、学院姓名的查询等安全性要求安全性要求如:只允许学院内部人员使用该系统,允许学生查询成绩但不能修改,允如:只允许学院内部人员使用该系统,允许学生查询成绩但不能修改,允许教师录入和修改学生成绩等。许教师录入和修改学生成绩等。第5章 数据库设计5.3 概念结构设计5.3.1 5.3.1 实体实体-联系模型联系模型实体实体-联系模型联系模型(Entity Relationship Mo
8、delEntity Relationship Model)简称)简称E-RE-R模型模型。1.1.实体实体(Entity)(Entity):客观存在并相互区别的:客观存在并相互区别的“事物事物”。2.2.属性属性(Attribute)(Attribute):实体有若干个特性,每一个特性称为实体一:实体有若干个特性,每一个特性称为实体一个属性。个属性。3.3.实体型实体型(Entity Type)(Entity Type):用实体名和属性名称集来描述同类实:用实体名和属性名称集来描述同类实体,称为实体型。体,称为实体型。4.4.实体集实体集(Entity Set)(Entity Set):实体集
9、是若干个同类实体的集合。:实体集是若干个同类实体的集合。5.5.码码(Key)(Key):如果某个属性或某个属性集的值能够:如果某个属性或某个属性集的值能够唯一地标识唯一地标识出实出实体集中的某一个实体,该属性或属性集就可称为码(体集中的某一个实体,该属性或属性集就可称为码(关键字关键字)。)。作为码的属性或属性集又称为作为码的属性或属性集又称为主属性主属性,反之为非主属性。,反之为非主属性。6.6.联系联系(Relationship)(Relationship):联系是两个或两个以上的实体集间的关:联系是两个或两个以上的实体集间的关联关系的描述。联关系的描述。第5章 数据库设计5.3 概念结
10、构设计5.3.2 5.3.2 实体实体-联系图联系图 例:实体集示例例:实体集示例学院学院系系班级班级学生学生课程课程成绩成绩第5章 数据库设计5.3 概念结构设计5.3.2 5.3.2 实体实体-联系图联系图 例:实体属性示例例:实体属性示例学院学院学院编号学院编号学院名称学院名称院长院长学院电话学院电话学院地址学院地址第5章 数据库设计5.3 概念结构设计5.3.2 5.3.2 实体实体-联系图联系图 例:实体之间的联系图(例:实体之间的联系图(ERER图)图)院长院长学院学院负责负责11学院学院系系设置设置1n学生学生课程课程选修选修mn1班级班级设置设置1n第5章 数据库设计5.3 概
11、念结构设计5.3.4 E-R5.3.4 E-R模型的设计实例模型的设计实例图书属于ISBN订购书名版次作者出 版社出 版 日期价格数量订单订 单号订单下达时间总价当前状态会员密码登 录名会 员号地址邮 政 编码姓名出 生 日期性别职业手 机 号码折扣mnn1EMAIL年收入当前状态发生时间第5章 数据库设计5.4 逻辑结构设计5.4.1 ER5.4.1 ER模型与关系模型的转换模型与关系模型的转换 数据模型由数据模型由数据结构数据结构、数据操作数据操作和和完整性约束完整性约束3部分组成。部分组成。1.关系模型数据结构关系模型数据结构 用用二维表二维表形式表示实体集的数据结构模型,称之为关系形式
12、表示实体集的数据结构模型,称之为关系(Relation)。)。(1)在一个关系中,每一个数据都可看成独立的)在一个关系中,每一个数据都可看成独立的分量分量(Component)。(2)在一个关系中,每一横行称为一个)在一个关系中,每一横行称为一个元组元组(Tuple)。(3)在一个关系中,每一竖列称为一个)在一个关系中,每一竖列称为一个属性属性(Attribute)。(4)在一个关系中,有一个关系名,同时每个属性都有一个)在一个关系中,有一个关系名,同时每个属性都有一个属属性名性名。通常把用于描述关系结构的。通常把用于描述关系结构的关系名关系名和和属性名属性名的集合称为的集合称为关系模关系模式
13、式(Schema)(5)码码(键)是关系模型中的一个重要概念。(键)是关系模型中的一个重要概念。(6)由关系模型(二维表)建立的数据库,称为)由关系模型(二维表)建立的数据库,称为关系数据库关系数据库。第5章 数据库设计5.4 逻辑结构设计5.4.1 E-R5.4.1 E-R模型与关系模型的转换模型与关系模型的转换 E-RE-R模型转换成关系模型,就是将实体型和实体模型转换成关系模型,就是将实体型和实体型间的联系转换为关系模式,确定关系模式的属性和型间的联系转换为关系模式,确定关系模式的属性和码,转换过程中要做到不违背关系的完整性约束,尽码,转换过程中要做到不违背关系的完整性约束,尽量满足规范
14、化原则。量满足规范化原则。概念模型相关的定义与关系模型的定义对应概念模型相关的定义与关系模型的定义对应关系如下表所示:关系如下表所示:在概念模型理论中在概念模型理论中在关系模型理论中在关系模型理论中实体型关系模式实体集关系实体元组属性属性属性值分量第5章 数据库设计5.4 逻辑结构设计5.4.1 5.4.1 关系数据库关系数据库 在关系数据库中,将一个关系视为是一张二维在关系数据库中,将一个关系视为是一张二维表,又称其为数据表(简称表),这个表包含表结表,又称其为数据表(简称表),这个表包含表结构、关系完整性、表中数据及数据间的联系。构、关系完整性、表中数据及数据间的联系。关系与表的对应关系如
15、下表所示:关系与表的对应关系如下表所示:在关系模型理在关系模型理论论中中 在关系数据在关系数据库库中中关系表元组记录属性字段分量数据项第5章 数据库设计5.4 逻辑结构设计例例5.3 5.3 将网上书城数据库将网上书城数据库E-RE-R模型转换成关系模式模型转换成关系模式(1)按照规则)按照规则1,得到三个实体集对应的关系模式为:,得到三个实体集对应的关系模式为:图书图书(ISBN,书名,版次,作者,出版社,出版日期,价格),书名,版次,作者,出版社,出版日期,价格),主键主键:ISBN会员(会员号,登录名,密码,姓名,地址,邮政编码,手机号码,会员(会员号,登录名,密码,姓名,地址,邮政编码
16、,手机号码,EMAIL,性别,出生日期,职业,年收入),性别,出生日期,职业,年收入),主键:会员号主键:会员号订单订单(订单号,订单下达时间,当前状态,当前状态发生时间,总价),(订单号,订单下达时间,当前状态,当前状态发生时间,总价),主键主键:订单号订单号(2)按照规则)按照规则3,会员与订单之间的联系集订购为一对多联系,可合并到,会员与订单之间的联系集订购为一对多联系,可合并到n端,端,即将会员的主键即将会员的主键“会员号会员号”加到订单关系模式中。于是订单关系模式变为:加到订单关系模式中。于是订单关系模式变为:订单订单(订单号,订单下达时间,当前状态,当前状态发生时间,总价,会员号)
17、,(订单号,订单下达时间,当前状态,当前状态发生时间,总价,会员号),主键主键:订单号:订单号(3)按照规则)按照规则4,订单与图书之间的联系集属于为多对多联系,应该转换为一,订单与图书之间的联系集属于为多对多联系,应该转换为一个独立的关系模式。其属性包含订单与图书的主键,加上联系本身的属性。实个独立的关系模式。其属性包含订单与图书的主键,加上联系本身的属性。实际应用系统中,通常将此关系模式命名为订单明细,于是该关系模式为:际应用系统中,通常将此关系模式命名为订单明细,于是该关系模式为:订单明细订单明细(订单号,(订单号,ISBN,数量,折扣),数量,折扣),主键主键:(订单号,:(订单号,I
18、SBN)第5章 数据库设计5.4 逻辑结构设计5.4.2 5.4.2 关系的规范化关系的规范化1.数据库设计中的问题数据库设计中的问题 如果一个关系没有经过规范化,可能会出现数据冗余大、如果一个关系没有经过规范化,可能会出现数据冗余大、数据更新造成不一致、数据插入异常和删除异常。数据更新造成不一致、数据插入异常和删除异常。2.函数依赖函数依赖 函数依赖(函数依赖(Function Dependency)是关系规范化的)是关系规范化的主要概念,是描述了属性之间的一种联系。主要概念,是描述了属性之间的一种联系。(1)函数依赖定义)函数依赖定义 定义定义5.1:设设R(U)是一个属性集是一个属性集U
19、上的关系模式,上的关系模式,X和和Y是是U的子集。对于的子集。对于R(U)的任意一个可能的关系的任意一个可能的关系r,若有,若有r的任的任意两个元组,在意两个元组,在X上的属性值相同,则在上的属性值相同,则在Y上的属性值也一上的属性值也一定相同,则称定相同,则称“X函数确定函数确定Y”或或“Y函数依赖于函数依赖于X”,记作,记作XY。第5章 数据库设计5.4 逻辑结构设计 (2)完全函数依赖和部分函数依赖定义)完全函数依赖和部分函数依赖定义 定义定义5.2:在关系模式在关系模式R(U)中,如果中,如果XY,并且对于,并且对于X的的任何一个真子集任何一个真子集X,都有,都有XY,则称,则称Y部分
20、函数依赖于部分函数依赖于X,记,记作作 ,否则称否则称Y完全函数依赖于完全函数依赖于X,记作,记作 。由定义由定义2.2可知,当可知,当X是单属性时,由于是单属性时,由于X不存在任何真子集,不存在任何真子集,如果如果XY,则,则 。(3)传递函数依赖定义)传递函数依赖定义 定义定义5.3:在关系模式在关系模式R(U)中,如果中,如果XY,Y X,且,且Y X,YZ,则称,则称Z传递函数依赖于传递函数依赖于X。第5章 数据库设计5.4 逻辑结构设计 4.4.模式分解模式分解 对关系模式进行分解,要符合对关系模式进行分解,要符合“无损连接无损连接”和和“保持依赖保持依赖”的原则。的原则。(1 1)
21、无损连接:当对关系模式)无损连接:当对关系模式R R进行分解时,进行分解时,R R元组元组将分别在相应属性集进行投影而产生新的关系。将分别在相应属性集进行投影而产生新的关系。(2 2)保持依赖:当对关系模式)保持依赖:当对关系模式R R进行分解时,进行分解时,R R的函的函数依赖集也将按相应的模式进行分解,如果分解后的数依赖集也将按相应的模式进行分解,如果分解后的总的函数依赖集与原函数依赖集保持不变,则称为保总的函数依赖集与原函数依赖集保持不变,则称为保持函数依赖。持函数依赖。第5章 数据库设计5.4.3 E-R模型与关系模型的转换模型与关系模型的转换学院学院学院编号学院编号学院名称学院名称院
22、长院长电话电话地址地址学院编号学院编号 学院名称学院名称院长院长电话电话地址地址C0001公共管理 张兴杰17号楼C0002信息学院杨波信息大楼C0003理学院张三1号楼C0004艺术学院李四2号楼C0005农学院王二3号楼5.4 逻辑结构设计第5章 数据库设计5.5 物理结构设计 5.5 5.5 物理结构设计物理结构设计 数据库物理结构设计就是为设计好的逻辑数据模型选数据库物理结构设计就是为设计好的逻辑数据模型选择最适合的应用环境。换句话说,就是能够在应用环择最适合的应用环境。换句话说,就是能够在应用环境中的物理设备上,由全局逻辑数据模型产生一个能境中的物理设备上,由全局逻辑数据模型产生一个
23、能在特定的在特定的DBMSDBMS上实现的关系数据库模式。上实现的关系数据库模式。数据库物理结构设计主要分为两个方面:数据库物理结构设计主要分为两个方面:1.1.确定数据库的物理结构确定数据库的物理结构2.2.对物理结构进行评价对物理结构进行评价第5章 数据库设计5.7 数据库使用与维护5.7 5.7 数据库使用与维护数据库使用与维护 对数据库的维护,通常是由数据库管理员对数据库的维护,通常是由数据库管理员(Database AdministratorDatabase Administrator,DBADBA)完成的。)完成的。主要工作内容有:主要工作内容有:(1 1)数据库转储和恢复;)数据库转储和恢复;(2 2)数据库安全性和完整性控制;)数据库安全性和完整性控制;(3 3)数据库性能的监督、分析和改进;)数据库性能的监督、分析和改进;(4 4)数据库的重新组织和重新建构。)数据库的重新组织和重新建构。