第3章数据库的设计.pptx

上传人:春哥&#****71; 文档编号:15608404 上传时间:2022-05-13 格式:PPTX 页数:50 大小:357.97KB
返回 下载 相关 举报
第3章数据库的设计.pptx_第1页
第1页 / 共50页
第3章数据库的设计.pptx_第2页
第2页 / 共50页
点击查看更多>>
资源描述

《第3章数据库的设计.pptx》由会员分享,可在线阅读,更多相关《第3章数据库的设计.pptx(50页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、课程主讲人:第3章数据库的设计 本章内容:本章内容: 3.1 数据库设计数据库设计的基本步骤的基本步骤 3.2 需求分析需求分析 3.3 概念设计概念设计 3.4 逻辑结构设计逻辑结构设计 3.5 物理设计物理设计第3章 数据库设计 数据库设计是建立本课程领域的核心技术,也是数据库设计是建立本课程领域的核心技术,也是信息系统开发和建设的关键环节,具体说,数据信息系统开发和建设的关键环节,具体说,数据库设计是指对于一个给定的应用环境,构造最优库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用

2、户的应用需求能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求信息要求和处理要求)。这个问题是数据库在应。这个问题是数据库在应用领域的主要研究课题。在数据库领域内,常常用领域的主要研究课题。在数据库领域内,常常把使用数据库的各类系统统称为数据库应用系统把使用数据库的各类系统统称为数据库应用系统.本章主要以培训类学校学生信息管理系统为案例,本章主要以培训类学校学生信息管理系统为案例,详细介绍了数据库设计的的步骤以及各步骤之间详细介绍了数据库设计的的步骤以及各步骤之间的关系,从而指导学生以实际应用程序的角度来的关系,从而指导学生以实际应用程序的角度来理解数据库设计的全过程并能够更深入地

3、掌握数理解数据库设计的全过程并能够更深入地掌握数据库设计技术。据库设计技术。 3.1 数据库设计概述数据库设计概述 数据库设计是一个复杂的系统工程。数据库应用数据库设计是一个复杂的系统工程。数据库应用系统的开发既是一项软件工程,遵循软件工程开系统的开发既是一项软件工程,遵循软件工程开发的一般原则和方法,又有其自身特点。仿照软发的一般原则和方法,又有其自身特点。仿照软件生存周期的阶段划分原则和设计方法,可以把件生存周期的阶段划分原则和设计方法,可以把数据库应用系统从开始规划、设计、实现、维护数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个时期,到最后被新的系统取代而

4、停止使用的整个时期,称为数据库应用系统的生存周期。称为数据库应用系统的生存周期。 数据库设计通常分为数据库设计通常分为6个阶段:需求分析、概念个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。库实施、数据库运行和维护。第3章 数据库设计 下面以某培训类学校学生信息管理系统为例,来分析下面以某培训类学校学生信息管理系统为例,来分析一下,数据库设计的过程,该培训类学校主要涉及了一下,数据库设计的过程,该培训类学校主要涉及了学生信息管理,学生选课,收费以及一些维护处理等学生信息管理,学生选课,收费以及一些维护处理等功能

5、,详见功能,详见下下图图 3.1 数据库设数据库设计的基本步骤计的基本步骤使用、维护数据库需求收集和分析设计概念结构设计逻辑结构评价设计,性能预测数据模型优化试验性运行设计物理结构物理实现应用需求(数应用需求(数据、处理)据、处理)转换规则,DBMS功能优化方法应用要求,DBMS详细特征需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段数据库实施阶段运行维护阶段 3.2 需求分析需求分析 需求分析就是分析用户对数据库的具体需求,需求分析就是分析用户对数据库的具体需求,主要包括功能需求和应用需求两个方面,是主要包括功能需求和应用需求两个方面,是整个数据库设计的起点和基础。需求分析的整个数据库设计的

6、起点和基础。需求分析的结果是否准确反映用户的实际需求,将直接结果是否准确反映用户的实际需求,将直接影响以后各个阶段的设计,甚至直接影响到影响以后各个阶段的设计,甚至直接影响到整个数据库系统设计的成败。整个数据库系统设计的成败。 需求分析阶段的最后可以形成一份完整的文需求分析阶段的最后可以形成一份完整的文档资料档资料需求分析说明书,作为数据库后需求分析说明书,作为数据库后续设计阶段的重要依据。续设计阶段的重要依据。第3章 数据库设计 3.2.1 需求描述与分析需求描述与分析从数据库设计的角度考虑,需求分析阶段的目标是:对现实世界从数据库设计的角度考虑,需求分析阶段的目标是:对现实世界要处理的对象

