第6章 数据库设计_第1页
第6章 数据库设计_第2页
第6章 数据库设计_第3页
第6章 数据库设计_第4页
第6章 数据库设计_第5页
已阅读5页,还剩106页未读 继续免费阅读

下载本文档

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

文档简介

1、2021-12-261第六章第六章 数据库设计数据库设计 主要内容v 概述概述 v需求分析需求分析 v概念结构设计概念结构设计 v逻辑结构设计逻辑结构设计 v物理结构设计物理结构设计 v数据库的实现数据库的实现 v数据库的运行与维护数据库的运行与维护 2021-12-262主要章节主要章节n6.1 概述概述 n6.2 需求分析需求分析n6.3 概念结构设计概念结构设计 n6.4 逻辑结构设计逻辑结构设计n6.5 物理结构设计物理结构设计 n6.6 数据库的实现数据库的实现 n6.7 数据库的运行与维护数据库的运行与维护 2021-12-263本章重要概念本章重要概念 (1)(1)数据库设计的两

2、种方法:生命周期法和快速原型法。数据库设计的两种方法:生命周期法和快速原型法。(2)(2)概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。概念设计的重要性、主要步骤。逻辑设计阶段的主要步骤。(3)ER(3)ER模型的基本元素,属性的分类,联系的元数、连通词、基数。模型的基本元素,属性的分类,联系的元数、连通词、基数。采用采用ERER方法的概念设计步骤。方法的概念设计步骤。(4)ER(4)ER模型到关系模型的转换规则。采用模型到关系模型的转换规则。采用ERER方法的逻辑设计步骤。方法的逻辑设计步骤。(5)ER(5)ER模型的扩充:弱实体,超类和子类。模型的扩充:弱实体,超类和子类。 2021

3、-12-2646.1 概述概述 主要内容主要内容n数据库设计目标和方法数据库设计目标和方法n数据库设计的基本步骤数据库设计的基本步骤 2021-12-265数据库设计目标和方法数据库设计目标和方法 (1)z数据库设计数据库设计数据库设计是指对于给定的软、硬件环境,针对现实问题,设计数据库设计是指对于给定的软、硬件环境,针对现实问题,设计一个较优的数据模型,建立相应的数据库结构和数据库应用系统。一个较优的数据模型,建立相应的数据库结构和数据库应用系统。z数据库设计目标数据库设计目标 最大限度地满足用户的应用功能需求。主要是指用户可以将最大限度地满足用户的应用功能需求。主要是指用户可以将当前与可预

4、知的将来应用所需要的数据及其联系,全部准确地存放在当前与可预知的将来应用所需要的数据及其联系,全部准确地存放在数据库中。数据库中。 获得良好的数据库性能。即要求数据库设计保持良好的数据获得良好的数据库性能。即要求数据库设计保持良好的数据特性以及对数据的高效率存取和资源的合理使用,并使建成的数据库特性以及对数据的高效率存取和资源的合理使用,并使建成的数据库具有良好的数据共享性、独立性、完整性及安全性等。具有良好的数据共享性、独立性、完整性及安全性等。 2021-12-266对关系数据库而言主要有:对关系数据库而言主要有:l数据要达到一定的规范化程度,避免数据重复存储和异常操作。数据要达到一定的规

5、范化程度,避免数据重复存储和异常操作。l保持实体之间连接的完整性,避免数据库的不一致性。保持实体之间连接的完整性,避免数据库的不一致性。l满足对事务响应时间的要求。满足对事务响应时间的要求。l尽可能减少数据的存储量和内外存间数据的传输量。尽可能减少数据的存储量和内外存间数据的传输量。l便于数据库的扩充和移植,使系统有更好的适应性。便于数据库的扩充和移植,使系统有更好的适应性。 对现实世界模拟的精确度要高。对现实世界模拟的精确度要高。 数据库设计应充分利用和发挥现有数据库设计应充分利用和发挥现有DBMS的功能和性能。的功能和性能。 符合软件工程设计要求,因为应用程序设计本身就是数据库设计符合软件

6、工程设计要求,因为应用程序设计本身就是数据库设计任务的一部分。任务的一部分。 数据库设计目标和方法数据库设计目标和方法 (2)2021-12-267z数据库设计方法数据库设计方法 生命周期法生命周期法生命周期(生命周期(Life cycle)法)法就是将整个数据库应用系统的开发过程分就是将整个数据库应用系统的开发过程分解成若干个阶段,并对每个阶段的目标、任务、方法作出规定,使整个解成若干个阶段,并对每个阶段的目标、任务、方法作出规定,使整个数据库应用系统的开发过程具有合理的组织和科学的秩序。数据库应用系统的开发过程具有合理的组织和科学的秩序。可以分成四个主要阶段:系统分析、系统设计、系统实施、

7、系统运可以分成四个主要阶段:系统分析、系统设计、系统实施、系统运行与维护。行与维护。 主要遵循以下四条原则:主要遵循以下四条原则: 用户参与的原则。用户参与的原则。 先逻辑、后物理的原则。先逻辑、后物理的原则。 自顶向下的原则。自顶向下的原则。 工作成果描述标准化原则。工作成果描述标准化原则。 数据库设计目标和方法数据库设计目标和方法 (3)2021-12-268需求分析系统设计 系统实施 运行维护 生生命命周周期期法法确定开发的总目标确定开发的总目标,计划计划开发的软件系统功能、开发的软件系统功能、性能、可靠性及接口等性能、可靠性及接口等方面的设想。并提供一方面的设想。并提供一个可做为设计基

