数据库原理与应用(第二版)Chapter5课件

上传人:壹****1 文档编号:569395082 上传时间:2024-07-29 格式:PPT 页数:47 大小:203KB
返回 下载 相关 举报
数据库原理与应用(第二版)Chapter5课件_第1页
第1页 / 共47页
数据库原理与应用(第二版)Chapter5课件_第2页
第2页 / 共47页
数据库原理与应用(第二版)Chapter5课件_第3页
第3页 / 共47页
数据库原理与应用(第二版)Chapter5课件_第4页
第4页 / 共47页
数据库原理与应用(第二版)Chapter5课件_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《数据库原理与应用(第二版)Chapter5课件》由会员分享,可在线阅读,更多相关《数据库原理与应用(第二版)Chapter5课件(47页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章数据库设计数据库设计5.1 数据库设计概述数据库设计概述 数据库设计主要考虑如下问题。数据库设计主要考虑如下问题。计算机软硬件环境计算机软硬件环境数据库管理系统的能力数据库管理系统的能力用户的操作要求与信息要求用户的操作要求与信息要求完整性和安全性约束完整性和安全性约束5.1.1 设计前的准备工作设计前的准备工作 数数据据库分分析析设计人人员是是数数据据库设计的的核核心心人人员,他他们将将自自始始至至终参参与与数数据据库设计,他他们的水平决定了数据的水平决定了数据库系系统的的质量。量。用用户在在数数据据库设计中中也也是是举足足轻重重的的,他他们主主要要参参加加需需求求分分析析和和数

2、数据据库的的运运行行维护,他他们的的积极极参参与与不不但但能能加加速速数数据据库设计,而而且且也也是是决决定定数数据据库设计的的质量量的的又又一一因因素。素。程程序序员和和操操作作员则在在系系统实施施阶段段参参与与进来,分来,分别负责编制程序和准制程序和准备软硬件硬件环境。境。5.1.2 5.1.2 设计方法的选择设计方法的选择1需求分析阶段需求分析阶段 2概念结构设计阶段概念结构设计阶段 3逻辑结构设计阶段逻辑结构设计阶段 4数据库物理设计阶段数据库物理设计阶段 5数据库实施阶段数据库实施阶段 6数据库运行和维护阶段数据库运行和维护阶段 数据库设计六个阶段数据库设计六个阶段: :需求分析需求

3、分析数据库运行和维护数据库运行和维护概念结构设计概念结构设计逻辑结构设计逻辑结构设计数据库物理设计数据库物理设计数据库实施数据库实施独立于数据独立于数据库管理系统库管理系统与数据库管理与数据库管理系统有关系统有关5.2 5.2 需求分析需求分析5.2.1 需求分析的任务需求分析的任务需求分析的重点是调查、收集与分析用户在数需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与据管理中的信息要求、处理要求、安全性与完整性要求。完整性要求。信息要求是指用户需要从数据库中获得信息的信息要求是指用户需要从数据库中获得信息的内容与性质。由用户的信息要求可以导出数内容与性质。由用户

4、的信息要求可以导出数据要求,即在数据库中需要存储哪些数据。据要求,即在数据库中需要存储哪些数据。处理要求是指用户要求完成什么处理功能,对处理要求是指用户要求完成什么处理功能,对处理的响应时间有什么要求。处理的响应时间有什么要求。 5.2.2 需求分析的方法需求分析的方法 调查与初步分析用户的需求通常需要四步:调查与初步分析用户的需求通常需要四步:调查组织机构情况;调查组织机构情况; 抽象出每个职能部门各种应用的功能和所需抽象出每个职能部门各种应用的功能和所需信息的定义,并确定职能部门内各应用之间信息的定义,并确定职能部门内各应用之间的信息依赖关系和信息流通路径;的信息依赖关系和信息流通路径;协

5、助用户明确对新系统的各种要求,包括信协助用户明确对新系统的各种要求,包括信息要求、处理要求、完全性与完整性要求;息要求、处理要求、完全性与完整性要求;对前面调查的结果进行初步分析,确定哪些对前面调查的结果进行初步分析,确定哪些功能由计算机完成或将来准备让计算机完成,功能由计算机完成或将来准备让计算机完成,哪些活动由人工完成。哪些活动由人工完成。常用的调查方法有以下几种常用的调查方法有以下几种:跟班作业跟班作业开调查会开调查会 请专人介绍请专人介绍询问询问设计调查表,请用户填写设计调查表,请用户填写查阅资料查阅资料 1. 需求分析及其表示方法需求分析及其表示方法 分析和表达用户需求的方法主要包括

6、自顶向下和分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。它们均属于结构化分析自底向上两类方法。它们均属于结构化分析(SA)方法。方法。 需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求需求(A A)自顶向下的需求分析方法自顶向下的需求分析方法 B B)自底向上的需求分析方法自底向上的需求分析方法2. 2. 数据流图(数据流图(Data Flow Diagram ,Data Flow Diagram ,简称简称DFD DFD ) 数据流图是对系统的的一种逻辑抽象,独立于数据流图是对系统的的一种逻辑抽象,独立于系统的实现。数

7、据流图表达了数据和处理过系统的实现。数据流图表达了数据和处理过程的关系。程的关系。数据流图的基本符号如下表所示:数据流图的基本符号如下表所示:符号符号含义含义数据源点或终点数据源点或终点 交换数据或处理交换数据或处理 数据存储数据存储 数据流数据流 或或或或或或以学校成绩管理需求为例,可画出如下数据流以学校成绩管理需求为例,可画出如下数据流图:图:学生学生选课单选课单允许考试允许考试课堂安排课堂安排教课书教课书教室安排教室安排教师档案教师档案课程介绍课程介绍考场安排考场安排试卷试卷成绩册成绩册教师教师选选课课上上课课考考试试3. 3. 数据字典(数据字典(Data DictionaryData

8、 Dictionary,简称简称DDDD)数据字典是各数据字典是各类数据描述的集合,数据描述的集合,通常包括数据项、通常包括数据项、数据结构,数据流和处理过程数据结构,数据流和处理过程4个部分。个部分。 (1) (1) 数据项数据项数据项是不可再分的数据单位。数据项是不可再分的数据单位。数数据据项项描描述述数数据据项项名名,数数据据项项含含义义说说明明,别别名名,数数据据类类型型,长长度度,取取值值范范围围,取取值值含含义义,与与其其他他数数据项的逻辑关系据项的逻辑关系 例例 5-1 5-1 在在学学生生管管理理信信息息系系统统中中,学学生生的的学学号号就就是是一一个个数数据据项项,它它可可以

9、以如如下下的的进进行行数数据据描描述:述: 数据项:学号数据项:学号含义说明:唯一能够标识学生的一个代号含义说明:唯一能够标识学生的一个代号别名:学生编号别名:学生编号类型:字符型类型:字符型长度:长度:8取值范畴:取值范畴:00000000-99999999取值含义:前取值含义:前4位代表年级,后位代表年级,后4位表示该学生的顺序位表示该学生的顺序号与其它数据项的逻辑关系号与其它数据项的逻辑关系(2) (2) 数据结构数据结构数据结构反映了数据之间的组合关系。一个数数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由据结构可以由若干个数据项组成,也可以由若干个数据结

10、构组成,或由若干个数据项和若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构混合组成。数数据据结结构构描描述述数数据据结结构构名名,含含义义说说明明,组组成成: 数据项或数据结构数据项或数据结构 例例5-2 5-2 对于于学学生生,因因为表表达达学学生生概概念念时,需需要要表达很多属性,所以学生就是一个数据表达很多属性,所以学生就是一个数据结构。构。数据结构:学生数据结构:学生含含义义说说明明:是是学学生生信信息息管管理理系系统统中中主主要要的的数数据据结结构构,定定义义了了有有关关学学生生档档案案的的信信息息,并并为为管理提供数据。管理提供数据。组成:学号、姓名、年龄、性别、政

11、治面貌组成:学号、姓名、年龄、性别、政治面貌等。等。(3) (3) 数据流数据流数数据据流流是是数数据据结结构构在在系系统统内内传传输输的的路路径径。对对数数据流的描述通常包括以下内容:据流的描述通常包括以下内容:数数据据流流描描述述数数据据流流名名,说说明明,数数据据流流来来源源,数据流去向,组成:数据流去向,组成: 数据结构数据结构(4) (4) 数据存储数据存储数数据据存存储储是是数数据据结结构构停停留留或或保保存存的的地地方方,是是数数据据流流的的来来源源和和去去向向之之一一。对对数数据据存存储储的的描描述述通常包括以下内容:通常包括以下内容:数数据据存存储储描描述述=数数据据存存储储

12、名名,说说明明,编编号号,流流入入的的数数据据流流,流流出出的的数数据据流流,组组成成: 数数据据结构结构 ,数据量,方式,数据量,方式 数据存储:学生登记表数据存储:学生登记表说明:记录学生的基本情况说明:记录学生的基本情况流入数据流:手工录入,流入数据流:手工录入,流出数据流:为成绩管理等提供数据,流出数据流:为成绩管理等提供数据,组成:组成:数据量:每年数据量:每年2000条条存取方式:随机存取存取方式:随机存取 例例5-35-3 数据存储数据存储“学生登记表学生登记表”可描述如下:可描述如下: (5) (5) 处理过程处理过程处理理过程程的的具具体体处理理逻辑一一般般用用判判定定表表或

13、或判判定定树来来描描述述。数数据据字字典典中中只只需需要要描描述述处理理过程程的的说明性信息,通常包括以下内容:明性信息,通常包括以下内容:处处理理过过程程描描述述处处理理过过程程名名,说说明明,输输入入: 数数据据流流 ,输输出出: 数数据据流流 ,处处理理: 简简要要说说明明处理过程:成绩管理处理过程:成绩管理说明:每学期进行学生成绩的管理工作说明:每学期进行学生成绩的管理工作输入:学生,课程名称,考试成绩输入:学生,课程名称,考试成绩输出:进行归档,并确定补考名单等。输出:进行归档,并确定补考名单等。处理:对学生的选课进行确定,并为其分配上课处理:对学生的选课进行确定,并为其分配上课的教

14、室及教师,在期末安排考试时间及地点,考的教室及教师,在期末安排考试时间及地点,考试结束后填写成绩单,并确定补考名单等,根据试结束后填写成绩单,并确定补考名单等,根据不及格的课程数确定降级、退学等。不及格的课程数确定降级、退学等。例例5-4 “成绩管理成绩管理”可简要描述如下:可简要描述如下: 5.3 概念结构设计概念结构设计 将需求分析得到的用户需求抽象为信息结构即将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念模型的过程就是概念结构设计。 在概念设计阶段一般都使用语义数据模型或概在概念设计阶段一般都使用语义数据模型或概念数据模型。这类数据模型具有如下特点。念数据模

15、型。这类数据模型具有如下特点。(1)具有很强的表达能力,能够方便地表达各)具有很强的表达能力,能够方便地表达各种类型的数据、数据间的联系和各种约束。种类型的数据、数据间的联系和各种约束。(2)简单易懂,概念清晰,容易使用。)简单易懂,概念清晰,容易使用。(3)组成模型的概念少,概念定义严格,无多)组成模型的概念少,概念定义严格,无多义性,不同概念的语义不重叠。义性,不同概念的语义不重叠。(4)具有使用图形表示概念模式的能力。)具有使用图形表示概念模式的能力。5.3.15.3.1实体实体- -联系模型联系模型1. 1. 实体和属性体和属性实体联系模型简称实体联系模型简称E-RE-R(Entry-

16、RelationEntry-Relation)模型。模型。实体是实体是E-RE-R模型的基本对象。实体是对现实世模型的基本对象。实体是对现实世界各种事物的抽象,即将其数字化或符号化。界各种事物的抽象,即将其数字化或符号化。 例例5-5 5-5 画出学生实体的实体描述图。画出学生实体的实体描述图。学号学号姓名姓名性别性别学生学生2. 2. 实体型、体型、键属性和属性的属性和属性的值域域 实实体体型型是是一一个个具具有有相相同同属属性性的的实实体体集集合合,由由一一个个实实体体型型的的名名字字和和一一组组属属性性来来定定义义。实实体体型型的的定定义义称称为为实实体体模模式式,描描述述了了一一组组实