7、要处理的对象(组织,部门,企业等组织,部门,企业等)进行全面的、详细调查,确定进行全面的、详细调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,确定新系统功能,并把这些要些数据的要求,确定用户的需求,确定新系统功能,并把这些要求写成用户和数据库设计者都能够接受的文档。求写成用户和数据库设计者都能够接受的文档。需求分析阶段应该对系统的整个应用情况作详细的调查,需求分需求分析阶段应该对系统的整个应用情况作详细的调查,需求分析中调查分析的方法很多,通常的办法是对不同层次的企业管理析中调查分析的方法很

8、多,通常的办法是对不同层次的企业管理人员进行个人访问,内容包括业务处理和企业组织中的各个数据。人员进行个人访问,内容包括业务处理和企业组织中的各个数据。访问的结果应该包括数据的流程、过程之间的接口以及访问者和访问的结果应该包括数据的流程、过程之间的接口以及访问者和职员两方面对流程和接口语义上的核对说明和结论。某些特殊的职员两方面对流程和接口语义上的核对说明和结论。某些特殊的目标和数据库的要求,应该从企业组织中的最高层机构得到。目标和数据库的要求,应该从企业组织中的最高层机构得到。需求分析阶段必须强调用户的参与,本阶段一个重要而困难的任需求分析阶段必须强调用户的参与,本阶段一个重要而困难的任务是

9、设计人员还应该了解系统将来要发生的变化,收集未来应用务是设计人员还应该了解系统将来要发生的变化,收集未来应用所涉及的数据,充分考虑到系统可能的扩充和变动,使系统设计所涉及的数据,充分考虑到系统可能的扩充和变动,使系统设计更符合未来发展的趋向,并且易于改动,以减少系统维护的代价。更符合未来发展的趋向,并且易于改动,以减少系统维护的代价。 3.2.2 需求分析分类需求分析分类 信息需求信息需求定义了未来系统用到的所有信息,描述了数据之间本质上和概念上的联系,描述了实体、属性、组合及联系的性质。 处理需求处理需求中定义了未来系统的数据处理的操作,描述了操作的优先次序、操作执行的频率和场合、操作与数据

10、之间的联系。 在信息需求和处理需求的定义说明的同时还应定义安全性和完整性约束。 这一阶段的输出是这一阶段的输出是“需求说明书需求说明书”,其主要内容,其主要内容是系统的数据流图和数据字典。是系统的数据流图和数据字典。 3.2.3 需求分析的内容与方法需求分析的内容与方法 1.需求分析的内容需求分析的内容 (1) 调查组织机构情况调查组织机构情况 (2) 调查各部门的业务活动情况调查各部门的业务活动情况 (3) 熟悉业务活动熟悉业务活动 (4) 确定新系统的边界确定新系统的边界 2.需求分析的方法需求分析的方法 需求分析的方法有多种,下面归纳了六种主要方法:需求分析的方法有多种,下面归纳了六种主

11、要方法: (1) 跟班作业。跟班作业。(2) 开调查会。开调查会。 (3) 请专人介绍。请专人介绍。(4) 找人询问。找人询问。 (5) 设计调查表请用户填写。设计调查表请用户填写。(6) 查阅记录。查阅记录。 3.2.4 需求分析的步骤需求分析的步骤 1.分析用户活动,产生用户活动图分析用户活动,产生用户活动图 这一步主要了解用户当前的业务活动和职能,分析其这一步主要了解用户当前的业务活动和职能,分析其处理流程处理流程(即业务流程即业务流程)。 2.确定系统范围,产生系统范围图确定系统范围,产生系统范围图 3.分析用户活动所涉及的数据,产生数据流图分析用户活动所涉及的数据,产生数据流图 数据