8、础的系个可做为设计基础的系统规格说明书,包括对统规格说明书,包括对软、硬件环境的需求和软、硬件环境的需求和一整套完整的数据流图。一整套完整的数据流图。 把需求分析阶段所确定的把需求分析阶段所确定的功能细化。主要工作是设功能细化。主要工作是设计模块结构图和系统的数计模块结构图和系统的数据结构。据结构。 以某一个或几种特定的以某一个或几种特定的程序设计语言表达上一阶程序设计语言表达上一阶段确定的各模块控制流程。段确定的各模块控制流程。编制时应遵循结构化程序编制时应遵循结构化程序设计。并对已编制好的程设计。并对已编制好的程序进行单元调试(分调),序进行单元调试(分调),整体调试(联调)和系统整体调试

9、(联调)和系统测试(验收)。测试(验收)。 是整个生存期中时间最是整个生存期中时间最长的阶段,重点是将系长的阶段,重点是将系统付诸使用,同时解决统付诸使用,同时解决开发过程中遗留问题,开发过程中遗留问题,改正和改善性能改正和改善性能.数据库设计目标和方法数据库设计目标和方法 (4)2021-12-269 快速原型法快速原型法 快速原型(快速原型(Rapid Prototyping)法)法的基本思想是在初步了解用户的基本思想是在初步了解用户的基本要求后,开发人员先建立一个他们认为符合用户要求的模式系统的基本要求后,开发人员先建立一个他们认为符合用户要求的模式系统交付用户检验,由于模型是可以执行的

10、,所以为用户提供了获得感性认交付用户检验,由于模型是可以执行的,所以为用户提供了获得感性认识的机会。识的机会。优点:优点: n用户可以测试具体实例,直接观察一个实际系统用户可以测试具体实例,直接观察一个实际系统 。n有利于准确地定义出用户需求,降低系统开发风险。有利于准确地定义出用户需求,降低系统开发风险。n适用于中小规模系统的开发。适用于中小规模系统的开发。 缺点:缺点:具有为用户需求快速生成软件的工具和环境。具有为用户需求快速生成软件的工具和环境。 数据库设计目标和方法数据库设计目标和方法 (5)2021-12-2610 面向对象法面向对象法面向对象(面向对象(Object Oriente

11、d,简称,简称OO)法是针对面向过程提出的,)法是针对面向过程提出的,是区别于传统的结构化方法的一种新方法、新思路,是一种基于数据抽是区别于传统的结构化方法的一种新方法、新思路,是一种基于数据抽象的类的组合的自底向上的开发方法,由四个基本步骤组成:象的类的组合的自底向上的开发方法,由四个基本步骤组成: 标识对象和定义类;标识对象和定义类; 组织类间关系;组织类间关系; 在类层中构造框架;在类层中构造框架; 建立可复用的类库和系统总框架。建立可复用的类库和系统总框架。 数据库设计目标和方法数据库设计目标和方法 (6)2021-12-2611面向对象法主要有以下四个特征:面向对象法主要有以下四个特

12、征:(1) 对象是有关数据和操作的封装体,突破了传统的将数据与操作对象是有关数据和操作的封装体,突破了传统的将数据与操作分离的模式,较好地实现了数据抽象。分离的模式,较好地实现了数据抽象。(2) 面向对象法的继承性体现了概念分离抽象。在对象继承结构上,面向对象法的继承性体现了概念分离抽象。在对象继承结构上,下层对象继承上层对象的特征(属性和操作),因而便于软件系统的演下层对象继承上层对象的特征(属性和操作),因而便于软件系统的演化和功能扩充。化和功能扩充。(3) 面向对象法用消息将对象动态连接在一起。与结构化方法中的面向对象法用消息将对象动态连接在一起。与结构化方法中的模块调用不同,面向对象法

13、采用了灵活的消息传递方式,便于在概念上模块调用不同,面向对象法采用了灵活的消息传递方式,便于在概念上体现并行和分布式结构。体现并行和分布式结构。(4) 面向对象法具有封装性。对象将其实现细节封装在它的内部,面向对象法具有封装性。对象将其实现细节封装在它的内部,因此无论是对象功能的完善扩充还是对象实现的修改,影响仅限于该对因此无论是对象功能的完善扩充还是对象实现的修改,影响仅限于该对象内部而不会对外界产生影响,这就保证了软件系统的可复用性和可维象内部而不会对外界产生影响,这就保证了软件系统的可复用性和可维护性。护性。 数据库设计目标和方法数据库设计目标和方法 (7)2021-12-2612数据库

14、设计的基本步骤数据库设计的基本步骤运行和维护 实现 物理设计逻辑设计概念设计需求分析 对用户提出的各种要求加以分析,对用户提出的各种要求加以分析,对各种原始数据加以综合、整理,是对各种原始数据加以综合、整理,是形成最终设计目标的首要阶段,也是形成最终设计目标的首要阶段,也是整个数据库设计过程中最困难的阶段。整个数据库设计过程中最困难的阶段。 概念结构设计是对用户需求进概念结构设计是对用户需求进行进一步抽象、归纳,并形成独立行进一步抽象、归纳,并形成独立于于DBMSDBMS和有关软、硬件的概念数据和有关软、硬件的概念数据模型的设计过程,这是对现实世界模型的设计过程,这是对现实世界中具体数据的首次