17、实体体的的公公共共结结构构。实实体体型型表表示示的的实实体体集集合合中中的的任任一一实实体体称称为为该该实实体体型型的的实实例例,简简称称实实体体。在在任任意意时时刻刻,一一个个实实体体型型的的所所有有实实体体的的集集合合称称为为该该实实体体型型的的外外延延。同同一一个个实实体体型的不同实体是现实世界中不同的对象。型的不同实体是现实世界中不同的对象。在在E-RE-R模型中每个实体型一般具有一个或多个属性组模型中每个实体型一般具有一个或多个属性组成的键,用来区别不同的实体。对于同一实体型成的键,用来区别不同的实体。对于同一实体型的不同实体,键的值必须相异。的不同实体,键的值必须相异。 实体型的每

18、个简单属性都具有一个值域,说明这个属性实体型的每个简单属性都具有一个值域,说明这个属性的可能取值范围。的可能取值范围。3. 3. 数据数据库实例例4. 4. 实体体间的的联系系一一个个数数据据库库通通常常都都包包含含很很多多实实体体型型。不不同同实实体体型型的的实实体体之之间间可可能能具具有有某某种种联联系系。我我们们称称这这种联系为实体间的联系(种联系为实体间的联系(Entry RelationEntry Relation)。)。一一个个联联系系型型的的实实体体对对应应约约束束规规定定了了该该联联系系型型所所关关联联的的实实体体间间的的对对应应关关系系。实实体体对对应应约约束束包包括括三三种