12、流图数据流图(Data Flow Diagram,简记为简记为DFD)是从是从“数据数据”和和“对数据的加工对数据的加工”两方面表达数据处理系统工作过两方面表达数据处理系统工作过程的一种图形表达法,具有直观,易于被用户和软件程的一种图形表达法,具有直观,易于被用户和软件人员双方都能理解的一种表达系统功能的描述方式。人员双方都能理解的一种表达系统功能的描述方式。 DFD有四个基本成分:数据流有四个基本成分:数据流(用箭头表示用箭头表示),加工或,加工或处理处理(用圆圈表示用圆圈表示),文件,文件(用双线段表示用双线段表示)和外部实体和外部实体(数据流的源点或终点,用方框表示数据流的源点或终点,用

13、方框表示)。评定成绩教室安排核对选课单教 师评定考试成绩成绩单申请选课学 生教室安排平时成绩选课名单允许参加考试已选课程名单选课单选课成绩教师课程任课介绍教师课程介绍1.0选课教室安排选用教材教材教室2.0上课试卷考场考场 试卷3.0考试同意/不同意接受同意/不同意选课考场安排 4.分析系统数据,产生数据字典分析系统数据,产生数据字典 仅仅有仅仅有DFD并不能构成需求说明书,因为并不能构成需求说明书,因为DFD只表示出系统只表示出系统有哪几部分组成和各部分之间的关系,并没有说明各个成分有哪几部分组成和各部分之间的关系,并没有说明各个成分的含义。只有对每个成分都给出确切定义后,才能较完整地的含义

14、。只有对每个成分都给出确切定义后,才能较完整地描述系统。描述系统。 3.2.5 数据字典数据字典 数据字典提供对数据库描述的集中管理,它的功数据字典提供对数据库描述的集中管理,它的功能是存储和检索各种数据描述能是存储和检索各种数据描述(称为元数据称为元数据metadata),如叙述性的数据定义等,并且为,如叙述性的数据定义等,并且为DBA提供有关的报告。对数据库设计来说,数据提供有关的报告。对数据库设计来说,数据字典是进行详细的数据收集和数据分析所获得的字典是进行详细的数据收集和数据分析所获得的主要成果。因此在数据库设计中占有很重要的地主要成果。因此在数据库设计中占有很重要的地位。位。 数据字

15、典中通常包括数据项、数据结构、数据流、数据字典中通常包括数据项、数据结构、数据流、数据存储和处理过程数据存储和处理过程5个部分。其中数据项是数个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的数据结构,数据字典通过对数据项和数据结构的定义来描述数据流以及数据存储的逻辑内容。定义来描述数据流以及数据存储的逻辑内容。 【例【例3.1】一个数据流选课单,每张选课单有】一个数据流选课单,每张选课单有一个数据项为选课单号。在数据字典中可对一个数据项为选课单号。在数据字典中可对此数据项作如下描述。此数据项作如

16、下描述。数据项名:选课单号数据项名:选课单号说说 明:标识每张选课单明:标识每张选课单类类 型:型:CHAR(8)长长 度:度:8别别 名:选课单号名:选课单号取值范围:取值范围:0000000199999999 2.数据结构数据结构 数据结构反映了数据之间的组合关系。一个数据结构可数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,以由若干个数据项组成,也可以由若干个数据结构组成,或有若干个数据项和数据结构混合而成。它包括数据结或有若干个数据项和数据结构混合而成。它包括数据结构名、含义及组成该数据结构的数据项名或数据结构名。构名、含义及组成该数据

17、结构的数据项名或数据结构名。 3.数据流数据流 数据流可以是数据项,也可以是数据结构,表示某一加数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应包括工处理过程的输入或输出数据。对数据流的描述应包括数据流名、说明、流出的加工名、流入的加工名以及组数据流名、说明、流出的加工名、流入的加工名以及组成该数据流的数据结构或数据项。成该数据流的数据结构或数据项。数据流名:考场安排数据流名:考场安排说说 明:由各课程所选学生数,选定教室、时间,确定考试安排明:由各课程所选学生数,选定教室、时间,确定考试安排来来 源:考试源:考试去去 向:教师向:教师数据结构:考场