15、抽象,实现了从中具体数据的首次抽象,实现了从现实世界到信息世界的转化过程。现实世界到信息世界的转化过程。 逻辑结构设计是将概念结构转逻辑结构设计是将概念结构转化为某个化为某个DBMSDBMS所支持的数据模型,所支持的数据模型,并进行优化的设计过程。由于逻辑并进行优化的设计过程。由于逻辑结构设计是一个基于具体结构设计是一个基于具体DBMSDBMS的实的实现过程,所以选择什么样的数据模现过程,所以选择什么样的数据模型尤为重要,其次是数据模型的优型尤为重要,其次是数据模型的优化。化。 物理结构设计是将逻辑结构设计物理结构设计是将逻辑结构设计阶段所产生的逻辑数据模型,转换为阶段所产生的逻辑数据模型,转

16、换为某一计算机系统所支持的数据库物理某一计算机系统所支持的数据库物理结构的实现过程。结构的实现过程。 数据库实施阶段,即数据库调数据库实施阶段,即数据库调试、试运行阶段。一旦数据库物理试、试运行阶段。一旦数据库物理结构形成,就可以用已选定的结构形成,就可以用已选定的DBMSDBMS来定义、描述相应的数据库结构,来定义、描述相应的数据库结构,装入相应的数据,以生成完整的数装入相应的数据,以生成完整的数据库。据库。 数据库实施阶段结束,标志着数数据库实施阶段结束,标志着数据库系统投入正常运行工作的开始。据库系统投入正常运行工作的开始。数据库运行及维护的过程,是一个调数据库运行及维护的过程,是一个调

17、整、修改和不断完善的运行过程。整、修改和不断完善的运行过程。 2021-12-26136.2 需求分析需求分析 主要内容主要内容n需求分析的任务需求分析的任务n需求分析的步骤需求分析的步骤 2021-12-2614需求分析的任务需求分析的任务 (一一)z需求分析阶段任务是需求分析阶段任务是对系统的整个应用情况作全面的、详细的调查,对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者数据的要求,确定用户的需求,并把这些要求

18、写成用户和数据库设计者都能够接受的文档。都能够接受的文档。z需求分析中调查分析的方法需求分析中调查分析的方法很多,通常的办法是对不同层次的企业很多,通常的办法是对不同层次的企业管理人员进行个人访问,内容包括业务处理和企业组织中的各种数据。管理人员进行个人访问,内容包括业务处理和企业组织中的各种数据。访问的结果应该包括数据的流程、过程之间的接口以及访问者和职员两访问的结果应该包括数据的流程、过程之间的接口以及访问者和职员两方面对流程和接口语义上的核对说明和结论。对于某些特殊的目标和数方面对流程和接口语义上的核对说明和结论。对于某些特殊的目标和数据库的要求,可以从企业组织中的最高层机构得到。据库的

19、要求,可以从企业组织中的最高层机构得到。z设计人员还应该了解系统将来要发生的变化设计人员还应该了解系统将来要发生的变化,收集未来应用所涉及,收集未来应用所涉及的数据,充分考虑到系统可能的扩充和变动,使系统设计更符合未来发的数据,充分考虑到系统可能的扩充和变动,使系统设计更符合未来发展的趋向,并且易于改动,以减少系统维护的代价。展的趋向,并且易于改动,以减少系统维护的代价。 2021-12-2615z 这一阶段的任务如图这一阶段的任务如图 需求分析的任务需求分析的任务 (二二)总体信息需求总体信息需求处理需求处理需求第第1步:需求分析步:需求分析z总体信息需求定义了未来系统用到的所有信息,描述了

20、数据之间本质总体信息需求定义了未来系统用到的所有信息,描述了数据之间本质上和概念上的联系,描述了实体、属性、组合及联系的性质。上和概念上的联系,描述了实体、属性、组合及联系的性质。 z这一阶段的结果是这一阶段的结果是“需求说明书需求说明书”,其主要内容是系统的数据流图和,其主要内容是系统的数据流图和数据字典。需求说明书应是一份既切合实际,又具有远见的文档,是一个数据字典。需求说明书应是一份既切合实际,又具有远见的文档,是一个描述新系统的轮廓图。描述新系统的轮廓图。 2021-12-2616需求分析的步骤需求分析的步骤 (一一) 分析用户活动,产生用户活动图。分析用户活动,产生用户活动图。这一步

21、主要了解用户当前的业务活动和职能,搞清其处理流程(即这一步主要了解用户当前的业务活动和职能,搞清其处理流程(即业务流程)。如果一个处理流程比较复杂,就要把这个处理流程分解成业务流程)。如果一个处理流程比较复杂,就要把这个处理流程分解成若干个子处理流程,使每个处理流程功能明确、界面清楚,分析之后画若干个子处理流程,使每个处理流程功能明确、界面清楚,分析之后画出用户活动图(即用户的业务流程图)。出用户活动图(即用户的业务流程图)。 确定系统范围,产生系统范围图。确定系统范围,产生系统范围图。这一步是确定系统的边界。在和用户经过充分讨论的基础上,确定这一步是确定系统的边界。在和用户经过充分讨论的基础