19、种,分分别别为为一一对对一一约约束束(1:1)、一一对对多多约约束束(1:N)和多对多约束和多对多约束(M:N)。 5. 5. 实体体联系系图 5.3.2 概念结构设计的方法与步骤概念结构设计的方法与步骤 设计概念结构通常有三类方法:设计概念结构通常有三类方法: 自顶向下。即首先定义全局概念结构的框架,自顶向下。即首先定义全局概念结构的框架,然后逐步细化。然后逐步细化。 自自底底向向上上。即即首首先先定定义义各各局局部部应应用用的的概概念念结结构构,然然后后将将它它们们集集成成起起来来,得得到到全全局局概概念念结结构。构。 混混合合策策略略。即即将将自自项项向向下下和和自自底底向向上上相相结结

20、合合,用用自自项项向向下下策策略略设设计计一一个个全全局局概概念念结结构构的的框框架架,以以它它为为骨骨架架集集成成由由自自底底向向上上策策略略中中设设计计的各局部概念结构。的各局部概念结构。自底向上设计方法自底向上设计方法通常分为两步:数据抽象与通常分为两步:数据抽象与局部视图设计;局部视图的集成局部视图设计;局部视图的集成 。数据抽象与局部视图设计:数据抽象与局部视图设计:根据需求分析的根据需求分析的结果(数据流图、数据字典等)对现实世界结果(数据流图、数据字典等)对现实世界的数据进行抽象,设计各个局部视图即分的数据进行抽象,设计各个局部视图即分E-R图。图。 1.1.视图的集成的集成各个