18、安排数据结构:考场安排 考试课程考试课程 考试时间考试时间 教学楼教学楼 教室编号教室编号【例3.2】考场安排是一个数据流,在数据字典中描述考场安排。 4.数据存储数据存储 数据存储是处理过程中要存储的数据,可以是手工凭证、数据存储是处理过程中要存储的数据,可以是手工凭证、手工文档或计算机文档。对数据存储的描述应包括:数据手工文档或计算机文档。对数据存储的描述应包括:数据存储名、说明、输入数据流、输出数据流、数据量存储名、说明、输入数据流、输出数据流、数据量(每次每次存取多少数据存取多少数据)、存取频率、存取频率(单位时间内存取次数单位时间内存取次数)和存取方和存取方法法(是批处理,还是联机处

19、理;是检索,还是更新;是顺是批处理,还是联机处理;是检索,还是更新;是顺序存取,还是随机存取序存取,还是随机存取)等。等。 【例【例3.4】课程是个数据存储,在数据字典中可对其作如】课程是个数据存储,在数据字典中可对其作如下描述。下描述。数据存储名:课程数据存储名:课程说说 明:对每门课程的名称、学分、先行课程号和摘要的描述。明:对每门课程的名称、学分、先行课程号和摘要的描述。输出数据流:课程介绍输出数据流:课程介绍数数 据据 描述:课程号描述:课程号课程名课程名学分数学分数先行课程号先行课程号摘要摘要数数 量:每年量:每年500种种存存 取取 方式:随机存取方式:随机存取 5.加工过程加工过

20、程 对加工处理的描述包括加工过程名、说明、输入数据流、对加工处理的描述包括加工过程名、说明、输入数据流、并简要说明处理工作、频度要求、数据量及响应时间等。并简要说明处理工作、频度要求、数据量及响应时间等。处理过程:确定选课名单处理过程:确定选课名单说说 明:对要选某门课程的每一个学生,根据已选修课程确定其是否明:对要选某门课程的每一个学生,根据已选修课程确定其是否可可 选选该课该课程。在根据学生选课的人数选择适当的教室,制定选课单。程。在根据学生选课的人数选择适当的教室,制定选课单。输输 入:学生选课入:学生选课 可选课程可选课程 已选课程已选课程输输 出:选课单出:选课单程序提要:程序提要:

21、a.对所选课程在选课表中查找其是否已选此课程对所选课程在选课表中查找其是否已选此课程 b. b.若未选过此课程,则在选课表中查找是否已选此课程的先行课程若未选过此课程,则在选课表中查找是否已选此课程的先行课程 c. c.若若a、b都满足,则在选课表中增加一条选课记录都满足,则在选课表中增加一条选课记录 d. d.处理完全部学生的选课处理后,形成选课单处理完全部学生的选课处理后,形成选课单 33 概念设计概念设计 3.3.1 概念设计的必要性及要求概念设计的必要性及要求1.将概念设计从数据库设计过程中独立开来的优点将概念设计从数据库设计过程中独立开来的优点(1) 各阶段的任务相对单一化,设计复杂

22、程度大大降低,便于组织各阶段的任务相对单一化,设计复杂程度大大降低,便于组织管理。管理。(2) 不受特定的不受特定的DBMS的限制,也独立于存储安排和效率方面的考的限制,也独立于存储安排和效率方面的考虑,因而比逻辑模式更为稳定。虑,因而比逻辑模式更为稳定。(3) 概念模式不含具体的概念模式不含具体的DBMS所附加的技术细节,更容易为用户所附加的技术细节,更容易为用户所理解,因而才有可能准确地反映用户的信息需求。所理解,因而才有可能准确地反映用户的信息需求。2.概念模型的要求概念模型的要求(1) 应真实、充分地反映现实世界中事物和事物之间的联系应真实、充分地反映现实世界中事物和事物之间的联系(2

23、) 应简洁、清晰、独立于机器、容易理解应简洁、清晰、独立于机器、容易理解(3) 应易于变动应易于变动(4) 应很容易向关系、层次或网状等各种数据模型转换应很容易向关系、层次或网状等各种数据模型转换 3.3.2 概念设计的方法与步骤概念设计的方法与步骤 1.概念设计的方法概念设计的方法 (1) 自顶向下方法。自顶向下方法。 (2) 自底向上方法。自底向上方法。 (3) 逐步扩张方法。逐步扩张方法。 (4) 混合方式方法。混合方式方法。 2.概念设计的步骤概念设计的步骤 (1) 进行数据抽象,设计局部概念模式进行数据抽象,设计局部概念模式 (2) 将局部概念模式综合成全局概念模式将局部概念模式综合