22、上,确定计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。由计算机系统完成,即确定人机界面。 分析用户活动所涉及的数据,产生数据流图。分析用户活动所涉及的数据,产生数据流图。深入分析用户的业务处理,以数据流图形式表示出数据的流向和对深入分析用户的业务处理,以数据流图形式表示出数据的流向和对数据所进行的加工。数据所进行的加工。 2021-12-2617数据流图(数据流图(Data Flow Diagram,简记为,简记为DFD)是从是从“数据数据”和和“对数据的加工对数据的加工”两方面表达

23、数据处理系统工作过程的一种图形表示法。两方面表达数据处理系统工作过程的一种图形表示法。特点:特点:具有直观、易于被用户和软件人员双方都能理解的一种表达具有直观、易于被用户和软件人员双方都能理解的一种表达系统功能的描述方式。系统功能的描述方式。 DFD有四个基本成分:有四个基本成分:数据流(用箭头表示),加工或处理(用圆数据流(用箭头表示),加工或处理(用圆圈表示),文件(用双线段表示)和外部实体(数据流的源点或终点,圈表示),文件(用双线段表示)和外部实体(数据流的源点或终点,用方框表示)。用方框表示)。 需求分析的步骤需求分析的步骤 (二二)教师教师原始输入原始输入输入输入处理处理成绩成绩登

24、录登录输出输出处理处理教务处教务处输入输入格式化格式化输出输出输出输出格式化格式化成绩文件成绩文件2021-12-2618DFD可作为自顶向下逐步细化时描述对象的工具。顶层的每一个圆可作为自顶向下逐步细化时描述对象的工具。顶层的每一个圆圈(加工处理)都可以进一步细化为第二层;第二层的每一个圆圈又可圈(加工处理)都可以进一步细化为第二层;第二层的每一个圆圈又可以进一步细化为第三层以进一步细化为第三层;直到最底层的每一个圆圈已表示一个最基;直到最底层的每一个圆圈已表示一个最基本的处理动作为止。本的处理动作为止。DFD可以形象地表示数据流与各业务活动的关系,它是需求分析的可以形象地表示数据流与各业务

25、活动的关系,它是需求分析的工具和分析结果的描述手段。工具和分析结果的描述手段。例例6.1 在选课业务的处理流程中,假设开发人员收集到以下数据:在选课业务的处理流程中,假设开发人员收集到以下数据:学生基本信息表、课程表、选课单、选课情况一览表、成绩单等。学生基本信息表、课程表、选课单、选课情况一览表、成绩单等。通过分析,确认学生基本信息表、课程表、选课单是输入选课系统通过分析,确认学生基本信息表、课程表、选课单是输入选课系统的原始数据,而选课情况一览表以及成绩单等是选课系统最终需要输出的原始数据,而选课情况一览表以及成绩单等是选课系统最终需要输出的数据,如下图所示。的数据,如下图所示。 需求分析

26、的步骤需求分析的步骤 (三三)2021-12-2619需求分析的步骤需求分析的步骤 (四四)系统原始数据输入系统原始数据输入学生学生选课系统选课系统学生基本信息学生基本信息学生选课信息学生选课信息课程成绩课程成绩课程信息课程信息个人成绩单个人成绩单选课情况一览表选课情况一览表 某课程成绩单某课程成绩单系统输出数据系统输出数据学生选课系统是如何对系统的原始数据进行处理最后得到系统的学生选课系统是如何对系统的原始数据进行处理最后得到系统的输出数据呢?下面图给出了学生选课系统的整个数据流图,它是前面输出数据呢?下面图给出了学生选课系统的整个数据流图,它是前面图的进一步分解和细化。数据流图是一种从数据

27、的角度描述数据作为图的进一步分解和细化。数据流图是一种从数据的角度描述数据作为输入进入系统,经受若干加工处理,或者合并,或者分解,或者存储,输入进入系统,经受若干加工处理,或者合并,或者分解,或者存储,最后输出的整个过程。最后输出的整个过程。 2021-12-2620需求分析的步骤需求分析的步骤 (五五)课程信息课程信息学生基本信息学生基本信息个人成绩单个人成绩单选课情况一览表选课情况一览表某课程成绩单某课程成绩单查询结果查询结果查询结果查询结果查询结果查询结果系统原始数据系统原始数据系统输出数据系统输出数据学生基本信息学生基本信息课程信息课程信息学生选课信息学生选课信息学生信学生信息录入息录

28、入选课信选课信息录入息录入成绩录入成绩录入查询个人查询个人所有课程所有课程成绩成绩课程信课程信息录入息录入查询课程查询课程的的选课情况选课情况查询某查询某门课程的门课程的所所有成绩有成绩学生选课系统的学生选课系统的0 0层数据流图层数据流图 2021-12-2621 分析系统数据,产生数据字典。分析系统数据,产生数据字典。 数据字典提供了对数据库数据描述的集中管理,它的功能是存储和数据字典提供了对数据库数据描述的集中管理,它的功能是存储和检索各种数据描述(称为元数据检索各种数据描述(称为元数据Metadata),如叙述性的数据定义等,),如叙述性的数据定义等,并且为并且为DBA提供有关的报告。

29、提供有关的报告。 数据字典中通常包括数据字典中通常包括 : 数据项数据项 数据项是数据的最小单位,对数据项的描述,通常包括数据项名、数据项是数据的最小单位,对数据项的描述,通常包括数据项名、含义、别名、类型、长度、取值范围以及与其他数据项的逻辑关系。含义、别名、类型、长度、取值范围以及与其他数据项的逻辑关系。 例例6.2 在上图中有一个数据在上图中有一个数据流查询个人所有课程成绩,每个流查询个人所有课程成绩,每个人的成绩单有一个数据项为学生人的成绩单有一个数据项为学生的学号的学号SNO。在数据字典中对此。在数据字典中对此数据项如下描述。数据项如下描述。数据项名:数据项名:SNOSNO说说 明:

30、标识每张成绩单明:标识每张成绩单类类 型:型:CHAR(9)CHAR(9)长长 度:度:9 9别别 名:学生学号名:学生学号取值范围:取值范围:000000000000000000999999999999999999需求分析的步骤需求分析的步骤 (六六)2021-12-2622 数据结构数据结构数据结构反映了数据之间的组合关系。数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合而成。组成,或由若干个数据项和数据结构混合而成。它包括数据结构名、含义及组成该数据结

31、构的数据项名或数据结构它包括数据结构名、含义及组成该数据结构的数据项名或数据结构名。名。 需求分析的步骤需求分析的步骤 (七七)2021-12-2623 数据流数据流数据流可以是数据项,也可以是数据结构,表示某一加工处理过程数据流可以是数据项,也可以是数据结构,表示某一加工处理过程的输入或输出数据。对数据流的描述应包括数据流名、说明、流出的加的输入或输出数据。对数据流的描述应包括数据流名、说明、流出的加工名、流入的加工名以及组成该数据流的数据结构或数据项。工名、流入的加工名以及组成该数据流的数据结构或数据项。例例6.3 在上图中成绩查询是一个数据流,在数据字典中可作如下描在上图中成绩查询是一个

32、数据流,在数据字典中可作如下描述。述。 需求分析的步骤需求分析的步骤 (八八)数据流名:个人成绩查询数据流名:个人成绩查询说说 明:学生可以根据所学专业、班级号、学生姓名、明:学生可以根据所学专业、班级号、学生姓名、 课程名称来查询个人成绩课程名称来查询个人成绩来来 源:学生选课信息源:学生选课信息去去 向:输出到个人成绩单向:输出到个人成绩单数据结构:个人成绩查询数据结构:个人成绩查询 所学专业所学专业 班级号班级号 学生姓名学生姓名 课程名称课程名称2021-12-2624 数据存储数据存储数据存储是处理过程中要存储的数据,它可以是手工凭证、手工文档或数据存储是处理过程中要存储的数据,它可

33、以是手工凭证、手工文档或计算机文档。对数据存储的描述应包括:数据存储名、说明、输入数据流、计算机文档。对数据存储的描述应包括:数据存储名、说明、输入数据流、输出数据流、数据量(每次存取多少数据)、存取频度(单位时间内存取输出数据流、数据量(每次存取多少数据)、存取频度(单位时间内存取次数)和存取方式(是批处理,还是联机处理;是检索,还是更新;是顺次数)和存取方式(是批处理,还是联机处理;是检索,还是更新;是顺序存取,还是随机存取)。序存取,还是随机存取)。 例例6.4 上图中课程是个数据存储,在数据字典中可对其作如下描述。上图中课程是个数据存储,在数据字典中可对其作如下描述。 需求分析的步骤需

34、求分析的步骤 (九九)数据存储名:课程说 明:对每门课程的名称、学分、先行课程号和摘要的描述输出数据流:课程介绍数 据 描 述:课程号、课程名、学分数、先行课程号、摘要数 量:每年328种 存 取 方 式:随机存取2021-12-2625 加工过程加工过程 对加工处理的描述包括加工过程名、说明、输入数据对加工处理的描述包括加工过程名、说明、输入数据流、输出数据流,并简要说明处理工作、频度要求、数据量及响应时间流、输出数据流,并简要说明处理工作、频度要求、数据量及响应时间等。等。 需求分析的步骤需求分析的步骤 (十十)处理过程:确定选课名单处理过程:确定选课名单说说 明:对选某门课程的每一个学生

35、,根据已选修课程确定其是否可明:对选某门课程的每一个学生,根据已选修课程确定其是否可 选该课程。再根据学生选课的人数选择适当的教室,制定选课单。选该课程。再根据学生选课的人数选择适当的教室,制定选课单。输输 入:学生选课、可选课程、已选课程入:学生选课、可选课程、已选课程输输 出:选课单程序提要:出:选课单程序提要: a a对所选课程在选课表中查找其是否已选此课程;对所选课程在选课表中查找其是否已选此课程; b b若未选过此课程,则在选课表中查找是否已选此课程的先行课程;若未选过此课程,则在选课表中查找是否已选此课程的先行课程; c c若若a a、b b都满足,则在选课表中增加一条选课记录;都

36、满足,则在选课表中增加一条选课记录; d d处理完全部学生的选课后,形成选课单。处理完全部学生的选课后,形成选课单。2021-12-26266.3概念结构设计概念结构设计 主要内容主要内容n概念结构设计任务和概念结构设计任务和ER模型的特点模型的特点n概念结构设计的基本方法概念结构设计的基本方法n概念结构设计的主要步骤概念结构设计的主要步骤n局部局部ER模型的设计模型的设计n全局全局ER模型的设计模型的设计n概念结构设计实例概念结构设计实例2021-12-2627概念结构设计任务和概念结构设计任务和ER模型的特点模型的特点 数据库的概念结构设计是整个数据库设计的关键阶段,其主要任务数据库的概念

37、结构设计是整个数据库设计的关键阶段,其主要任务是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模式。的概念模式。 实体实体-联系(联系(Entity Rela-tionship,ER)模型具有以下特点:)模型具有以下特点: 能真实、充分地反映现实世界,包括事物和事物之间的联系,并能真实、充分地反映现实世界,包括事物和事物之间的联系,并能满足用户对数据的处理要求;能满足用户对数据的处理要求; 易于理解。可以利用它在设计人员、编程人员以及最终用户之间易于理解。可以利用它在设计人员、编程人员以及最终用户之间进行交流,使得用

38、户能够积极参与,保证数据库设计的成功;进行交流,使得用户能够积极参与,保证数据库设计的成功; 易于更改。当应用环境和应用要求发生改变时,容易对模式进行易于更改。当应用环境和应用要求发生改变时,容易对模式进行修改和扩充;修改和扩充; 易于向关系、网状、层次等各种数据模型转换。易于向关系、网状、层次等各种数据模型转换。 2021-12-2628 自底向上的设计方法自底向上的设计方法:有时也称为属性综合法。这种方法的基本点是将前面需求分析中收有时也称为属性综合法。这种方法的基本点是将前面需求分析中收集到的数据元素作为基本输入,通过对这些元素的分析,把它们综合成集到的数据元素作为基本输入,通过对这些元

39、素的分析,把它们综合成相应的实体或联系。相应的实体或联系。 自底向上的设计方法适合于较小单位的较为简单的设计对象,而对自底向上的设计方法适合于较小单位的较为简单的设计对象,而对于中等规模以上的设计对象,数据元素常常多到几百甚至几千个。此时于中等规模以上的设计对象,数据元素常常多到几百甚至几千个。此时要对这么多的数据元素进行分析,再综合成相应的实体或联系是一件非要对这么多的数据元素进行分析,再综合成相应的实体或联系是一件非常困难的事情。常困难的事情。 自顶向下的设计方法:自顶向下的设计方法:它是从分析组织的事务活动开始,首先识别用户所关心的实体及实它是从分析组织的事务活动开始,首先识别用户所关心

40、的实体及实体间的联系,建立一个初步的数据模型框架,然后再以逐步求精的方式体间的联系,建立一个初步的数据模型框架,然后再以逐步求精的方式加上必需的描述属性形成一个完整的局部加上必需的描述属性形成一个完整的局部ER模型,最后再将这些局部模型,最后再将这些局部ER模型集成为一个统一的全局模型集成为一个统一的全局ER模型。模型。 概念结构设计的基本方法概念结构设计的基本方法 2021-12-2629概念结构设计的主要步骤概念结构设计的主要步骤 进行数据抽象,设计局部概念模式进行数据抽象,设计局部概念模式 局部用户的信息需求是构造全局概念模式的基础。在建立局部概念局部用户的信息需求是构造全局概念模式的基

41、础。在建立局部概念结构时,常常要对需求分析的结果进行细化、补充和修改,如有的数据结构时,常常要对需求分析的结果进行细化、补充和修改,如有的数据项要分为若干子项,有的数据定义要重新核实等。项要分为若干子项,有的数据定义要重新核实等。 将局部概念模式综合成全局概念模式将局部概念模式综合成全局概念模式 综合各局部概念结构就可得到反映所有用户需求的全局概念结构。综合各局部概念结构就可得到反映所有用户需求的全局概念结构。在综合过程中,主要处理各局部模式对各种对象定义的不一致问题,包在综合过程中,主要处理各局部模式对各种对象定义的不一致问题,包括同名异义、异名同义和同一事物在不同模式中被抽象为不同类型的对

42、括同名异义、异名同义和同一事物在不同模式中被抽象为不同类型的对象(例如,有的作为实体,有的又作为属性)等问题。把各个局部结构象(例如,有的作为实体,有的又作为属性)等问题。把各个局部结构合并,还会产生冗余问题,或导致对信息需求的再调整与分析,以确定合并,还会产生冗余问题,或导致对信息需求的再调整与分析,以确定确切的含义。确切的含义。 评审评审 消除了所有冲突后,就可把全局结构提交评审。评审分为用户评审消除了所有冲突后,就可把全局结构提交评审。评审分为用户评审与与DBA及应用开发人员评审两部分。及应用开发人员评审两部分。 2021-12-2630局部局部ER模型的设计模型的设计 (1)1. 确定

43、局部结构范围确定局部结构范围设计局部设计局部ER模型时,首先需要根据系统的具体情况,在多层的数据模型时,首先需要根据系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局流图中选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计局部部应用,然后以这一层次的数据流图为出发点,设计局部ER图。图。 在确定局部在确定局部ER模型的设计范围时,有两条原则可供参考:模型的设计范围时,有两条原则可供参考: 把那些关系最密切的若干功能所涉及到的数据尽可能地包含在一把那些关系最密切的若干功能所涉及到的数据尽可能地包含在一个局

44、部个局部ER模型内;模型内; 一个局部一个局部ER模型中所包含的实体数不能太多,以免过于复杂,模型中所包含的实体数不能太多,以免过于复杂,不便理解和管理。不便理解和管理。 2021-12-2631局部局部ER模型设模型设计的流程图如下:计的流程图如下:局部局部ER模型的设计模型的设计 (2)需求分析结果需求分析结果确定局部确定局部ER模型范围模型范围实体定义实体定义联系定义联系定义属性分配属性分配还有局部还有局部结构待分析结构待分析无无 进入全局进入全局ER模型设计模型设计有2021-12-2632需求分析结果确定局部结构范围实体定义联系定义属性分配还有局部结构待分析有无进入全局ER模式设计局

45、部ER模式设计流程图范围的划分要自然,易于管理;范围的大小要适度。太小了,会造成局部结构过多,设计过程繁琐,综合困难;太大了,则容易造成内部结构复杂,不便分析 范围之间的界面要清晰,相互影响要小采用人们习惯的划分;避免冗余,在一个局部结构中,对一个对象只取一种抽象形式,不要重复;依据用户的信息处理需求 确定属性的原则: 属性应该是不可再分解的语义单位;实体与属性之间的关系只能是1:N的;不同实体类型的属性之间应无直接关联关系。 属性分配的原则: 当多个实体类型用到同一属性时, 一般把属性分配给那些使用频率最高的实体类型,或分配给实体值少的实体类型。 有些属性不宜归属于任一实体类型,只说明实体之

46、间联系的特性 局部局部ER模型的设计模型的设计 (3)2021-12-2633下面以学校的教务管理信息系统为例来说明局部概念结构设计范围下面以学校的教务管理信息系统为例来说明局部概念结构设计范围的确定。教务管理信息系统的顶层数据流图如下图所示。的确定。教务管理信息系统的顶层数据流图如下图所示。 教务管理教务管理信息系统信息系统学生学籍数据学生学籍数据课程数据课程数据选课数据选课数据成绩数据成绩数据学籍变动表学籍变动表课程表课程表选课一览表选课一览表成绩单成绩单局部局部ER模型的设计模型的设计 (4)下面图给出了教务管理信息系统的下面图给出了教务管理信息系统的0层数据流图,该图描述了教务层数据流

47、图,该图描述了教务管理信息系统的组成部分以及各部分的输入和输出数据。管理信息系统的组成部分以及各部分的输入和输出数据。 2021-12-2634局部局部ER模型的设计模型的设计 (5)课程管理课程管理22成绩管理成绩管理44学生基本信息学生基本信息课程表课程表课程数据课程数据成绩单成绩单成成绩绩数数据据选课一览表选课一览表选课管理选课管理3学生基本信息学生基本信息课程信息课程信息选课信息选课信息学籍变动表学籍变动表学生学籍数据学生学籍数据学生学籍学生学籍管理管理1选选课课数数据据2021-12-26352. 确定实体及实体的主键确定实体及实体的主键 确定实体确定实体 实体(实体(Entity)

48、是一个数据对象,指应用中可以区别的客观存在的是一个数据对象,指应用中可以区别的客观存在的事物,如人、部门、表格、物体、项目等。同一类实体构成事物,如人、部门、表格、物体、项目等。同一类实体构成实体集实体集(Entity Set)。ER模型中的实体往往是指实体集。模型中的实体往往是指实体集。学生选课子系统局部应用中,学生是一个实体,学生张平、李玲是学生选课子系统局部应用中,学生是一个实体,学生张平、李玲是学生实体中的两个实例。课程是一个实体,操作系统、数据库原理及应学生实体中的两个实例。课程是一个实体,操作系统、数据库原理及应用是课程实体中的两个实例。用是课程实体中的两个实例。课程管理子系统的局

49、部应用中,课程是一个实体,每门课程是课程课程管理子系统的局部应用中,课程是一个实体,每门课程是课程实体中的一个实例。上课的教师是一个实体,每位上课的教师都是教师实体中的一个实例。上课的教师是一个实体,每位上课的教师都是教师实体中的一个实例。实体中的一个实例。成绩管理子系统的局部应用中,学生是一个实体。一个学生,选修成绩管理子系统的局部应用中,学生是一个实体。一个学生,选修一门课程并参加了考试,就会有这门课程的成绩。因此,可以把成绩视一门课程并参加了考试,就会有这门课程的成绩。因此,可以把成绩视为选课联系的一个属性。为选课联系的一个属性。 局部局部ER模型的设计模型的设计 (6)2021-12-

50、2636 确定实体的主键确定实体的主键 主键是确定实体的唯一标志。主键是确定实体的唯一标志。学生实体的主键是学号;课程实体的主键是课程号;学生实体的主键是学号;课程实体的主键是课程号;学籍变动实体的主键是学号学籍变动实体的主键是学号+变动日期;变动日期;教师实体的主键是教师号;教师实体的主键是教师号;成绩实体的主键是学号成绩实体的主键是学号+课程号。课程号。 区分实体与属性的一般原则:区分实体与属性的一般原则: u实体一般需要描述信息,而属性不需要。例如,学生需要描述实体一般需要描述信息,而属性不需要。例如,学生需要描述属性(学号、姓名、性别、出生年月等),所以学生是实体。而属性(学号、姓名、

51、性别、出生年月等),所以学生是实体。而性别不需要描述属性,所以性别是属性。性别不需要描述属性,所以性别是属性。u多值的属性可考虑作为实体。例如,教师的职务是一个多值的多值的属性可考虑作为实体。例如,教师的职务是一个多值的属性,即一个教师可能担任多个职务。此时职务可考虑作为一个属性,即一个教师可能担任多个职务。此时职务可考虑作为一个独立的实体,否则数据库表中就会出现大量空值。独立的实体,否则数据库表中就会出现大量空值。 局部局部ER模型的设计模型的设计 (7)2021-12-2637 实体与属性是相对而言的。实体与属性是相对而言的。同一事物,在一种应用环境中作为同一事物,在一种应用环境中作为“属

52、性属性”,在另一种应用环境中,在另一种应用环境中就必须作为就必须作为“实体实体”。例如,学校中的系,在某种应用环境中,它只是作为例如,学校中的系,在某种应用环境中,它只是作为“学生学生”实体实体的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需要的一个属性,表明一个学生属于哪个系;而在另一种环境中,由于需要考虑一个系的系主任、教师人数、学生人数、办公地点等,这时系就需考虑一个系的系主任、教师人数、学生人数、办公地点等,这时系就需要作为实体了。要作为实体了。 3. 定义实体间的联系定义实体间的联系 联系是实体集之间关系的抽象表示,即对现实世界中事物之间关系联系是实体集之间关系的抽象表示

53、,即对现实世界中事物之间关系的描述。的描述。如教师实体集与学生实体集间的如教师实体集与学生实体集间的“讲授讲授”联系,公司实体集与职工联系,公司实体集与职工实体集之间的实体集之间的“聘任聘任”联系等。联系等。 在局部在局部ER图设计时,需要对已识别出的实体确定不同实体间的联系图设计时,需要对已识别出的实体确定不同实体间的联系是属于什么类型的联系,是二元联系还是多元联系?是属于什么类型的联系,是二元联系还是多元联系? 局部局部ER模型的设计模型的设计 (8)2021-12-2638 一对一(一对一(1:1)联系)联系若两个实体集中的每一个实体至多和另一个实体集中的一个实体有若两个实体集中的每一个

54、实体至多和另一个实体集中的一个实体有联系,则称两个实体集具有联系,则称两个实体集具有1:1的联系。的联系。 一对多(一对多(1:N)联系)联系设有两个实体集,若第一个实体集中每个实体与第二个实体集中多设有两个实体集,若第一个实体集中每个实体与第二个实体集中多(大于(大于1)个实体相联系,而第二个实体中的每个实体至多和第一个实体)个实体相联系,而第二个实体中的每个实体至多和第一个实体集中的一个实体有联系,则称第一个实体集与第二个实体集是一对多的集中的一个实体有联系,则称第一个实体集与第二个实体集是一对多的联系,记为联系,记为1:N。 多对多(多对多(M:N)联系)联系若两个实体集中的每一个实体都

55、和另一个实体集中多(大于若两个实体集中的每一个实体都和另一个实体集中多(大于1)个)个实体有联系,则称这两个实体集是多对多的联系,记为实体有联系,则称这两个实体集是多对多的联系,记为M:N。 局部局部ER模型的设计模型的设计 (9)2021-12-2639定义实体联系时应注意几点定义实体联系时应注意几点 : 消除冗余联系。在确定联系类型时,应注意防止出现冗余联系消除冗余联系。在确定联系类型时,应注意防止出现冗余联系(即可以从其他联系导出的联系)。(即可以从其他联系导出的联系)。 假定每一个技术员必须参加一个工程;每个工程有多个技术员参加;假定每一个技术员必须参加一个工程;每个工程有多个技术员参

56、加;每个工程必须使用一种技术。由于联系具有传递性,因此,隐含了每一每个工程必须使用一种技术。由于联系具有传递性,因此,隐含了每一个技术员必须掌握一种技术。该问题设计到三个实体,即技术员、工程个技术员必须掌握一种技术。该问题设计到三个实体,即技术员、工程以及技术。以及技术。 局部局部ER模型的设计模型的设计 (10)技术员技术员技术技术参与参与1掌握掌握工程工程使用使用N111N冗余联系冗余联系2021-12-2640 正确鉴别二元及多元联系。正确鉴别二元及多元联系。在局部在局部ER图设计中,不同实体间应建立二元还是多元联系,应该根图设计中,不同实体间应建立二元还是多元联系,应该根据问题说明来确

57、定。据问题说明来确定。问题问题1:任何一个供应商可向任何一个顾客供应任何一种零件。任何一个供应商可向任何一个顾客供应任何一种零件。 在这个问题中,给定一个供应商,不能够确定该供应商向哪个顾客在这个问题中,给定一个供应商,不能够确定该供应商向哪个顾客供应了哪种零件。给定一个顾客,也不能够确定该顾客是向哪个供应商供应了哪种零件。给定一个顾客,也不能够确定该顾客是向哪个供应商购买了哪种零件。同样,给定一个零件,也不能确定哪个顾客在哪个供购买了哪种零件。同样,给定一个零件,也不能确定哪个顾客在哪个供应商处购买的。如果想知道哪一个供应商向哪一个顾客提供了哪一种零应商处购买的。如果想知道哪一个供应商向哪一

58、个顾客提供了哪一种零件,则必须构建一个三元联系,且供应商、顾客以及零件三个实体之间件,则必须构建一个三元联系,且供应商、顾客以及零件三个实体之间的联系是多对多的。的联系是多对多的。 局部局部ER模型的设计模型的设计 (11)供应商供应商零件零件供供-顾顾-零零顾客顾客NPM2021-12-2641问题问题2:任何一个供应商可向任何一个顾客供应零件,但每个顾客订:任何一个供应商可向任何一个顾客供应零件,但每个顾客订购的零件是一定的。购的零件是一定的。 在这个问题中,同样地,给定一个供应商,却不能确定向哪个顾客在这个问题中,同样地,给定一个供应商,却不能确定向哪个顾客供应零件;给定一个顾客,也不能

59、确定向哪个供应商购买零件。但是,供应零件;给定一个顾客,也不能确定向哪个供应商购买零件。但是,顾客确定了,该顾客所购买的零件就可以确定。顾客确定了,该顾客所购买的零件就可以确定。 因此,供应商和顾客之间是二元的多对多联系;而零件和顾客之间因此,供应商和顾客之间是二元的多对多联系;而零件和顾客之间是二元的一对多联系。是二元的一对多联系。局部局部ER模型的设计模型的设计 (12)供应商供应商顾客顾客供应供应MN零件零件购买购买M1只有供应商和顾客确定了,才能确定一个供应联系值;而顾客确定只有供应商和顾客确定了,才能确定一个供应联系值;而顾客确定了,可以有一个唯一的零件值。了,可以有一个唯一的零件值

60、。 2021-12-2642 问题问题3:任何一个供应商可向任何一个顾客提供零件,但某个供应:任何一个供应商可向任何一个顾客提供零件,但某个供应商对某个顾客供应的零件是确定的。商对某个顾客供应的零件是确定的。 这个问题表示,当供应商和顾客确定了,供应商供应给顾客的零件这个问题表示,当供应商和顾客确定了,供应商供应给顾客的零件也就确定了。对此只需定义一个二元联系,而零件则可作为供应联系的也就确定了。对此只需定义一个二元联系,而零件则可作为供应联系的一个属性一个属性 。局部局部ER模型的设计模型的设计 (13)M供应商供应商顾客顾客供应供应N由以上讨论可知,对于多个实体,是否应该定义成一个多元联系

温馨提示

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

评论

0/150

提交评论