21、局部视图建立好后,还需要对它们进行合各个局部视图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构,即总并,集成为一个整体的数据概念结构,即总E-R图。合理消除各分图。合理消除各分E-R图的冲突是合并图的冲突是合并分分E-R图的主要工作与关键所在。图的主要工作与关键所在。 各分各分E-R图之间的冲突主要有三类:图之间的冲突主要有三类:属性冲突属性冲突属性域冲突属性域冲突 属性取值单位冲突属性取值单位冲突命名冲突命名冲突同名异义同名异义 异名同义异名同义 结构冲突结构冲突同一对象在不同应用中具有不同的抽象同一对象在不同应用中具有不同的抽象 同一实体在不同局部视图中所包含的属性不完全同一

22、实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同相同,或者属性的排列次序不完全相同 实体之间的联系在不同局部视图中呈现不同的类实体之间的联系在不同局部视图中呈现不同的类型型 5.4 5.4 逻辑数据库设计逻辑数据库设计5.4.1 5.4.1 关系数据库的逻辑设计关系数据库的逻辑设计逻辑数据库设计的任务是把概念设计阶段产生逻辑数据库设计的任务是把概念设计阶段产生的概念数据库模式变换为逻辑数据库模式。的概念数据库模式变换为逻辑数据库模式。即把概念设计阶段设计好的基本即把概念设计阶段设计好的基本E-R图转换为图转换为选用的选用的DBMS产品所支持的数据模型相符合的产品所支持的