24、成全局概念模式 (3) 评审评审 3.3.3 E-R模型的操作模型的操作 1.实体类型的分裂实体类型的分裂 一个实体类型可以根据需要分裂成若干个实体类一个实体类型可以根据需要分裂成若干个实体类型。分裂方式有垂直分割和水平分割两种形式。型。分裂方式有垂直分割和水平分割两种形式。 (1) 垂直分割垂直分割 垂直分割是指把一个实体类型的属性分成若干组,垂直分割是指把一个实体类型的属性分成若干组,然后按组形成若干实体类型。然后按组形成若干实体类型。 (2) 水平分割水平分割 水平分割是指把一个实体类型分裂为互不相交的水平分割是指把一个实体类型分裂为互不相交的子类子类(即得到原实体类型的一个分割即得到原

25、实体类型的一个分割)。 垂直分割垂直分割教 师教师号姓名出生日期奖金职务工资性别教师不变信息教师号姓名出生日期性别教师可变信息教师号奖金工 资职务水平分割 女教师教师号姓名出生日期奖金职务工资男教师教师号姓名出生日期奖金职务工资 2.实体类型的合并实体类型的合并 实体类型合并是实体类型分裂的逆过程,相应地,也实体类型合并是实体类型分裂的逆过程,相应地,也有水平合并和垂直合并两种有水平合并和垂直合并两种(一般要求被合并者应具有一般要求被合并者应具有相同的码相同的码)。 在实体类型水平分裂时,原有的联系类型也要相应分在实体类型水平分裂时,原有的联系类型也要相应分裂;反之,在水平合并时,联系类型是否

26、改变或合并裂;反之,在水平合并时,联系类型是否改变或合并要视合并实际情况而定。要视合并实际情况而定。 相应地,垂直合并时,也可能导致新联系类型的产生。相应地,垂直合并时,也可能导致新联系类型的产生。 3.联系类型的分裂联系类型的分裂 一个联系类型可分裂成几个新联系类型。一个联系类型可分裂成几个新联系类型。 4.联系类型的合并联系类型的合并 联系类型的合并是分裂操作的逆过程。必须注意,合联系类型的合并是分裂操作的逆过程。必须注意,合并的联系类型必须是定义在相同的实体类型组合中,并的联系类型必须是定义在相同的实体类型组合中,否则是不合理的合并否则是不合理的合并 3.3.4 采用采用E-R方法的数据

27、库概念设计方法的数据库概念设计 1.设计局部设计局部E-R模式模式 (1) 确定局部结构范围确定局部结构范围 设计各个局部设计各个局部E-R模式的第一步,是确定局部结构的范围模式的第一步,是确定局部结构的范围划分。划分的方式一般有两种:一种是依据系统的当前用划分。划分的方式一般有两种:一种是依据系统的当前用户进行自然划分,另一种是按用户要求数据库提供的服务户进行自然划分,另一种是按用户要求数据库提供的服务归纳成几类归纳成几类 (2) 实体定义实体定义 每一个局部结构都包括一些实体类型,实体定义的任务就每一个局部结构都包括一些实体类型,实体定义的任务就是从信息需求和局部范围定义出发,确定每一个实

28、体类型是从信息需求和局部范围定义出发,确定每一个实体类型的属性和码。的属性和码。 注:注:属性,不能再具有需要描述的性质,属性必须是不可属性,不能再具有需要描述的性质,属性必须是不可分的数据项,不能包含其它属性,属性也不能与其它实体分的数据项,不能包含其它属性,属性也不能与其它实体具有联系。具有联系。 (3) 联系定义联系定义 E-R模型的模型的“联系联系”用于刻画实体之间的关联。一种用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考虑局部结构中任意两个实体类型需求分析的结果,考虑局部结构中任意两个实体类型

29、之间是否存在联系。之间是否存在联系。 若有联系,进一步确定是若有联系,进一步确定是1:N,M:N,还是,还是1:1等。还等。还要考察一个实体类型内部是否存在联系,两个实体类要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联型之间是否存在联系,多个实体类型之间是否存在联系,等等。系,等等。 在确定联系类型时,应注意防止出现冗余的联系在确定联系类型时,应注意防止出现冗余的联系(即可即可从其他联系导出的联系从其他联系导出的联系),如果存在,要尽可能地识别,如果存在,要尽可能地识别并消除这些冗余联系,以免将这些问题遗留给综合全并消除这些冗余联系,以免将这些问题

30、遗留给综合全局的局的E-R模式阶段。模式阶段。冗余的联系?冗余的联系?教师任教课程授课选修学生 (4) 属性分配属性分配 实体与联系都确定下来后,局部结构中的其他语实体与联系都确定下来后,局部结构中的其他语义信息大部分可用属性描述。这一步的工作有两义信息大部分可用属性描述。这一步的工作有两类:一确定属性,二是把属性分配到有关实体和类:一确定属性,二是把属性分配到有关实体和联系中去。联系中去。 确定属性的原则是:属性应该是不可再分解的语确定属性的原则是:属性应该是不可再分解的语义单位;实体与属性之间的关系只能是义单位;实体与属性之间的关系只能是1:N的;的;不同实体类型的属性之间应无直接关联关系

31、。不同实体类型的属性之间应无直接关联关系。 属性不可分解的要求是为了使模型结构简单化,属性不可分解的要求是为了使模型结构简单化,不出现嵌套结构。不出现嵌套结构。 2.设计全局设计全局E-R模式模式 所有局部所有局部E-R模式都设计好后,接下来就是把它们综合成模式都设计好后,接下来就是把它们综合成单一的全局概念结构。全局概念结构不仅要支持所有局部单一的全局概念结构。全局概念结构不仅要支持所有局部E-R模式,而且必须合理地表示一个完整、一致的数据库模式,而且必须合理地表示一个完整、一致的数据库概念结构概念结构 (1) 确定公共实体类型确定公共实体类型 为了实现多个局部为了实现多个局部E-R模式的合

32、并,首先要确定各局部结模式的合并,首先要确定各局部结构中的公共实体类型。构中的公共实体类型。 (2) 局部局部E-R模式的合并模式的合并 合并原则是:首先进行两两合并;其次合并那些现实世界合并原则是:首先进行两两合并;其次合并那些现实世界中有联系的局部结构;再合并从公共实体类型开始,最后中有联系的局部结构;再合并从公共实体类型开始,最后再加入独立的局部结构。再加入独立的局部结构。 (3) 消除冲突消除冲突 属性冲突属性冲突 结构冲突结构冲突 命名冲突命名冲突 3.全局全局E-R模式的优化模式的优化 (1) 实体类型的合并实体类型的合并 (2) 冗余属性的消除冗余属性的消除 通常在各个局部结构中

33、是不允许冗余属性存通常在各个局部结构中是不允许冗余属性存在的。冗余属性消除与否,也取决于它对存在的。冗余属性消除与否,也取决于它对存储空间、访问效率和维护代价的影响。有时储空间、访问效率和维护代价的影响。有时为了兼顾访问效率,有意保留冗余属性。为了兼顾访问效率,有意保留冗余属性。 (3) 冗余联系的消除冗余联系的消除 学籍管理局部应用的分学籍管理局部应用的分E-R图图n1n11mn1nnmn1n1n11系有班级管理班主任组成指导归档拥有住宿参加具有导师学生性别宿舍档案材料社会关系学生会 课程管理局部应用分课程管理局部应用分E-R图图11pmn1nnm系开设课程选修学生担任上课教师教材教室 教师

34、管理局部应用分教师管理局部应用分E-R图图 34 逻辑结构设计逻辑结构设计 3.4.1 逻辑设计环境逻辑设计环境 逻辑设计的输入输出图逻辑设计的输入输出图独立于DBMS的概念模式处理要求约束条件DBMS特征DBMS可处理的模式和子模式 应用程序设计指南物理设计指南逻辑设计 3.4.2 逻辑设计的步骤逻辑设计的步骤 1.将将E-R模型转成一般的关系、网状、层次模型模型转成一般的关系、网状、层次模型 2.设计用户子模式设计用户子模式 子模式是模式的逻辑子集。子模式是模式的逻辑子集。 3.应用程序设计梗概应用程序设计梗概 设计应用程序的草图设计应用程序的草图 4.模式评价模式评价 定量分析定量分析、

35、性能测量性能测量 5.数据模型的优化数据模型的优化 3.4.3 从从E-R图向关系模型转换图向关系模型转换 1.从从E-R图向关系模型转换的原则图向关系模型转换的原则 (1) E-R图中的每一个实体,都相应地转换为一图中的每一个实体,都相应地转换为一个关系,该关系应包括对应实体的全部属性,个关系,该关系应包括对应实体的全部属性,并应根据该关系表达的语义确定码,因为关并应根据该关系表达的语义确定码,因为关系中的码属性是实现不同关系联系的主要手系中的码属性是实现不同关系联系的主要手段。段。 (2) 对于对于E-R图中的联系,要根据联系方式的不图中的联系,要根据联系方式的不同,采用不同手段以使被它联