23、数据模型相符合的逻辑结构。逻辑结构。 1. 1. 逻辑设计过程概述逻辑设计过程概述逻辑数据库设计的步骤:逻辑数据库设计的步骤:(1 1)形成初始关系数据库模式;)形成初始关系数据库模式;(2 2)关系模式规范化;)关系模式规范化;(3 3)关系模式优化;)关系模式优化;(4 4)定义关系上的完整性和安全性约束;)定义关系上的完整性和安全性约束;(5 5)子模式定义;)子模式定义;(6 6)性能估计。)性能估计。是否需要修正是否需要修正进入物理设计阶段进入物理设计阶段处理要求处理要求关系模式规范化关系模式规范化模式评价模式评价ER模式模式DBMS特性特性从从ER模式导出初始数据库模式模式导出初始

24、数据库模式否否是是以以DBMS语法描述语法描述模式修正模式修正2. 2. 设计用用户子模式子模式 将概念模型转换为全局逻辑结构后,还应该根将概念模型转换为全局逻辑结构后,还应该根据局部应用需求,结合具体据局部应用需求,结合具体DBMS的特点,设的特点,设计用户的子模式。在定义用户子模式时计用户的子模式。在定义用户子模式时 应注应注意以下几点:意以下几点: (1 1)使使用用更更符符合合用用户户习习惯惯的的别别名名。例例如如可可以以在在设设计计用用户户视视图图时时重重新新定定义义某某些些属属性性名名,使使其其与用户习惯一致,方便使用。与用户习惯一致,方便使用。(2 2)可可以以对对不不同同的的级

25、级别别的的用用户户定定义义不不同同的的视视图图,这这样样可可以以防防止止用用户户非非法法访访问问本本来来不不允允许许他他们们查询的数据,以保证系统的安全性。查询的数据,以保证系统的安全性。(3 3)简化用户对系统的使用)简化用户对系统的使用3. 3. 存存储模式模式设计关系型关系型DBMSDBMS提供的有关存储模式定义的功能有:提供的有关存储模式定义的功能有:索引定义、聚集定义、数据段定义等。索引定义、聚集定义、数据段定义等。 4. 4. 系系统编码设计在系统设计工作过程中,对所有具有编码的数在系统设计工作过程中,对所有具有编码的数据项都应强制遵从编码规则据项都应强制遵从编码规则 。5. 5.

26、 应用用软件件设计(1)(1)设计功能模块结构设计功能模块结构(2)(2)存储过程和数据库触发器设计存储过程和数据库触发器设计(3)(3)补充数据字典补充数据字典(4)(4)菜单设计菜单设计(5)(5)设计用户界面设计用户界面(6)(6)生成交叉指引表生成交叉指引表5.4.2 E-R5.4.2 E-R图向关系模型的转换图向关系模型的转换将将E-R图转换为关系模型实际上就是要将实体、图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转换为关系模实体的属性和实体之间的联系转换为关系模式,这种转换遵循如下原则:式,这种转换遵循如下原则:(1) (1) 一个实体型转换为一个关系模式,实体的