36、系的实体所对同,采用不同手段以使被它联系的实体所对应的关系彼此之间实现某种联系。应的关系彼此之间实现某种联系。第3章 数据库设计 (1) 如果两个实体之间是如果两个实体之间是1:1联系,分别将它们联系,分别将它们转为关系,并在一个关系中加入另一关系的转为关系,并在一个关系中加入另一关系的码及联系的属性。码及联系的属性。 例如将例如将如如图所示的图所示的E-R图转换为关系模式。图转换为关系模式。第3章 数据库设计 对应的关系模式可以有以下几种转换形式:对应的关系模式可以有以下几种转换形式: 形式一:形式一: 班级(班级(班级编号班级编号,班主任,入学时间),班主任,入学时间) 班长(班长(学号学

37、号,姓名,性别,联系方式),姓名,性别,联系方式) 担任(担任(班级编号,学号班级编号,学号,任职时间),任职时间) 形式二:形式二: 班级(班级(班级编号班级编号,班主任,入学时间,学号,班主任,入学时间,学号,任职时间)任职时间) 班长(班长(学号学号,姓名,性别,联系方式),姓名,性别,联系方式)第3章 数据库设计 形式三:形式三: 班级(班级(班级编号班级编号,班主任,入学时间),班主任,入学时间) 班长(班长(学号学号,姓名,性别,联系方式,班级,姓名,性别,联系方式,班级编号,任职时间)编号,任职时间)第3章 数据库设计 (2)一个一对多联系()一个一对多联系(1:N)可以转换为一

38、)可以转换为一个独立的关系模式,也可以与个独立的关系模式,也可以与N端对应的关系端对应的关系模式合并。模式合并。 例如将例如将如如图所示的图所示的E-R图转换为关系模式。图转换为关系模式。 第3章 数据库设计 对应的关系模式可以有以下几种转换形式:对应的关系模式可以有以下几种转换形式: 形式一:形式一: 班级(班级(班级编号班级编号,班主任,入学时间),班主任,入学时间) 系(系(系编号系编号,系名,系主任),系名,系主任) 属于(属于(班级编号班级编号,系编号),系编号) 形式二:形式二: 班级(班级(班级编号班级编号,班主任,入学时间,系编,班主任,入学时间,系编号)号) 系(系(系编号系

39、编号,系名,系主任),系名,系主任)第3章 数据库设计 (3)一个多对多联系()一个多对多联系(M:N)转换为一个独)转换为一个独立的关系模式,其属性为两端实体的关键字立的关系模式,其属性为两端实体的关键字属性加上联系本身的属性。属性加上联系本身的属性。 例如将例如将如如图所示的图所示的E-R图转换为关系模式。图转换为关系模式。第3章 数据库设计 对应的关系模式如下:对应的关系模式如下: 学生(学生(学号学号,姓名,性别,出生日期,籍贯),姓名,性别,出生日期,籍贯) 课程(课程(课程号课程号,课程名,学时、学分),课程名,学时、学分) 学习(学习(学号,课程号学号,课程号,成绩),成绩)第3

40、章 数据库设计 3.4.4 设计用户子模式设计用户子模式 由于用户子模式与模式是相对独立的,因此由于用户子模式与模式是相对独立的,因此在定义用户子模式时可以注重考虑用户的习在定义用户子模式时可以注重考虑用户的习惯与方便。包括:惯与方便。包括: 1.使用更符合用户习惯的别名使用更符合用户习惯的别名 2.可以对不同级别的用户定义不同的视图,可以对不同级别的用户定义不同的视图,以保证系统的安全性。以保证系统的安全性。 3.简化用户对系统的使用。简化用户对系统的使用。 3.4.5 对数据模型进行优化对数据模型进行优化 规范化理论是数据库逻辑设计的指南和工具,规范化理论是数据库逻辑设计的指南和工具,具体

41、说可应用在下面几个具体的方面:具体说可应用在下面几个具体的方面: 在数据分析阶段用数据依赖的概念分析和表在数据分析阶段用数据依赖的概念分析和表示各数据项之间的联系。示各数据项之间的联系。 在设计概念结构阶段,用规范化理论为工具在设计概念结构阶段,用规范化理论为工具消除初步消除初步E-R图中冗余的联系。图中冗余的联系。 由由E-R图向数据模型转换的过程中用模式分解图向数据模型转换的过程中用模式分解的概念和算法指导设计。的概念和算法指导设计。 应用规范化理论进行数据库设计,过程可以充分运用规范化应用规范化理论进行数据库设计,过程可以充分运用规范化理论的成果优化关系数据库模式的设计,设计办法是:理论

42、的成果优化关系数据库模式的设计,设计办法是: (1) 确定数据依赖,把确定数据依赖,把E-R图中每个实体内的各个属性按数据图中每个实体内的各个属性按数据分析阶段所得到的语义写出其数据依赖,实体之间的联系用分析阶段所得到的语义写出其数据依赖,实体之间的联系用实体主码之间的联系来表示。实体主码之间的联系来表示。 (2) 用关系来表示用关系来表示E-R图中的每一个实体。图中的每一个实体。 (3) 对应实体之间的那些数据依赖进行极小化处理。对应实体之间的那些数据依赖进行极小化处理。 (4) 用关系表示实体之间的联系。用关系表示实体之间的联系。 按照数据依赖理论,逐一分析关系模式,考察分别属于第几按照数

43、据依赖理论,逐一分析关系模式,考察分别属于第几范式。然后分析些模式是否适合,确定是否合并或分解。范式。然后分析些模式是否适合,确定是否合并或分解。 并不是规范化程度越高的关系模式越好。并不是规范化程度越高的关系模式越好。 (5) 关系模式的分解。关系模式的分解。 3.5 物理结构设计物理结构设计 所谓物理结构设计,就是在物理存储设备上所谓物理结构设计,就是在物理存储设备上选取和设计一个占用较少存储空间、具有尽选取和设计一个占用较少存储空间、具有尽可能高的查询效率和较低维护代价的数据库可能高的查询效率和较低维护代价的数据库物理结构;并对设计好的物理结构从时间和物理结构;并对设计好的物理结构从时间

44、和空间效率等方面进行评价,以便确定是否对空间效率等方面进行评价,以便确定是否对其逻辑结构或物理结构进行进一步的优化。其逻辑结构或物理结构进行进一步的优化。 数据库物理结构设计主要包括:选择存储结数据库物理结构设计主要包括:选择存储结构、确定存取方法、选择存取路径、确定数构、确定存取方法、选择存取路径、确定数据的存放位置等。据的存放位置等。第3章 数据库设计 本章以一个应用案例本章以一个应用案例-学生信息管理系统来阐学生信息管理系统来阐述了数据库设计的六大步骤,即:需求分析述了数据库设计的六大步骤,即:需求分析阶段、概念结构设计阶段、逻辑结构设计阶阶段、概念结构设计阶段、逻辑结构设计阶段、数据库

45、物理设计阶段、数据库实施阶段、段、数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段。对各个阶段均给出数据库运行和维护阶段。对各个阶段均给出了详尽的分析和说明。本章是本教材的核心了详尽的分析和说明。本章是本教材的核心部分,也是整个数据库技术的核心部分,其部分,也是整个数据库技术的核心部分,其给出了数据库设计的完整过程。给出了数据库设计的完整过程。 本章重点:概念结构设计,即本章重点:概念结构设计,即ER模型的构建。模型的构建。要求掌握局部要求掌握局部ER模型的构建与整体模型的构建与整体ER模型的模型的集成,这为逻辑模型设计打下基础。集成,这为逻辑模型设计打下基础。本章小结本章小结 什么是

46、数据库设计?数据库设计过程的输入输出什么是数据库设计?数据库设计过程的输入输出有哪些内容?有哪些内容? 评审在数据库设计中有什么重要作用?为什么允评审在数据库设计中有什么重要作用?为什么允许设计过程中有多次的回溯与反复?许设计过程中有多次的回溯与反复? 数据字典的内容和作用是什么?数据字典的内容和作用是什么? 什么是什么是E-R图?构成图?构成E-R图的基本要素是什么?图的基本要素是什么? 简述概念设计的具体步骤。简述概念设计的具体步骤。 试述采用试述采用E-R方法的数据库概念设计过程。方法的数据库概念设计过程。 简述逻辑设计阶段的主要步骤几内容。简述逻辑设计阶段的主要步骤几内容。 什么是数据库的物理设计,其具体步骤怎样?什么是数据库的物理设计,其具体步骤怎样?思考与练思考与练习习

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