27、一个实体型转换为一个关系模式,实体的属性就是关系模式的属性,实体的键即为关属性就是关系模式的属性,实体的键即为关系模式的键。系模式的键。(2) 对于实体间联系,就要视对于实体间联系,就要视1:1,1:N,M:N三种不同情况做不同的处理:三种不同情况做不同的处理:一个一个1 1:1 1联系可以转换为一个独立的关系模式,也联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。可以与任意一端对应的关系模式合并。 若实体间的联系是若实体间的联系是1 1:N N的,则可以与的,则可以与N N端对应的关端对应的关系模式合并,并在系模式合并,并在N N端实体型转换的关系模式中加端实体型转换的

28、关系模式中加入入1 1端实体型转换成的关系模式的键和联系的属性。端实体型转换成的关系模式的键和联系的属性。若将若将1 1:N N联系转换为一个独立的关系模式,则与该联系转换为一个独立的关系模式,则与该联系相连的各实体转换成的关系模式的键以及联系联系相连的各实体转换成的关系模式的键以及联系本身的属性均转换为关系的属性,而关系的键为本身的属性均转换为关系的属性,而关系的键为N N端实体对应的关系模式的键。端实体对应的关系模式的键。 若实体间的联系是若实体间的联系是M:N的,则将该联系转换为一的,则将该联系转换为一个独立的关系模式,其属性为两端实体类型的键加个独立的关系模式,其属性为两端实体类型的键

29、加上联系类型的属性,而关系的键为两端实体转换成上联系类型的属性,而关系的键为两端实体转换成的关系模式键的组合。的关系模式键的组合。 5.4.3 数据库设计中关系规范化的应用数据库设计中关系规范化的应用理理论论上上的的关关系系规规范范化化,在在实实际际应应用用中中并并不不完完全全采用,其主要原因在于:采用,其主要原因在于: (1)(1) 找找出出所所有有数数据据依依赖赖不不是是一一件件简简单单的的事事,如如果果漏漏掉掉或或错错误误地地确确定定了了一一些些数数据据依依赖赖关关系系,按按上上节节的的方方法法进进行行规范化,不能得到一个在理论上认为好的数据库设计。规范化,不能得到一个在理论上认为好的数

30、据库设计。(2) (2) 即即使使我我们们能能正正确确地地找找出出所所有有的的数数据据依依赖赖关关系系,采采用用机机械械地地分分解解模模式式的的方方法法,而而完完全全不不考考虑虑关关系系的的具具体体大大小小,以以及及数数据据的的更更新新状状况况,全全部部规规范范到到同同样样的的程程度度(比如(比如3NF3NF),),这也是不适当的。这也是不适当的。(3) (3) 数据库设计一般采用先得到数据库设计一般采用先得到E-RE-R模型,再由模型,再由E-RE-R图转图转换得到关系数据库模式的方法。从换得到关系数据库模式的方法。从E-RE-R图转换成的关图转换成的关系模式,较小(包含的属性较少),为了以

31、后数据库系模式,较小(包含的属性较少),为了以后数据库查询的方便、更多的情况是需要合并关系模式,而不查询的方便、更多的情况是需要合并关系模式,而不是分解关系模式。是分解关系模式。关系规范化的关系规范化的 实际意义在于,当设计实际意义在于,当设计E-R模型时,应仔模型时,应仔细分析数据间存在的数据依赖,这样能使我们最后从细分析数据间存在的数据依赖,这样能使我们最后从E-R图得到的关系数据库模式基本达到图得到的关系数据库模式基本达到3NF的规范程的规范程度。因此,要得到一个好的数据库设计,要根据具体度。因此,要得到一个好的数据库设计,要根据具体情况对关系模式进行处理,既可能要合并关系模式,情况对关

32、系模式进行处理,既可能要合并关系模式,也可能要分解关系模式。也可能要分解关系模式。 5.5 5.5 物理设计阶段物理设计阶段对于给定的基本数据模型选取一个最适合应用对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,称为物理设计。环境的物理结构的过程,称为物理设计。1. 1. 数据数据库物理物理设计的内容的内容 (1)存储记录结构设计。)存储记录结构设计。(2)确定数据存放位置。)确定数据存放位置。(3)存取方法的设计。)存取方法的设计。(4)完整性和安全性考虑。)完整性和安全性考虑。(5)程序设计。)程序设计。2. 2. 数据数据库的的实现 根据逻辑设计和物理设计的结果,在计算机系

33、根据逻辑设计和物理设计的结果,在计算机系统上建立起实际数据库结构、装入数据、测统上建立起实际数据库结构、装入数据、测试和试运行的过程称为数据库的实现阶段。试和试运行的过程称为数据库的实现阶段。主要有三个方面的工作:主要有三个方面的工作: (1)建立实际数据库结构。)建立实际数据库结构。(2)装入试验数据对应用程序进行调试。)装入试验数据对应用程序进行调试。(3)装装入入实实际际数数据据,进进入入试试运运行行状状态态。测测量量系系统的性能指标,是否符合设计目标。统的性能指标,是否符合设计目标。 3 3 数据数据库的运行和的运行和维护数数据据库库系系统统正正式式运运行行,标标志志着着数数据据库库设

34、设计计与与应应用用开开发发工工作作的的结结束束和和维维护护阶阶段段的的开开始始。运运行行维护阶段的主要任务有四项:维护阶段的主要任务有四项:(1)维护数据库的安全性与完整性。)维护数据库的安全性与完整性。(2)监测并改善数据库的运行性性能。)监测并改善数据库的运行性性能。(3)根根据据用用户户要要求求对对数数据据库库现现有有的的功功能能进进行行调调整和扩充。整和扩充。(4)及时发现并改正运行中的系统错误或不足。)及时发现并改正运行中的系统错误或不足。5.6 数据库设计实例数据库设计实例5.6.1 5.6.1 概念概念结构构设计 某公司的业务特点主要包括以下几个方面的内容:某公司的业务特点主要包

35、括以下几个方面的内容:(1) 公司下设几个部门,如技术部、财务部、工程部;公司下设几个部门,如技术部、财务部、工程部;(2)每每个个部部门门承承担担多多个个工工程程项项目目,每每个个工工程程项项目目属属于于一一个个部门;部门;(3) 每个部门有多个职工,每个职工只属于一个部门;每个部门有多个职工,每个职工只属于一个部门;(4) 一一名名职职工工可可能能参参与与多多个个工工程程项项目目,每每个个工工程程允允许许多多名名职工参与;职工参与;(5)每每个个部部门门有有一一个个经经理理,一一个个经经理理只只能能负负责责一一个个部部门门。同时需要注意的是,经理也是职工;同时需要注意的是,经理也是职工;(

36、6) 一名职工可能有多名亲属,也可能没有亲属;一名职工可能有多名亲属,也可能没有亲属;(7)一一名名职职工工可可能能有有多多种种技技能能,某某种种技技能能可可能能被被多多名名职职工工掌握掌握 。根据上述业务特点,可以定义五个实体:部门、根据上述业务特点,可以定义五个实体:部门、职工、亲属、工程、技能,它们的实体职工、亲属、工程、技能,它们的实体-属性属性图如下所示:图如下所示:部门部门编号编号经理经理电话电话部门部门名称名称部门部门技能技能编号编号技能技能名称名称技能技能职工职工编号编号性别性别姓名姓名职工职工亲属亲属姓名姓名工程工程编号编号经费经费预算预算部门部门编号编号工程工程名称名称工程

37、工程出生出生年月年月亲属亲属关系关系亲属亲属部门部门工程工程承承担担1 1n n部门部门职工职工聘聘用用1 1n n职工职工工程工程参参加加m mn n部门部门职工职工经经理理1 11 1职工职工亲属亲属有有1 1n n职工职工技能技能具具有有m mn n局部局部E-R图:图:亲属亲属有有职工职工具具有有参参加加技能技能部门部门聘聘用用承承担担工程工程经经理理1nn1m1nnmn11全局全局E-R图图5.6.2 逻辑结构设计逻辑结构设计 将将E-R图转换成如下关系模型:图转换成如下关系模型:名称名称属性属性主键主键外部键外部键部部门部部门编号、部号、部门名称、名称、电话、职工工编号号( (领导

38、) )部门编号部门编号职工编号职工编号工程工程工程工程编号、工程名称,部号、工程名称,部门编号,号,经费预算算工程编号工程编号部门编号部门编号职工工职工工编号、姓名、性号、姓名、性别、出生、出生年月、部年月、部门编号号职工编号职工编号部门编号部门编号技能技能技能技能编号、技能名称号、技能名称技能编号技能编号人才人才职工工编号、技能号、技能编号、从事年号、从事年限限职工编号、技能编职工编号、技能编号号职工编号、技职工编号、技能编号能编号亲属属职工工编号、号、亲属姓名、属姓名、亲属关属关系系职工编号、亲属姓职工编号、亲属姓名名职工编号职工编号分配分配工程工程编号、号、职工工编号、工号、工时工程编号

39、、职工编工程编号、职工编号号工程编号、职工程编号、职工编号工编号5.6.3 物理结构设计物理结构设计 根据逻辑结构设计结果,定义数据表创建语句。根据逻辑结构设计结果,定义数据表创建语句。 例如:例如:CREATE TABLE CREATE TABLE 部门部门( ( 部门编号部门编号 INT NOT NULL,INT NOT NULL, CONSTRAINT PK_ CONSTRAINT PK_部门部门 PRIMARY KEY (PRIMARY KEY (部门编号部门编号),), 部门名称部门名称 CHAR(32) NOT NULL,CHAR(32) NOT NULL, 电话电话 CHAR(1

40、6),CHAR(16), 职工编号职工编号 INT,INT, CONSTRAINT FK_ CONSTRAINT FK_部门部门 FOREIGN KEY(FOREIGN KEY(职工编号职工编号) REFERENCE ) REFERENCE 职工职工););CREATE TABLE CREATE TABLE 职工职工( ( 职工编号职工编号 INT NOT NULL,INT NOT NULL, CONSTRAINT PK_ CONSTRAINT PK_职工职工 PRIMARY KEY(PRIMARY KEY(职工编号职工编号),), 姓名姓名 CHAR(10) NOT NULL,CHAR(10

41、) NOT NULL, 性别性别 CHAR(1),CHAR(1), 出生年月出生年月 CHAR(8),CHAR(8), 部门编号部门编号 INT,INT, CONSTRAINT FK_ CONSTRAINT FK_职工职工FOREIGN KEY(FOREIGN KEY(部门编号部门编号) REFERENCE ) REFERENCE 部门部门););CREATE TABLE CREATE TABLE 人才人才( ( 职工编号职工编号 INT NOT NULL,INT NOT NULL, 技能编号技能编号 INT NOT NULL,INT NOT NULL, CONSTRAINT PK_ CONS

42、TRAINT PK_人才人才PRIMARY KEY(PRIMARY KEY(技能编号技能编号, , 职工编号职工编号),), CONSTRAINT FK_ CONSTRAINT FK_人才人才1 FOREIGN KEY(1 FOREIGN KEY(职工编号职工编号) REFERENCE ) REFERENCE 职工职工, , CONSTRAINT FK_ CONSTRAINT FK_人才人才2 FOREIGN KEY(2 FOREIGN KEY(技能编号技能编号) REFERENCE ) REFERENCE 技能技能, , 从事年限从事年限 INTINT););CREATE TABLE CRE

43、ATE TABLE 亲属亲属( ( 职工编号职工编号 INT NOT NULL, INT NOT NULL, 亲属姓名亲属姓名 CHAR(10) NOT NULL, CHAR(10) NOT NULL, 亲属关系亲属关系 CHAR(10),CHAR(10), CONSTRAINT PK_ CONSTRAINT PK_亲属亲属 RIMARY KEY(RIMARY KEY(亲属姓名亲属姓名, , 职工编号职工编号),), CONSTRAINT FK_ CONSTRAINT FK_人才人才1 FOREIGN KEY(1 FOREIGN KEY(职工编号职工编号) REFERENCE ) REFERENCE 职工职工););

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

最新文档


当前位置:首页 > 办公文档 > 教学/培训

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