数据库应用系统设计

上传人:pu****.1 文档编号:592571337 上传时间:2024-09-21 格式:PPT 页数:157 大小:715KB
返回 下载 相关 举报
数据库应用系统设计_第1页
第1页 / 共157页
数据库应用系统设计_第2页
第2页 / 共157页
数据库应用系统设计_第3页
第3页 / 共157页
数据库应用系统设计_第4页
第4页 / 共157页
数据库应用系统设计_第5页
第5页 / 共157页
点击查看更多>>
资源描述

《数据库应用系统设计》由会员分享,可在线阅读,更多相关《数据库应用系统设计(157页珍藏版)》请在金锄头文库上搜索。

1、数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用第第6章章 数据库应用系统设计数据库应用系统设计 主讲人主讲人: 李俊山李俊山 数据库应用系统数据库应用系统是指在某种商用数据库软是指在某种商用数据库软件的件的 DBMS DBMS 和开发工具支持下,开发的用于完成和开发工具支持下,开发的用于完成某一特定应用领域或部门的信息管理功能的信息某一特定应用领域或部门的信息管理功能的信息管理系统。管理系统。 比如:比如:比如:比如:教学信息管理系统,旅馆信息管理系教学信息管理系统,旅馆信息管理系统等。统等。 数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.1 数据库应用

2、系统设计概述数据库应用系统设计概述一、数据库应用系统的视图级别一、数据库应用系统的视图级别 在数据库应用系统的开发、使用和管理中,涉在数据库应用系统的开发、使用和管理中,涉在数据库应用系统的开发、使用和管理中,涉在数据库应用系统的开发、使用和管理中,涉及到的人员主要有:及到的人员主要有:及到的人员主要有:及到的人员主要有: (1 1 1 1)数据库应用系统用户)数据库应用系统用户)数据库应用系统用户)数据库应用系统用户( ( ( (一般简称用户一般简称用户一般简称用户一般简称用户) ) ) ) (2 2 2 2)应用程序员)应用程序员)应用程序员)应用程序员 (3 3 3 3)系统分析员)系统

3、分析员)系统分析员)系统分析员 (4 4 4 4)数据库管理员)数据库管理员)数据库管理员)数据库管理员( ( ( (Data Base AdministratorData Base AdministratorData Base AdministratorData Base Administrator,DBADBADBADBA) ) ) ) 不同的人员所看到的数据库是有区别的,所不同的人员所看到的数据库是有区别的,所以数据库应用系统具有不同的视图级别。以数据库应用系统具有不同的视图级别。一、数据库应用系统的视图级别一、数据库应用系统的视图级别用户终端用户终端外模式外模式概念模式概念模式应用程序

4、员应用程序员内模式内模式数据库数据库应用数据应用数据库系统库系统DBMSOS用户用户系统分析员系统分析员DBA二、数据库应用系统的设计方法二、数据库应用系统的设计方法 数据库应用系统设计问题的特点:数据库应用系统设计问题的特点:数据库应用系统设计问题的特点:数据库应用系统设计问题的特点: (1 1)一个数据库应用系统首先是一个应用软)一个数据库应用系统首先是一个应用软)一个数据库应用系统首先是一个应用软)一个数据库应用系统首先是一个应用软件系统,所以其设计过程总体上应遵循件系统,所以其设计过程总体上应遵循件系统,所以其设计过程总体上应遵循件系统,所以其设计过程总体上应遵循问题定义、问题定义、问

5、题定义、问题定义、可行性研究、需求分析、总体设计、详细设计、可行性研究、需求分析、总体设计、详细设计、可行性研究、需求分析、总体设计、详细设计、可行性研究、需求分析、总体设计、详细设计、编码与单元测试、综合测试、软件维护编码与单元测试、综合测试、软件维护编码与单元测试、综合测试、软件维护编码与单元测试、综合测试、软件维护的软件生的软件生的软件生的软件生命周期的阶段划分原则。命周期的阶段划分原则。命周期的阶段划分原则。命周期的阶段划分原则。 二、数据库应用系统的设计方法二、数据库应用系统的设计方法 数据库应用系统设计问题的特点:数据库应用系统设计问题的特点:数据库应用系统设计问题的特点:数据库应

6、用系统设计问题的特点: (2 2)数据库应用系统的设计涉及到数据库的)数据库应用系统的设计涉及到数据库的)数据库应用系统的设计涉及到数据库的)数据库应用系统的设计涉及到数据库的逻辑组织、物理组织、查询策略与控制机制逻辑组织、物理组织、查询策略与控制机制逻辑组织、物理组织、查询策略与控制机制逻辑组织、物理组织、查询策略与控制机制等专等专等专等专门知识。所以也需要一定的数据库设计知识和设门知识。所以也需要一定的数据库设计知识和设门知识。所以也需要一定的数据库设计知识和设门知识。所以也需要一定的数据库设计知识和设计经验。计经验。计经验。计经验。 (3 3)数据库应用系统的设计,还要求设计人)数据库应

7、用系统的设计,还要求设计人)数据库应用系统的设计,还要求设计人)数据库应用系统的设计,还要求设计人员应具有一定的员应具有一定的员应具有一定的员应具有一定的关于该组织的业务知识或实践经关于该组织的业务知识或实践经关于该组织的业务知识或实践经关于该组织的业务知识或实践经验验验验。二、数据库应用系统的设计方法二、数据库应用系统的设计方法 所以数据库应用系统的设计是一个极具挑所以数据库应用系统的设计是一个极具挑战性的课题。战性的课题。 本教材依照数据库应用系统设计的三个特点,本教材依照数据库应用系统设计的三个特点,将软件工程与数据库技术相结合,提出了基于数将软件工程与数据库技术相结合,提出了基于数据库

8、生命周期的数据库应用系统设计方法。据库生命周期的数据库应用系统设计方法。 是指是指:把数据库应用系统把数据库应用系统把数据库应用系统把数据库应用系统从开始规划,到被新的系统取从开始规划,到被新的系统取从开始规划,到被新的系统取从开始规划,到被新的系统取代而停止使用的整个时期。代而停止使用的整个时期。代而停止使用的整个时期。代而停止使用的整个时期。二、数据库应用系统的设计方法二、数据库应用系统的设计方法数据库生命周期数据库生命周期 De 四个时期、八个阶段:四个时期、八个阶段:四个时期、八个阶段:四个时期、八个阶段:数据库设计规划数据库设计规划数据库设计规划数据库设计规划用户需求分析用户需求分析

9、用户需求分析用户需求分析概念结构设计概念结构设计概念结构设计概念结构设计逻辑结构设计逻辑结构设计逻辑结构设计逻辑结构设计物理结构设计物理结构设计物理结构设计物理结构设计数据库物理存储模式创建数据库物理存储模式创建数据库物理存储模式创建数据库物理存储模式创建数据库应用行为设计数据库应用行为设计数据库应用行为设计数据库应用行为设计数据库运行与系统维护数据库运行与系统维护数据库运行与系统维护数据库运行与系统维护DBDBDBDB设计时期设计时期设计时期设计时期DBDBDBDB实现时期实现时期实现时期实现时期DBDBDBDB规划时期规划时期规划时期规划时期DBDBDBDB维护时期维护时期维护时期维护时期

10、#数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.2 数据库设计规划数据库设计规划 1、主要工作、主要工作 进行建立数据库应用系统的必要性及可行性进行建立数据库应用系统的必要性及可行性分析,给出是否值得开发该系统的结论。分析,给出是否值得开发该系统的结论。数据库设计规划数据库设计规划 2、主要任务、主要任务 确定数据库应用系统的基本功能和应用范确定数据库应用系统的基本功能和应用范围;围; 确定开发工作所需的资源,确定开发工作所需的资源,如:如:如:如:开发系统开发系统开发系统开发系统所需的人力和物力资源所需的人力和物力资源所需的人力和物力资源所需的人力和物力资源; 估算软件

11、开发的成本;估算软件开发的成本; 初步确定数据库应用系统的开发进度初步确定数据库应用系统的开发进度数据库设计规划数据库设计规划数据库设计规划数据库设计规划 3、具体做法、具体做法 座谈、讨论座谈、讨论#数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.3 用户需求分析用户需求分析一、数据流图一、数据流图 1、数据流图的概念、数据流图的概念 数据流图是一种用于描绘系统逻辑模型的数据流图是一种用于描绘系统逻辑模型的数据流图是一种用于描绘系统逻辑模型的数据流图是一种用于描绘系统逻辑模型的图形工具,是逻辑系统的图形表示。图形工具,是逻辑系统的图形表示。图形工具,是逻辑系统的图形表示。

12、图形工具,是逻辑系统的图形表示。 数据流图只关心系统需要完成的基本逻辑数据流图只关心系统需要完成的基本逻辑数据流图只关心系统需要完成的基本逻辑数据流图只关心系统需要完成的基本逻辑功能,而无须考虑这些逻辑功能的实现问题。功能,而无须考虑这些逻辑功能的实现问题。功能,而无须考虑这些逻辑功能的实现问题。功能,而无须考虑这些逻辑功能的实现问题。 数据流图中没有任何具体的物理元素,只数据流图中没有任何具体的物理元素,只数据流图中没有任何具体的物理元素,只数据流图中没有任何具体的物理元素,只从数据传递和处理的角度反映信息在系统中的流从数据传递和处理的角度反映信息在系统中的流从数据传递和处理的角度反映信息在

13、系统中的流从数据传递和处理的角度反映信息在系统中的流动情况。动情况。动情况。动情况。一、数据流图一、数据流图 2、数据流图的基本符号、数据流图的基本符号数据源点与终点 数据处理 数据存储 数据流 (1 1)数据源点与终点)数据源点与终点)数据源点与终点)数据源点与终点 数据的源点或终点表示外部客体,比如存在数据的源点或终点表示外部客体,比如存在数据的源点或终点表示外部客体,比如存在数据的源点或终点表示外部客体,比如存在于系统之外的人、事或组织等。于系统之外的人、事或组织等。于系统之外的人、事或组织等。于系统之外的人、事或组织等。 数据的源点是指数据的起源处,数据的终点数据的源点是指数据的起源处

14、,数据的终点数据的源点是指数据的起源处,数据的终点数据的源点是指数据的起源处,数据的终点是指数据的目的地。是指数据的目的地。是指数据的目的地。是指数据的目的地。一、数据流图一、数据流图 2、数据流图的基本符号、数据流图的基本符号数据源点与终点 数据处理 数据存储 数据流 (2 2)数据处理)数据处理)数据处理)数据处理 数据处理是对数据流图中的数据进行的特定数据处理是对数据流图中的数据进行的特定数据处理是对数据流图中的数据进行的特定数据处理是对数据流图中的数据进行的特定加工过程。加工过程。加工过程。加工过程。 一个处理可以是一个程序、一组程序或一个一个处理可以是一个程序、一组程序或一个一个处理

15、可以是一个程序、一组程序或一个一个处理可以是一个程序、一组程序或一个程序模块,也可以是某个人工处理过程。程序模块,也可以是某个人工处理过程。程序模块,也可以是某个人工处理过程。程序模块,也可以是某个人工处理过程。一、数据流图一、数据流图 2、数据流图的基本符号、数据流图的基本符号数据源点与终点 数据处理 数据存储 数据流 (3 3)数据存储)数据存储)数据存储)数据存储 数据存储代表待处理的数据存放的场所,表数据存储代表待处理的数据存放的场所,表数据存储代表待处理的数据存放的场所,表数据存储代表待处理的数据存放的场所,表示了处于静止状态的数据。示了处于静止状态的数据。示了处于静止状态的数据。示

16、了处于静止状态的数据。 一个数据存储可以是一个文件、文件的一部一个数据存储可以是一个文件、文件的一部一个数据存储可以是一个文件、文件的一部一个数据存储可以是一个文件、文件的一部分、一个数据库、数据库中的一个记录等。分、一个数据库、数据库中的一个记录等。分、一个数据库、数据库中的一个记录等。分、一个数据库、数据库中的一个记录等。一、数据流图一、数据流图 2、数据流图的基本符号、数据流图的基本符号数据源点与终点 数据处理 数据存储 数据流 (4 4)数据流)数据流)数据流)数据流 数据流代表数据流图中数据的流动情况,箭数据流代表数据流图中数据的流动情况,箭数据流代表数据流图中数据的流动情况,箭数据

17、流代表数据流图中数据的流动情况,箭头指明数据流动的方向。头指明数据流动的方向。头指明数据流动的方向。头指明数据流动的方向。 一、数据流图一、数据流图 3、图书预定系统图书预定系统数据流图应用示例数据流图应用示例图书预定图书预定处理处理图书预定图书预定汇总汇总图书目录文件图书目录文件出版社档案文件出版社档案文件顾客购书档案文件顾客购书档案文件订货汇总文件订货汇总文件顾客顾客出版社出版社订单文件订单文件顾客订单顾客订单出版社出版社订单订单二、数据字典二、数据字典 1、数据字典的引入、数据字典的引入 数据流图表示了数据与处理的关系,但在数数据流图表示了数据与处理的关系,但在数数据流图表示了数据与处理

18、的关系,但在数数据流图表示了数据与处理的关系,但在数据流图中无法表达出每个数据和处理的具体含义据流图中无法表达出每个数据和处理的具体含义据流图中无法表达出每个数据和处理的具体含义据流图中无法表达出每个数据和处理的具体含义和详细描述信息,于是引入数据字典来弥补数据和详细描述信息,于是引入数据字典来弥补数据和详细描述信息,于是引入数据字典来弥补数据和详细描述信息,于是引入数据字典来弥补数据流图的不足,并和数据流图一起构成了用户需求流图的不足,并和数据流图一起构成了用户需求流图的不足,并和数据流图一起构成了用户需求流图的不足,并和数据流图一起构成了用户需求信息的描述手段和工具。信息的描述手段和工具。

19、信息的描述手段和工具。信息的描述手段和工具。二、数据字典二、数据字典 2、数据字典的概念、数据字典的概念 数据字典是描述和定义数据流图中所有数据数据字典是描述和定义数据流图中所有数据数据字典是描述和定义数据流图中所有数据数据字典是描述和定义数据流图中所有数据的集合,用于给出数据流图中所有数据的定义和的集合,用于给出数据流图中所有数据的定义和的集合,用于给出数据流图中所有数据的定义和的集合,用于给出数据流图中所有数据的定义和描述信息。描述信息。描述信息。描述信息。 二、数据字典二、数据字典 3、数据字典定义和描述信息的方法、数据字典定义和描述信息的方法 (1 1)数据项)数据项)数据项)数据项

20、数据项是最小的数据单位,是组成数据流的数据项是最小的数据单位,是组成数据流的数据项是最小的数据单位,是组成数据流的数据项是最小的数据单位,是组成数据流的基本元素。基本元素。基本元素。基本元素。 对数据项的定义和描述信息主要包括:对数据项的定义和描述信息主要包括: 数据项名、别名、含义、类型、长度、取值数据项名、别名、含义、类型、长度、取值数据项名、别名、含义、类型、长度、取值数据项名、别名、含义、类型、长度、取值范围、使用频率、使用方式,及与其它数据项的范围、使用频率、使用方式,及与其它数据项的范围、使用频率、使用方式,及与其它数据项的范围、使用频率、使用方式,及与其它数据项的关系等。关系等。

21、关系等。关系等。二、数据字典二、数据字典 3、数据字典定义和描述信息的方法、数据字典定义和描述信息的方法 (2 2)数据流)数据流)数据流)数据流 数据流表示数据处理过程中的输入或输出数数据流表示数据处理过程中的输入或输出数数据流表示数据处理过程中的输入或输出数数据流表示数据处理过程中的输入或输出数据,可以是数据项,也可以是由数据项组成的某据,可以是数据项,也可以是由数据项组成的某据,可以是数据项,也可以是由数据项组成的某据,可以是数据项,也可以是由数据项组成的某种数据结构的数据单位。种数据结构的数据单位。种数据结构的数据单位。种数据结构的数据单位。 对数据流的定义和描述信息主要包括:对数据流

22、的定义和描述信息主要包括: 数据流名、含义、组成数据流的数据项或数数据流名、含义、组成数据流的数据项或数数据流名、含义、组成数据流的数据项或数数据流名、含义、组成数据流的数据项或数据结构、数据流的来源或去向、数据流的流量等。据结构、数据流的来源或去向、数据流的流量等。据结构、数据流的来源或去向、数据流的流量等。据结构、数据流的来源或去向、数据流的流量等。 二、数据字典二、数据字典 3、数据字典定义和描述信息的方法、数据字典定义和描述信息的方法 (3 3)数据库模式)数据库模式)数据库模式)数据库模式 对数据库模式的定义和描述信息主要包括:对数据库模式的定义和描述信息主要包括: 数据库模式名、数

23、据库模式中各个属性的编数据库模式名、数据库模式中各个属性的编数据库模式名、数据库模式中各个属性的编数据库模式名、数据库模式中各个属性的编号、名称、数据类型、数据长度、取值范围、是号、名称、数据类型、数据长度、取值范围、是号、名称、数据类型、数据长度、取值范围、是号、名称、数据类型、数据长度、取值范围、是否可为空值,数据库模式的所有者,其他用户对否可为空值,数据库模式的所有者,其他用户对否可为空值,数据库模式的所有者,其他用户对否可为空值,数据库模式的所有者,其他用户对该数据库模式的操作权限该数据库模式的操作权限该数据库模式的操作权限该数据库模式的操作权限( (插入、删除、修改、查插入、删除、修

24、改、查插入、删除、修改、查插入、删除、修改、查询询询询) ) 等。等。等。等。 序号序号中文名称中文名称类型类型长度长度属性属性字段名字段名1 1 1 1学学 号号charcharcharchar9 9 9 9notnullnotnullnotnullnotnull XH XH XH XH2 2 2 2课程代号课程代号charcharcharchar7 7 7 7notnullnotnullnotnullnotnull KCDH KCDH KCDH KCDH3 3 3 3课程名称课程名称vxharvxharvxharvxhar50505050notnullnotnullnotnullnotnu

25、ll KCMC KCMC KCMC KCMC4 4 4 4课程类型课程类型vcharvcharvcharvchar8 8 8 8notnullnotnullnotnullnotnull KCLX KCLX KCLX KCLX5 5 5 5学学 时时numericnumericnumericnumeric2 2 2 2notnullnotnullnotnullnotnull XS XS XS XS6 6 6 6学学 分分numericnumericnumericnumeric1 1 1 1notnullnotnullnotnullnotnull XF XF XF XF7 7 7 7任课教师姓名任

26、课教师姓名vcharvcharvcharvchar8 8 8 8nullnullnullnull RKJSXM RKJSXM RKJSXM RKJSXM培养计划培养计划( (所有者所有者: :培养与学籍子系统培养与学籍子系统):):二、数据字典二、数据字典 3、数据字典定义和描述信息的方法、数据字典定义和描述信息的方法 (4 4)处理)处理)处理)处理 处理表示一个处理所要完成的工作或功能。处理表示一个处理所要完成的工作或功能。处理表示一个处理所要完成的工作或功能。处理表示一个处理所要完成的工作或功能。 对处理的定义和描述信息主要包括:对处理的定义和描述信息主要包括: 处理的名称、处理的定义或

27、描述、流入和流处理的名称、处理的定义或描述、流入和流处理的名称、处理的定义或描述、流入和流处理的名称、处理的定义或描述、流入和流出处理的数据流、执行频次等。出处理的数据流、执行频次等。出处理的数据流、执行频次等。出处理的数据流、执行频次等。 三、用户需求分析及其步骤三、用户需求分析及其步骤 1、任务、任务 系统设计人员(系统分析员)和用户双方共系统设计人员(系统分析员)和用户双方共系统设计人员(系统分析员)和用户双方共系统设计人员(系统分析员)和用户双方共同收集数据库所需要的信息内容和用户对处理的同收集数据库所需要的信息内容和用户对处理的同收集数据库所需要的信息内容和用户对处理的同收集数据库所

28、需要的信息内容和用户对处理的要求,并以数据流图和数据字典等书面形式确定要求,并以数据流图和数据字典等书面形式确定要求,并以数据流图和数据字典等书面形式确定要求,并以数据流图和数据字典等书面形式确定下来,作为以后验证系统的依据下来,作为以后验证系统的依据下来,作为以后验证系统的依据下来,作为以后验证系统的依据 (1 1 1 1)调研了解组织机构,建立组织结构层次方)调研了解组织机构,建立组织结构层次方)调研了解组织机构,建立组织结构层次方)调研了解组织机构,建立组织结构层次方框图框图框图框图 调查给定应用领域的组织机构由哪些部门调查给定应用领域的组织机构由哪些部门调查给定应用领域的组织机构由哪些

29、部门调查给定应用领域的组织机构由哪些部门组成,列出各部门的职能及其相互关系;组成,列出各部门的职能及其相互关系;组成,列出各部门的职能及其相互关系;组成,列出各部门的职能及其相互关系; 通过与有关领导和业务主管进行座谈确认通过与有关领导和业务主管进行座谈确认通过与有关领导和业务主管进行座谈确认通过与有关领导和业务主管进行座谈确认内容内容内容内容 在此基础上,建立相应的组织结构层次方在此基础上,建立相应的组织结构层次方在此基础上,建立相应的组织结构层次方在此基础上,建立相应的组织结构层次方框图,并通过适当的文字描述加以说明框图,并通过适当的文字描述加以说明框图,并通过适当的文字描述加以说明框图,

30、并通过适当的文字描述加以说明 2、步骤、步骤三、用户需求分析及其步骤三、用户需求分析及其步骤XX大学教务部大学教务部教务处教务处继续教育处继续教育处计划办计划办培养办培养办研究生处研究生处教保处教保处教务部长教务部长主管副部长主管副部长主管副部长主管副部长主管副部长主管副部长教学实施办教学实施办学位办学位办主管副部长主管副部长教材办教材办招生办招生办图8.1 组织机构层次方框图示例三、用户需求分析及其步骤三、用户需求分析及其步骤 对应用领域的业务流程和数据流程进行调对应用领域的业务流程和数据流程进行调对应用领域的业务流程和数据流程进行调对应用领域的业务流程和数据流程进行调查,明确其功能和所需信

31、息,查,明确其功能和所需信息,查,明确其功能和所需信息,查,明确其功能和所需信息,包括:包括:包括:包括:n n对于每个职能部门,抽象出其各种应用的功能和所对于每个职能部门,抽象出其各种应用的功能和所对于每个职能部门,抽象出其各种应用的功能和所对于每个职能部门,抽象出其各种应用的功能和所需信息的定义,并确定各应用之间的信息依赖关系需信息的定义,并确定各应用之间的信息依赖关系需信息的定义,并确定各应用之间的信息依赖关系需信息的定义,并确定各应用之间的信息依赖关系和信息流通途径;和信息流通途径;和信息流通途径;和信息流通途径;n n与部门负责人和有关专业人员座谈,确认上述内容。与部门负责人和有关专

32、业人员座谈,确认上述内容。与部门负责人和有关专业人员座谈,确认上述内容。与部门负责人和有关专业人员座谈,确认上述内容。 (2 2 2 2)分析用户业务活动分析用户业务活动分析用户业务活动分析用户业务活动,建立用户业务数据流图建立用户业务数据流图建立用户业务数据流图建立用户业务数据流图三、用户需求分析及其步骤三、用户需求分析及其步骤 与各部门负责人和有关专业人员座谈,确定不同与各部门负责人和有关专业人员座谈,确定不同与各部门负责人和有关专业人员座谈,确定不同与各部门负责人和有关专业人员座谈,确定不同职能部门的应用和信息之间的依赖关系和信息流职能部门的应用和信息之间的依赖关系和信息流职能部门的应用

33、和信息之间的依赖关系和信息流职能部门的应用和信息之间的依赖关系和信息流通途径通途径通途径通途径 方法:方法:方法:方法:座谈;查阅各部门的业务处理记录和座谈;查阅各部门的业务处理记录和座谈;查阅各部门的业务处理记录和座谈;查阅各部门的业务处理记录和档案资料;收集相关单据、计划、合同、报表等;档案资料;收集相关单据、计划、合同、报表等;档案资料;收集相关单据、计划、合同、报表等;档案资料;收集相关单据、计划、合同、报表等;视情跟班作业;进行问卷调查。视情跟班作业;进行问卷调查。视情跟班作业;进行问卷调查。视情跟班作业;进行问卷调查。三、用户需求分析及其步骤三、用户需求分析及其步骤 在在在在的基础

34、上进行应用领域分析,抽象的基础上进行应用领域分析,抽象的基础上进行应用领域分析,抽象的基础上进行应用领域分析,抽象出应用领域的逻辑模型出应用领域的逻辑模型出应用领域的逻辑模型出应用领域的逻辑模型n n对上述内容进行分析,抽象出下列信息:对上述内容进行分析,抽象出下列信息:对上述内容进行分析,抽象出下列信息:对上述内容进行分析,抽象出下列信息:n n应用领域的流动信息的定义;应用领域的流动信息的定义;应用领域的流动信息的定义;应用领域的流动信息的定义;n n应用领域的存储信息的定义;应用领域的存储信息的定义;应用领域的存储信息的定义;应用领域的存储信息的定义;n n应用领域中各种流动信息的源点和

35、终点;应用领域中各种流动信息的源点和终点;应用领域中各种流动信息的源点和终点;应用领域中各种流动信息的源点和终点;n n应用领域的各种应用的定义,包括输入信息、应用领域的各种应用的定义,包括输入信息、应用领域的各种应用的定义,包括输入信息、应用领域的各种应用的定义,包括输入信息、输出信息和应用功能的定义;输出信息和应用功能的定义;输出信息和应用功能的定义;输出信息和应用功能的定义;n n上述四者之间联系的定义。上述四者之间联系的定义。上述四者之间联系的定义。上述四者之间联系的定义。三、用户需求分析及其步骤三、用户需求分析及其步骤 2、步骤、步骤 (2 2 2 2)分析用户业务活动分析用户业务活

36、动分析用户业务活动分析用户业务活动,建立用户业务数据流图建立用户业务数据流图建立用户业务数据流图建立用户业务数据流图 在在在在的基础上进行应用领域分析,抽象出应的基础上进行应用领域分析,抽象出应的基础上进行应用领域分析,抽象出应的基础上进行应用领域分析,抽象出应用领域的逻辑模型用领域的逻辑模型用领域的逻辑模型用领域的逻辑模型n n用数据流图表示应用领域的逻辑模型用数据流图表示应用领域的逻辑模型用数据流图表示应用领域的逻辑模型用数据流图表示应用领域的逻辑模型三、用户需求分析及其步骤三、用户需求分析及其步骤 2、步骤、步骤 (3 3 3 3)分析用户的信息要求和处理要求,确定系分析用户的信息要求和

37、处理要求,确定系分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系统边界和系统功能统边界和系统功能统边界和系统功能统边界和系统功能 应用功能定义应用功能定义应用功能定义应用功能定义 目的:目的:目的:目的:确定最终的数据库系统支持哪些应用功能确定最终的数据库系统支持哪些应用功能确定最终的数据库系统支持哪些应用功能确定最终的数据库系统支持哪些应用功能:n n考察数据流图中的每个数据处理,确定数据库系考察数据流图中的每个数据处理,确定数据库系考察数据流图中的每个数据处理,确定数据库系考察数据流图中的每个数据处理,确定数据库系统是否应该而且可能支持这个功能。如果应该而统是否应该

38、而且可能支持这个功能。如果应该而统是否应该而且可能支持这个功能。如果应该而统是否应该而且可能支持这个功能。如果应该而且可能支持,则把该功能列入数据库系统支持的且可能支持,则把该功能列入数据库系统支持的且可能支持,则把该功能列入数据库系统支持的且可能支持,则把该功能列入数据库系统支持的应用范围;应用范围;应用范围;应用范围;三、用户需求分析及其步骤三、用户需求分析及其步骤 2、步骤、步骤 (3 3 3 3)分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系统边界和系统功能统边界和系统功能统边界和系统功能

39、统边界和系统功能 应用功能定义应用功能定义应用功能定义应用功能定义 目的:目的:目的:目的:确定最终的数据库系统支持哪些应用功能:确定最终的数据库系统支持哪些应用功能:确定最终的数据库系统支持哪些应用功能:确定最终的数据库系统支持哪些应用功能:n n对于数据库系统应该支持的每一个应用功能,以对于数据库系统应该支持的每一个应用功能,以对于数据库系统应该支持的每一个应用功能,以对于数据库系统应该支持的每一个应用功能,以表格形式进行严格的定义,内容包括:应用名、表格形式进行严格的定义,内容包括:应用名、表格形式进行严格的定义,内容包括:应用名、表格形式进行严格的定义,内容包括:应用名、处理功能、输入

40、信息和输出信息。处理功能、输入信息和输出信息。处理功能、输入信息和输出信息。处理功能、输入信息和输出信息。三、用户需求分析及其步骤三、用户需求分析及其步骤 (3 3 3 3)分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系分析用户的信息要求和处理要求,确定系统边界和系统功能统边界和系统功能统边界和系统功能统边界和系统功能 信息定义信息定义信息定义信息定义 目的:目的:目的:目的:确定最终数据库需要存储哪些信息:确定最终数据库需要存储哪些信息:确定最终数据库需要存储哪些信息:确定最终数据库需要存储哪些信息:n n考察数据流图中的每个存储

41、信息,确定其是否应考察数据流图中的每个存储信息,确定其是否应考察数据流图中的每个存储信息,确定其是否应考察数据流图中的每个存储信息,确定其是否应该而且可能由数据库存储,如果应该而且可能,该而且可能由数据库存储,如果应该而且可能,该而且可能由数据库存储,如果应该而且可能,该而且可能由数据库存储,如果应该而且可能,则列入数据库需要存储的信息范围;则列入数据库需要存储的信息范围;则列入数据库需要存储的信息范围;则列入数据库需要存储的信息范围;n n对于每个需要数据库存储的信息,以表格形式进对于每个需要数据库存储的信息,以表格形式进对于每个需要数据库存储的信息,以表格形式进对于每个需要数据库存储的信息

42、,以表格形式进行严格的定义,内容包括:信息名、内容定义、行严格的定义,内容包括:信息名、内容定义、行严格的定义,内容包括:信息名、内容定义、行严格的定义,内容包括:信息名、内容定义、产生该信息的应用和引用该信息的应用。产生该信息的应用和引用该信息的应用。产生该信息的应用和引用该信息的应用。产生该信息的应用和引用该信息的应用。三、用户需求分析及其步骤三、用户需求分析及其步骤 2、步骤、步骤 (4 4 4 4)分析收集所需数据,分析和整理需求数据分析收集所需数据,分析和整理需求数据分析收集所需数据,分析和整理需求数据分析收集所需数据,分析和整理需求数据 汇集所有与用户信息要求和处理要求相关汇集所有

43、与用户信息要求和处理要求相关汇集所有与用户信息要求和处理要求相关汇集所有与用户信息要求和处理要求相关的数据信息;的数据信息;的数据信息;的数据信息; 对这些信息整理分类,指定每一类信息的对这些信息整理分类,指定每一类信息的对这些信息整理分类,指定每一类信息的对这些信息整理分类,指定每一类信息的候选键。候选键。候选键。候选键。三、用户需求分析及其步骤三、用户需求分析及其步骤 2、步骤、步骤 (4 4 4 4)分析收集所需数据,分析和整理需求数据分析收集所需数据,分析和整理需求数据分析收集所需数据,分析和整理需求数据分析收集所需数据,分析和整理需求数据 确定每类信息的如下内容:确定每类信息的如下内

44、容:确定每类信息的如下内容:确定每类信息的如下内容:n n数据元素确切的名称、类型、长度、取值范围和数据元素确切的名称、类型、长度、取值范围和数据元素确切的名称、类型、长度、取值范围和数据元素确切的名称、类型、长度、取值范围和应用特征;应用特征;应用特征;应用特征; ;n n每类信息允许哪些用户执行哪些操作及操作的频每类信息允许哪些用户执行哪些操作及操作的频每类信息允许哪些用户执行哪些操作及操作的频每类信息允许哪些用户执行哪些操作及操作的频度。度。度。度。 形成数据字典,包括形成数据字典,包括形成数据字典,包括形成数据字典,包括中定义的所有内容。中定义的所有内容。中定义的所有内容。中定义的所有

45、内容。三、用户需求分析及其步骤三、用户需求分析及其步骤序号序号序号序号中文名称中文名称中文名称中文名称类型类型类型类型长度长度长度长度属性属性属性属性字段名字段名字段名字段名1 1学号学号学号学号charchar9 9NotnullNotnullXHXH2 2课程代号课程代号课程代号课程代号charchar7 7NotnullNotnullKCDHKCDH3 3课程名称课程名称课程名称课程名称vcharvchar5050NotnullNotnullKCMCKCMC4 4课程类型课程类型课程类型课程类型vcharvchar8 8NotnullNotnullKCLXKCLX5 5学时学时学时学时n

46、umericnumeric2 2NotnullNotnullXSXS6 6学分学分学分学分numericnumeric1 1NotnullNotnullXFXF7 7任课教师名任课教师名任课教师名任课教师名vcharvchar8 8NullNullRKJSXMRKJSXM培养计划(所有者:培养与学籍子系统):培养计划(所有者:培养与学籍子系统):数据字典:数据字典:数据字典:数据字典:三、用户需求分析及其步骤三、用户需求分析及其步骤 3、用户需求分析过程、用户需求分析过程-总结总结 用户需求主要包括三方面内容:用户需求主要包括三方面内容:用户需求主要包括三方面内容:用户需求主要包括三方面内容:

47、 信息需求:用户要从数据库获得什么样的数信息需求:用户要从数据库获得什么样的数信息需求:用户要从数据库获得什么样的数信息需求:用户要从数据库获得什么样的数据和信息。据和信息。据和信息。据和信息。 处理需求:用什么样的处理方式完成哪些处处理需求:用什么样的处理方式完成哪些处处理需求:用什么样的处理方式完成哪些处处理需求:用什么样的处理方式完成哪些处理功能。理功能。理功能。理功能。 系统在安全性和完整性方面有哪些要求。系统在安全性和完整性方面有哪些要求。系统在安全性和完整性方面有哪些要求。系统在安全性和完整性方面有哪些要求。三、用户需求分析及其步骤三、用户需求分析及其步骤#数据库原理及应用数据库原

48、理及应用数据库原理及应用数据库原理及应用6.4 概念结构设计概念结构设计 概念结构概念结构是一种能反映用户观点,并更接是一种能反映用户观点,并更接近于现实世界的数据模型。近于现实世界的数据模型。 根据用户需求分析阶段形成的系统需求说明根据用户需求分析阶段形成的系统需求说明根据用户需求分析阶段形成的系统需求说明根据用户需求分析阶段形成的系统需求说明书,将现实世界的信息类别及信息之间的联系抽书,将现实世界的信息类别及信息之间的联系抽书,将现实世界的信息类别及信息之间的联系抽书,将现实世界的信息类别及信息之间的联系抽象为独立于具体机器、独立于具体象为独立于具体机器、独立于具体象为独立于具体机器、独立

49、于具体象为独立于具体机器、独立于具体DBMSDBMS的信息的信息的信息的信息结构。结构。结构。结构。 由于实体由于实体由于实体由于实体- -联系模型能比较好地描述这种信息联系模型能比较好地描述这种信息联系模型能比较好地描述这种信息联系模型能比较好地描述这种信息结构,所以概念结构设计的结构,所以概念结构设计的结构,所以概念结构设计的结构,所以概念结构设计的主要任务主要任务主要任务主要任务就是:就是:就是:就是: 将现实世界的信息类别及信息之间的联系抽将现实世界的信息类别及信息之间的联系抽象成象成实体实体实体实体- - - -联系模型联系模型联系模型联系模型。0、概念结构设计的主要任务、概念结构设

50、计的主要任务 1、基本概念、基本概念 (1 1)实体)实体)实体)实体 是存在于用户组织中的抽象的但是存在于用户组织中的抽象的但是存在于用户组织中的抽象的但是存在于用户组织中的抽象的但有意义有意义有意义有意义的的的的“ “事物事物事物事物” ”。 也即是用户组织中也即是用户组织中也即是用户组织中也即是用户组织中独立独立独立独立的客体。的客体。的客体。的客体。一、实体集之间的联系一、实体集之间的联系 1 1)实体可以是具体的对象。实体可以是具体的对象。实体可以是具体的对象。实体可以是具体的对象。 例如,例如,例如,例如,一个班级是一个实体。一个班级是一个实体。一个班级是一个实体。一个班级是一个实

51、体。 2 2) 实体可以是抽象的事件、抽象的概念这实体可以是抽象的事件、抽象的概念这实体可以是抽象的事件、抽象的概念这实体可以是抽象的事件、抽象的概念这样的对象。样的对象。样的对象。样的对象。 例如,例如,例如,例如,一次考试是这样的一个实体。一次考试是这样的一个实体。一次考试是这样的一个实体。一次考试是这样的一个实体。 3 3)实体可以是有形的对象。实体可以是有形的对象。实体可以是有形的对象。实体可以是有形的对象。 例如,例如,例如,例如,一个学生是一个实体。一个学生是一个实体。一个学生是一个实体。一个学生是一个实体。 4 4)实体可以是无形的对象。实体可以是无形的对象。实体可以是无形的对象

52、。实体可以是无形的对象。 例如,例如,例如,例如,像爱和恨这样的概念就是无形实体像爱和恨这样的概念就是无形实体像爱和恨这样的概念就是无形实体像爱和恨这样的概念就是无形实体 一、实体集之间的联系一、实体集之间的联系一、实体集之间的联系一、实体集之间的联系 (2 2)实体集)实体集)实体集)实体集 性质(属性)相同的同类实体的组成的集合。性质(属性)相同的同类实体的组成的集合。性质(属性)相同的同类实体的组成的集合。性质(属性)相同的同类实体的组成的集合。 例如:例如:例如:例如: 所有的大学生构成了一个大学生实体集;所有的大学生构成了一个大学生实体集;所有的大学生构成了一个大学生实体集;所有的大

53、学生构成了一个大学生实体集; 一个大学的所有的课程,构成一个课程实体一个大学的所有的课程,构成一个课程实体一个大学的所有的课程,构成一个课程实体一个大学的所有的课程,构成一个课程实体集;集;集;集; 所有的汽车构成一个汽车实体集。所有的汽车构成一个汽车实体集。所有的汽车构成一个汽车实体集。所有的汽车构成一个汽车实体集。 一、实体集之间的联系一、实体集之间的联系 (3 3)联系与联系集)联系与联系集)联系与联系集)联系与联系集 实体之间有意义的相互作用称为实体之间实体之间有意义的相互作用称为实体之间实体之间有意义的相互作用称为实体之间实体之间有意义的相互作用称为实体之间的联系。的联系。的联系。的

54、联系。 两个联系集之间的具有相同属性的联系组两个联系集之间的具有相同属性的联系组两个联系集之间的具有相同属性的联系组两个联系集之间的具有相同属性的联系组成的集合称为联系集。成的集合称为联系集。成的集合称为联系集。成的集合称为联系集。 2、两个不同实体集间的联系、两个不同实体集间的联系 (1 1)一对一联系)一对一联系)一对一联系)一对一联系一、实体集之间的联系一、实体集之间的联系实体集实体集实体集实体集E1E1E1E1实体集实体集实体集实体集E2E2E2E2 如果实体集如果实体集如果实体集如果实体集E1E1中的每一中的每一中的每一中的每一个实体,至多与实体集个实体,至多与实体集个实体,至多与实

55、体集个实体,至多与实体集E2E2中中中中的一个实体有联系;的一个实体有联系;的一个实体有联系;的一个实体有联系; 反之,实体集反之,实体集反之,实体集反之,实体集E2E2中的每中的每中的每中的每一个实体至多与实体集一个实体至多与实体集一个实体至多与实体集一个实体至多与实体集E1E1中中中中的一个实体有联系;的一个实体有联系;的一个实体有联系;的一个实体有联系; 则称则称则称则称E1 E1 和和和和E2 E2 是一对一是一对一是一对一是一对一联系记为联系记为联系记为联系记为“ “1 1 1”1”。 2、两个不同实体集间的联系、两个不同实体集间的联系 (1 1)一对一联系)一对一联系)一对一联系)

56、一对一联系一、实体集之间的联系一、实体集之间的联系实体集实体集实体集实体集E1E1E1E1实体集实体集实体集实体集E2E2E2E2座位座位乘客乘客E1E2 2、两个不同实体集间的联系、两个不同实体集间的联系 (1 1)一对多联系)一对多联系)一对多联系)一对多联系一、实体集之间的联系一、实体集之间的联系实体集实体集实体集实体集E1E1E1E1实体集实体集实体集实体集E2E2E2E2 如果实体集如果实体集如果实体集如果实体集E1E1中至少有中至少有中至少有中至少有一个实体与实体集一个实体与实体集一个实体与实体集一个实体与实体集E2E2中的一中的一中的一中的一个以上的实体有联系;个以上的实体有联系

57、;个以上的实体有联系;个以上的实体有联系; 反之,实体集反之,实体集反之,实体集反之,实体集E2E2中的每中的每中的每中的每一个实体至多与实体集一个实体至多与实体集一个实体至多与实体集一个实体至多与实体集E1E1中中中中的一个实体有联系;的一个实体有联系;的一个实体有联系;的一个实体有联系; 则称则称则称则称E1 E1 和和和和 E2E2是一对多是一对多是一对多是一对多联系,记为联系,记为联系,记为联系,记为“ “1 1 N” N” 。 2、两个不同实体集间的联系、两个不同实体集间的联系 (1 1)一对多联系)一对多联系)一对多联系)一对多联系一、实体集之间的联系一、实体集之间的联系实体集实体

58、集实体集实体集E1E1E1E1实体集实体集实体集实体集E2E2E2E2车间车间工人工人E1E2 2、两个不同实体集间的联系、两个不同实体集间的联系 (1 1)多对多联系)多对多联系)多对多联系)多对多联系一、实体集之间的联系一、实体集之间的联系实体集实体集实体集实体集E1E1E1E1实体集实体集实体集实体集E2E2E2E2 如果实体集如果实体集如果实体集如果实体集E1E1中至少有中至少有中至少有中至少有一个实体与实体集一个实体与实体集一个实体与实体集一个实体与实体集E2E2中的一中的一中的一中的一个以上的实体有联系;个以上的实体有联系;个以上的实体有联系;个以上的实体有联系; 反之,实体集反之

59、,实体集反之,实体集反之,实体集E2E2中至少中至少中至少中至少有一个实体与实体集有一个实体与实体集有一个实体与实体集有一个实体与实体集E1E1中的中的中的中的一个以上的实体有联系;一个以上的实体有联系;一个以上的实体有联系;一个以上的实体有联系; 则称则称则称则称E1 E1 和和和和E2 E2 是一对多是一对多是一对多是一对多联系,记为联系,记为联系,记为联系,记为“ “MM N” N” 。 2、两个不同实体集间的联系、两个不同实体集间的联系 (1 1)多对多联系)多对多联系)多对多联系)多对多联系一、实体集之间的联系一、实体集之间的联系学生学生课程课程E1E2实体集实体集实体集实体集E1E

60、1E1E1实体集实体集实体集实体集E2E2E2E2二、实体二、实体联系模型联系模型 1、实体、实体联系模型的基本要素联系模型的基本要素 (1 1)实体集:)实体集:)实体集:)实体集:性质相同的同类实体组成的集性质相同的同类实体组成的集性质相同的同类实体组成的集性质相同的同类实体组成的集合。合。合。合。 (2 2)联系集:)联系集:)联系集:)联系集:两个实体集之间的具有相同属两个实体集之间的具有相同属两个实体集之间的具有相同属两个实体集之间的具有相同属性的联系组成的集合。性的联系组成的集合。性的联系组成的集合。性的联系组成的集合。二、实体二、实体联系模型联系模型 (3 3)实体集与联系集的属

61、性和标识码)实体集与联系集的属性和标识码)实体集与联系集的属性和标识码)实体集与联系集的属性和标识码 1 1)实体集的属性:实体集中所有实体所具)实体集的属性:实体集中所有实体所具)实体集的属性:实体集中所有实体所具)实体集的属性:实体集中所有实体所具有的有的有的有的共同特征。共同特征。共同特征。共同特征。比如,比如,比如,比如,学生实体集的属性有学号、学生实体集的属性有学号、学生实体集的属性有学号、学生实体集的属性有学号、姓名等。姓名等。姓名等。姓名等。 属性的具体取值称为属性值;属性的具体取值称为属性值;属性的具体取值称为属性值;属性的具体取值称为属性值; 属性的取值范围称为属性的值域。属

62、性的取值范围称为属性的值域。属性的取值范围称为属性的值域。属性的取值范围称为属性的值域。 同理同理同理同理,联系集中所有联系所具有的共同特征,联系集中所有联系所具有的共同特征,联系集中所有联系所具有的共同特征,联系集中所有联系所具有的共同特征,称为联系集的属性。称为联系集的属性。称为联系集的属性。称为联系集的属性。二、实体二、实体联系模型联系模型 (3 3)实体集与联系集的属性和标识码)实体集与联系集的属性和标识码)实体集与联系集的属性和标识码)实体集与联系集的属性和标识码 2 2)实体集的标识码)实体集的标识码)实体集的标识码)实体集的标识码 把能够唯一地标识实体集中的每个实体的一把能够唯一

63、地标识实体集中的每个实体的一把能够唯一地标识实体集中的每个实体的一把能够唯一地标识实体集中的每个实体的一个或一组属性称为实体集的个或一组属性称为实体集的个或一组属性称为实体集的个或一组属性称为实体集的标识码标识码标识码标识码。 3 3)联系集的标识码)联系集的标识码)联系集的标识码)联系集的标识码 把能够唯一地标识联系集中的每个联系的一把能够唯一地标识联系集中的每个联系的一把能够唯一地标识联系集中的每个联系的一把能够唯一地标识联系集中的每个联系的一个或一组属性称为联系集的个或一组属性称为联系集的个或一组属性称为联系集的个或一组属性称为联系集的标识码标识码标识码标识码。 联系集的标识码通常由联系

64、集所联系的两个联系集的标识码通常由联系集所联系的两个联系集的标识码通常由联系集所联系的两个联系集的标识码通常由联系集所联系的两个实体集的主码组成。实体集的主码组成。实体集的主码组成。实体集的主码组成。二、实体二、实体联系模型联系模型 2、实体、实体联系联系(Entity Relationship)(Entity Relationship)模型的表示模型的表示 ER图的描述约定:图的描述约定: 实体集实体集实体集实体集A AA A A联系联系联系联系集集集集R RR R R属性属性属性属性X XX X XB B B1 1 1N N NY Y Y二、实体二、实体联系模型联系模型 3、建立、建立ER

65、模型的步骤模型的步骤n n定义实体集;定义实体集;定义实体集;定义实体集; n n定义联系集;定义联系集;定义联系集;定义联系集; n n 将实体集和联系集组合成将实体集和联系集组合成将实体集和联系集组合成将实体集和联系集组合成E-RE-R图;图;图;图; 确定实体集与联系集的属性,标识出实体集与联系确定实体集与联系集的属性,标识出实体集与联系确定实体集与联系集的属性,标识出实体集与联系确定实体集与联系集的属性,标识出实体集与联系集的主码,形成完整的集的主码,形成完整的集的主码,形成完整的集的主码,形成完整的E-RE-R图。图。图。图。分析:分析: 通过分析,可将大学的专业、课程、学生和教师间

66、通过分析,可将大学的专业、课程、学生和教师间 的关系归纳如下:的关系归纳如下: (1 1 1 1)大学有多个专业,每个专业设置有多门课)大学有多个专业,每个专业设置有多门课)大学有多个专业,每个专业设置有多门课)大学有多个专业,每个专业设置有多门课程,某些课程可被多个专业设置。程,某些课程可被多个专业设置。程,某些课程可被多个专业设置。程,某些课程可被多个专业设置。 (2 2 2 2)每位教师可以主讲多门课程,某些课程可由多)每位教师可以主讲多门课程,某些课程可由多)每位教师可以主讲多门课程,某些课程可由多)每位教师可以主讲多门课程,某些课程可由多位教师主讲。位教师主讲。位教师主讲。位教师主讲

67、。 (3 3 3 3)多个学生可以同时学习同一门课程,一个学生)多个学生可以同时学习同一门课程,一个学生)多个学生可以同时学习同一门课程,一个学生)多个学生可以同时学习同一门课程,一个学生必须学习多门课程;必须学习多门课程;必须学习多门课程;必须学习多门课程; (4 4 4 4)一个专业有多个学生;一个学生只能属于某一)一个专业有多个学生;一个学生只能属于某一)一个专业有多个学生;一个学生只能属于某一)一个专业有多个学生;一个学生只能属于某一专业,一个学生并属于某个班级。专业,一个学生并属于某个班级。专业,一个学生并属于某个班级。专业,一个学生并属于某个班级。 例例1.11.1:用实体:用实体

68、:用实体:用实体- - - -联系模型描述一个大学的专业、课程、联系模型描述一个大学的专业、课程、联系模型描述一个大学的专业、课程、联系模型描述一个大学的专业、课程、学生和老师之间的教学情况,并设计相应的学生和老师之间的教学情况,并设计相应的学生和老师之间的教学情况,并设计相应的学生和老师之间的教学情况,并设计相应的ERERERER图。图。图。图。专业专业专业专业学生学生学生学生课程课程课程课程教师教师教师教师设置设置设置设置讲授讲授讲授讲授学习学习学习学习归属归属归属归属1 1 1 1N N N NM M M MM M M MM M M MN N N N N NN N N NN N N NN

69、 N N N大学教学情况实体大学教学情况实体大学教学情况实体大学教学情况实体- - - -联系模型联系模型联系模型联系模型 (E-R(E-R(E-R(E-R图图图图) ) ) )的主体的主体的主体的主体例例1.11.1:用实体:用实体:用实体:用实体- - - -联系模型描述一个大学的专业、课程、联系模型描述一个大学的专业、课程、联系模型描述一个大学的专业、课程、联系模型描述一个大学的专业、课程、学生和老师之间的教学情况,并设计相应的学生和老师之间的教学情况,并设计相应的学生和老师之间的教学情况,并设计相应的学生和老师之间的教学情况,并设计相应的ERERERER图。图。图。图。分析:分析:专业

70、、课程、学生和教师的属性和标识码:专业、课程、学生和教师的属性和标识码: (1 1 1 1)大学有多个专业,每个专业用唯一的专业代码)大学有多个专业,每个专业用唯一的专业代码)大学有多个专业,每个专业用唯一的专业代码)大学有多个专业,每个专业用唯一的专业代码和专业名称标识;和专业名称标识;和专业名称标识;和专业名称标识; (2 2 2 2)每门课程由课程号和课程名唯一标识;)每门课程由课程号和课程名唯一标识;)每门课程由课程号和课程名唯一标识;)每门课程由课程号和课程名唯一标识; (3 3 3 3)每位教师由教职工号、姓名、性别、出生年月、)每位教师由教职工号、姓名、性别、出生年月、)每位教师

71、由教职工号、姓名、性别、出生年月、)每位教师由教职工号、姓名、性别、出生年月、职称、职称、职称、职称、( ( ( (所属所属所属所属) ) ) )教研室和电话标识;教研室和电话标识;教研室和电话标识;教研室和电话标识; (4 4 4 4)每个学生由学号、姓名、性别、出生年月和籍)每个学生由学号、姓名、性别、出生年月和籍)每个学生由学号、姓名、性别、出生年月和籍)每个学生由学号、姓名、性别、出生年月和籍贯标识。贯标识。贯标识。贯标识。专业名称专业名称专业名称专业名称专业代码专业代码专业代码专业代码学号学号学号学号班级班级班级班级学号学号学号学号姓名姓名姓名姓名性别性别性别性别专业代码专业代码专业

72、代码专业代码出生年月出生年月出生年月出生年月专业专业专业专业归属归属归属归属学生学生学生学生籍贯籍贯籍贯籍贯设置设置设置设置学习学习学习学习学号学号学号学号课程号课程号课程号课程号分数分数分数分数课程课程课程课程讲授讲授讲授讲授教师教师教师教师专业代码专业代码专业代码专业代码课程号课程号课程号课程号课程号课程号课程号课程号学时学时学时学时课程名课程名课程名课程名教职工号教职工号教职工号教职工号课程号课程号课程号课程号教职工号教职工号教职工号教职工号电话号码电话号码电话号码电话号码教研室教研室教研室教研室姓名姓名姓名姓名性别性别性别性别出生年月出生年月出生年月出生年月职称职称职称职称1 1N N

73、MMMMN NN NN NMM图图图图6.8 6.8 6.8 6.8 大学教学情况的实体大学教学情况的实体大学教学情况的实体大学教学情况的实体- - - -联系模型联系模型联系模型联系模型(E-R(E-R(E-R(E-R图图图图) ) ) )三、实体三、实体联系模型设计中的一些特殊情况联系模型设计中的一些特殊情况 1、递归联系、递归联系 EMPLOYEESMANAGEMANAGEDMANAGER1N (a)PERSONSMOTHER-OFMOTHERCHILDREN1N(b)PERSONSFAMILYPARENTCHILDREN2N(c)图图6.9 递归联系的递归联系的E-R图表示图表示三、实

74、体三、实体联系模型设计中的一些特殊情况联系模型设计中的一些特殊情况 2、冗余联系、冗余联系 用户用户用户用户合同合同合同合同产品产品产品产品订货订货订货订货签定签定签定签定供应供应供应供应1MMNMN图图1.15 冗余联系示例冗余联系示例三、实体三、实体联系模型设计中的一些特殊情况联系模型设计中的一些特殊情况 3、 isa联系联系 A A isaisa B B 表示实体集表示实体集A A包含在实体集包含在实体集B B中,中,A A是是B B中的一种特殊的群体。中的一种特殊的群体。图图6.11 航空公司飞行员和班组人员的航空公司飞行员和班组人员的isa联系的联系的E-R模型表示模型表示PERSO

75、NNEL机组人员机组人员NAME姓名姓名ADDRESS地址地址SALARY工资工资EMP-NO职工号职工号PILOTS飞行员飞行员isaCAN-FLY能驾驶能驾驶PLANES飞机飞机TYPE类型是类型是AICRAFT具体飞机具体飞机SERIAL-NO序列号序列号MANUFACTURER制造厂制造厂MODEL-NO型号型号MN1MM1isaisa 联系示例:联系示例:三、实体三、实体联系模型设计中的一些特殊情况联系模型设计中的一些特殊情况 4、 弱实体弱实体 如果某实体集如果某实体集E1E1E1E1的存在依赖于另一个实体集的存在依赖于另一个实体集E2E2E2E2的存在,并且这两个实体集之间的联系

76、是用来的存在,并且这两个实体集之间的联系是用来标识标识E1E1E1E1的,那么就把实体集的,那么就把实体集E1E1称为弱实体。称为弱实体。三、实体三、实体联系模型设计中的一些特殊情况联系模型设计中的一些特殊情况 4、 弱实体弱实体图图6.13 弱实体示例弱实体示例教职工教职工教职工教职工教职工教职工号号姓姓 名名性性 别别出生年月出生年月抚抚 养养出生年月出生年月教职工号教职工号子女姓名子女姓名子子 女女子女号子女号1N 1、步骤、步骤 设计局部概念结构,即分设计局部概念结构,即分设计局部概念结构,即分设计局部概念结构,即分E-RE-R图;图;图;图; 把各分把各分把各分把各分E-RE-R图综

77、合成总体图综合成总体图综合成总体图综合成总体E-RE-R图;图;图;图; 对总体对总体对总体对总体E-RE-R图进行优化,消除冗余数据和图进行优化,消除冗余数据和图进行优化,消除冗余数据和图进行优化,消除冗余数据和冗余联系。冗余联系。冗余联系。冗余联系。四、概念结构设计的步骤和方法四、概念结构设计的步骤和方法 2、分、分ER图的设计图的设计 四、概念结构设计的步骤和方法四、概念结构设计的步骤和方法 3、总体、总体ER图的设计图的设计 将设计好的各分将设计好的各分将设计好的各分将设计好的各分ERER图进行集成图进行集成图进行集成图进行集成,形成一个形成一个形成一个形成一个完整的,能支持各个局部概

78、念结构的数据库整体完整的,能支持各个局部概念结构的数据库整体完整的,能支持各个局部概念结构的数据库整体完整的,能支持各个局部概念结构的数据库整体概念结构。概念结构。概念结构。概念结构。 关键:关键:关键:关键: 消除命名冲突、消除属性特征冲突、消除结消除命名冲突、消除属性特征冲突、消除结消除命名冲突、消除属性特征冲突、消除结消除命名冲突、消除属性特征冲突、消除结构冲突,构冲突,构冲突,构冲突,也即:也即:也即:也即:消除各分消除各分消除各分消除各分E-RE-R图间存在的命名、属图间存在的命名、属图间存在的命名、属图间存在的命名、属性特征和结构的不一致和矛盾。性特征和结构的不一致和矛盾。性特征和

79、结构的不一致和矛盾。性特征和结构的不一致和矛盾。四、概念结构设计的步骤和方法四、概念结构设计的步骤和方法学习学习 学生学生 课程课程姓名姓名性别性别籍贯籍贯学号学号出生年月出生年月学号学号课程号课程号课程号课程号课程名课程名学时学时学分学分学分学分分数分数( ( ( (有冗余属性的有冗余属性的有冗余属性的有冗余属性的) ) ) )关系模式:关系模式:课程关系模式:课程关系模式:C(C#,CNAME,CLASSH,SC_NUMBERC(C#,CNAME,CLASSH,SC_NUMBER)学习关系模式:学习关系模式:SCSC(S#S#,C#C#,GRADE, GRADE, SC_NUMBERSC_

80、NUMBER)总体总体ERER图设计示例图设计示例总体总体ERER图设计示例图设计示例学习学习学生学生课程课程姓名姓名性别性别籍贯籍贯学号学号出生年月出生年月学号学号课程号课程号课程号课程号课程名课程名学时学时学分学分学分学分分数分数两个没有冗余属性的关系模式:两个没有冗余属性的关系模式:课程关系模式:课程关系模式:C C(C#,CNAME,CLASSH,SC_NUMBERC#,CNAME,CLASSH,SC_NUMBER)学习关系模式:学习关系模式:SCSC(S#S#,C#C#,GRADEGRADE)数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.5 逻辑结构设计逻辑结构

81、设计 数据库的数据库的逻辑结构逻辑结构是一种由具体的是一种由具体的DBMSDBMS支支持的数据模型。持的数据模型。 1 1、主要任务主要任务 就是按照一定的规则,将概念结构设计阶段就是按照一定的规则,将概念结构设计阶段就是按照一定的规则,将概念结构设计阶段就是按照一定的规则,将概念结构设计阶段设计好的,独立于任何设计好的,独立于任何设计好的,独立于任何设计好的,独立于任何DBMSDBMS数据模型的信息结数据模型的信息结数据模型的信息结数据模型的信息结构,转换为由已选用好的构,转换为由已选用好的构,转换为由已选用好的构,转换为由已选用好的RDBMSRDBMS产品所支持的产品所支持的产品所支持的产

82、品所支持的一组关系模式,并利用关系数据库的规范化理论一组关系模式,并利用关系数据库的规范化理论一组关系模式,并利用关系数据库的规范化理论一组关系模式,并利用关系数据库的规范化理论对这组关系模式进行规范化设计和优化处理,从对这组关系模式进行规范化设计和优化处理,从对这组关系模式进行规范化设计和优化处理,从对这组关系模式进行规范化设计和优化处理,从而得出满足所有数据要求的关系数据库模型,也而得出满足所有数据要求的关系数据库模型,也而得出满足所有数据要求的关系数据库模型,也而得出满足所有数据要求的关系数据库模型,也即即即即数据库的逻辑结构数据库的逻辑结构数据库的逻辑结构数据库的逻辑结构。0、逻辑结构

83、设计的任务和步骤、逻辑结构设计的任务和步骤 2、步骤、步骤 (1 1)将由)将由)将由)将由E-RE-R图表示的概念结构转换成关图表示的概念结构转换成关图表示的概念结构转换成关图表示的概念结构转换成关系模型;系模型;系模型;系模型; (2 2)利用规范化理论对关系模型进行规范)利用规范化理论对关系模型进行规范)利用规范化理论对关系模型进行规范)利用规范化理论对关系模型进行规范化设计和处理;化设计和处理;化设计和处理;化设计和处理; (3 3)对关系模型进行优化处理。)对关系模型进行优化处理。)对关系模型进行优化处理。)对关系模型进行优化处理。0、逻辑结构设计的任务和步骤、逻辑结构设计的任务和步

84、骤一、一、ER图向关系模型转换图向关系模型转换 1、多对多联系向关系模型的转换、多对多联系向关系模型的转换 当两个实体集间的联系为当两个实体集间的联系为MNMN联系时,每一联系时,每一个实体集用一个单独的关系模式表示,该关系模个实体集用一个单独的关系模式表示,该关系模式的属性用相应实体集的属性表示,关系的键用式的属性用相应实体集的属性表示,关系的键用相应实体集的主码表示。联系集也用一个单独的相应实体集的主码表示。联系集也用一个单独的关系模式表示,该关系模式的属性用该联系集的关系模式表示,该关系模式的属性用该联系集的属性表示,关系的键用该联系集的主码表示。属性表示,关系的键用该联系集的主码表示。

85、专业名称专业名称专业代码专业代码学号学号班级班级学号学号姓名姓名性别性别专业代码专业代码出生年月出生年月专业专业归属归属学生学生籍贯籍贯设置设置学习学习学号学号课程号课程号分数分数课程课程讲授讲授教师教师专业代码专业代码课程号课程号课程号课程号学时学时课程名课程名教职工号教职工号课程号课程号教职工号教职工号电话号码电话号码教研室教研室姓名姓名性别性别出生年月出生年月职称职称图图6.8 大学教学情况的实体大学教学情况的实体-联系模型联系模型(E-R图图)1MMMNNNM学生关系模式学生关系模式: S(S#,SNAME,SSEX,SBIRTHIN,PLACEOFB)专业关系模式专业关系模式: SS

86、(SCODE#,SSNAME)课程关系模式课程关系模式: C(C#,CNAME,CLASSH)设置关系模式设置关系模式: CS(SCODE#,C#)学习关系模式学习关系模式: SC(S#,C#,GRADE)教师关系模式教师关系模式: T(T#,TNAME,TSEX,TBIRTHIN,TITLEOF, TRSECTION,TEL)讲授关系模式讲授关系模式: TEACH(T#,C#)图图图图6.15 6.15 6.15 6.15 图图图图6.86.86.86.8的实体的实体的实体的实体- - - -联系模型中的联系模型中的联系模型中的联系模型中的M:NM:NM:NM:N联系的关系模式联系的关系模式

87、联系的关系模式联系的关系模式 2、一对多联系向关系模型的转换、一对多联系向关系模型的转换 当两个实体集间的联系为当两个实体集间的联系为1N1N联系时,联系联系时,联系两个实体集的联系集没有必要单独设(转换)成两个实体集的联系集没有必要单独设(转换)成一个关系,两个实体集的转换采用如下策略:一个关系,两个实体集的转换采用如下策略: (1 1)将位于联系集)将位于联系集1 1端和端和N N端的实体集按端的实体集按 “ “多对多联系向关系模型的转换多对多联系向关系模型的转换多对多联系向关系模型的转换多对多联系向关系模型的转换”中所述的转换方中所述的转换方式分别转换成一个关系模式,并将式分别转换成一个

88、关系模式,并将1 1端实体集的主端实体集的主码和联系集的非主码属性加入到码和联系集的非主码属性加入到N N端实体集所转换端实体集所转换成的关系模式中。成的关系模式中。一、一、ER图向关系模型转换图向关系模型转换专业名称专业名称专业代码专业代码学号学号班级班级学号学号姓名姓名性别性别专业代码专业代码出生年月出生年月专业专业归属归属学生学生籍贯籍贯设置设置学习学习学号学号课程号课程号分数分数课程课程讲授讲授教师教师专业代码专业代码课程号课程号课程号课程号学时学时课程名课程名教职工号教职工号课程号课程号教职工号教职工号电话号码电话号码教研室教研室姓名姓名性别性别出生年月出生年月职称职称图图6.8 大

89、学教学情况的实体大学教学情况的实体-联系模型联系模型(E-R图图)1MMMNNNM图图6.61 6.61 图图6.86.8的实体的实体- -联系模型中的联系模型中的1:N1:N联系的关系模型联系的关系模型 学生关系模式学生关系模式学生关系模式学生关系模式: : : : S(S#,SNAME,SSEX,SBIRTHIN,PLACEOFB, SCODE# ,CLASS) 专业关系模式专业关系模式: : SS(SCODE#,SSNAME)一、一、ER图向关系模型转换图向关系模型转换 2、一对多联系向关系模型的转换、一对多联系向关系模型的转换 (2 2)当两对于象)当两对于象 “ “一般一般” ” 意

90、义上的实体集意义上的实体集和和 “具体具体” ” 意义上的实体集这样的两个实体集意义上的实体集这样的两个实体集之间的之间的1N1N联系,将位于联系,将位于1 1端的端的“一般一般”意义上的意义上的实体集和位于实体集和位于N N端的端的“具体具体”意义上的实体集按意义上的实体集按“多对多联系向关系模型的转换多对多联系向关系模型的转换多对多联系向关系模型的转换多对多联系向关系模型的转换”中所述的转换方中所述的转换方式分别转换成一个关系模式,并将联系它们的联式分别转换成一个关系模式,并将联系它们的联系集看作一个属性加入到位于系集看作一个属性加入到位于N N端的实体集对应的端的实体集对应的关系模式中。

91、关系模式中。一、一、ER图向关系模型转换图向关系模型转换图图6.11 航空公司飞行员和班组人员的航空公司飞行员和班组人员的isa联系的联系的E-R模型表示模型表示PERSONNEL班组人员班组人员NAME姓名姓名ADDRESS地址地址SALARY工资工资EMP-NO职工号职工号PILOTS飞行员飞行员isaCAN-FLY能驾驶能驾驶PLANES飞机飞机TYPE类型是类型是AICRAFT具体飞机具体飞机SERIAL-NO序列号序列号MANUFACTURER制造厂制造厂MODEL-NO型号型号MN1MM1 飞机关系模式飞机关系模式: : PLANES(MODEL-NO , MANUFACTURER

92、) 具体飞机关系模式具体飞机关系模式: : AICRAFT(SERIAL-NO, TYPE)一、一、ER图向关系模型转换图向关系模型转换 3、一对一联系向关系模型的转换、一对一联系向关系模型的转换 当两个实体集间的联系为当两个实体集间的联系为 11 11 联系时,联联系时,联系两个实体集的联系集没有必要单独设一个关系,系两个实体集的联系集没有必要单独设一个关系,将位于联系集两端的实体集按将位于联系集两端的实体集按“多对多联系向关多对多联系向关多对多联系向关多对多联系向关系模型的转换系模型的转换系模型的转换系模型的转换”中所述的转换方式分别转换成一中所述的转换方式分别转换成一个关系模式,并在转换

93、成的两个关系模式中的任个关系模式,并在转换成的两个关系模式中的任意一个关系模式的属性中加入另一个关系模式的意一个关系模式的属性中加入另一个关系模式的键和联系集的非主码属性。键和联系集的非主码属性。一、一、ER图向关系模型转换图向关系模型转换图图1.28 公司总裁与公司的一对一联系公司总裁与公司的一对一联系公司公司公司名公司名地址地址电话电话邮政编码邮政编码任职任职公司总裁公司总裁出生年月出生年月总裁姓名总裁姓名职称职称性别性别任职年月任职年月11公司关系模式(公司关系模式(公司名公司名,地址,电话,邮政编码,地址,电话,邮政编码, 总裁姓名,任职年月)总裁姓名,任职年月)公司总裁关系模式公司总

94、裁关系模式( (总裁姓名总裁姓名,性别,出生年月,职称,性别,出生年月,职称) )或:或:公司关系模式(公司关系模式(公司名公司名,地址,电话,邮政编码),地址,电话,邮政编码)公司总裁关系模式公司总裁关系模式( (总裁姓名总裁姓名,性别,出生年月,性别,出生年月, 职称,公司名,任职年月职称,公司名,任职年月) )#一、一、ER图向关系模型转换图向关系模型转换 设计方法:设计方法: (1 1)参照每个关系模式的语义及其内涵,分)参照每个关系模式的语义及其内涵,分)参照每个关系模式的语义及其内涵,分)参照每个关系模式的语义及其内涵,分别写出每个关系模式中各个属性之间的数据依赖,别写出每个关系模

95、式中各个属性之间的数据依赖,别写出每个关系模式中各个属性之间的数据依赖,别写出每个关系模式中各个属性之间的数据依赖,进而确定每个关系模式的函数依赖集。进而确定每个关系模式的函数依赖集。进而确定每个关系模式的函数依赖集。进而确定每个关系模式的函数依赖集。 (2 2) 按照函数依赖理论中的最小依赖集的求按照函数依赖理论中的最小依赖集的求按照函数依赖理论中的最小依赖集的求按照函数依赖理论中的最小依赖集的求法法法法,求每个关系模式函数依赖集的最小依赖集。求每个关系模式函数依赖集的最小依赖集。求每个关系模式函数依赖集的最小依赖集。求每个关系模式函数依赖集的最小依赖集。 (3 3)将求得的每个关系模式的函

96、数依赖集中)将求得的每个关系模式的函数依赖集中)将求得的每个关系模式的函数依赖集中)将求得的每个关系模式的函数依赖集中的决定因素相同的函数依赖进行合并。的决定因素相同的函数依赖进行合并。的决定因素相同的函数依赖进行合并。的决定因素相同的函数依赖进行合并。二、关系数据模型规范化设计二、关系数据模型规范化设计 设计方法:设计方法: (4 4)按照关系模式分解理论和函数依赖理论,)按照关系模式分解理论和函数依赖理论,)按照关系模式分解理论和函数依赖理论,)按照关系模式分解理论和函数依赖理论,对每个关系模式及与之相关的函数依赖进行分解,对每个关系模式及与之相关的函数依赖进行分解,对每个关系模式及与之相

97、关的函数依赖进行分解,对每个关系模式及与之相关的函数依赖进行分解,使得分解后的关系模式至少满足第三范式或使得分解后的关系模式至少满足第三范式或使得分解后的关系模式至少满足第三范式或使得分解后的关系模式至少满足第三范式或BCNFBCNF范式。范式。范式。范式。 (5 5)通过以上的模式分解过程后,可能出现)通过以上的模式分解过程后,可能出现)通过以上的模式分解过程后,可能出现)通过以上的模式分解过程后,可能出现某些完全相同的关系模式,将其某些完全相同的关系模式,将其某些完全相同的关系模式,将其某些完全相同的关系模式,将其“ “合并合并合并合并” ”成一个成一个成一个成一个单独的关系模式,即消除掉

98、多余的关系模式。单独的关系模式,即消除掉多余的关系模式。单独的关系模式,即消除掉多余的关系模式。单独的关系模式,即消除掉多余的关系模式。二、关系数据模型规范化设计二、关系数据模型规范化设计三、关系数据模型的优化三、关系数据模型的优化 当关系模式的规范化程度较高时,关系模式当关系模式的规范化程度较高时,关系模式当关系模式的规范化程度较高时,关系模式当关系模式的规范化程度较高时,关系模式分解的就比较分解的就比较分解的就比较分解的就比较“ “碎碎碎碎” ”,在实际应用中就会因出现,在实际应用中就会因出现,在实际应用中就会因出现,在实际应用中就会因出现过多的联接运算而使查询效率较低低。过多的联接运算而

99、使查询效率较低低。过多的联接运算而使查询效率较低低。过多的联接运算而使查询效率较低低。 关系数据模型优化关系数据模型优化关系数据模型优化关系数据模型优化就是依据应用需求对信息就是依据应用需求对信息就是依据应用需求对信息就是依据应用需求对信息处理的要求,综合衡量得到的关系模式是否符合处理的要求,综合衡量得到的关系模式是否符合处理的要求,综合衡量得到的关系模式是否符合处理的要求,综合衡量得到的关系模式是否符合最常用的查询要求,从查询效率角度出发对某些最常用的查询要求,从查询效率角度出发对某些最常用的查询要求,从查询效率角度出发对某些最常用的查询要求,从查询效率角度出发对某些关系模式进行合并,以便减

100、少联接运算次数,提关系模式进行合并,以便减少联接运算次数,提关系模式进行合并,以便减少联接运算次数,提关系模式进行合并,以便减少联接运算次数,提高查询效率。高查询效率。高查询效率。高查询效率。数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.6 物理结构设计物理结构设计 数据库的数据库的物理结构物理结构主要是指数据库在物理主要是指数据库在物理存储设备上的存储结构和存取方法。存储设备上的存储结构和存取方法。 根据所选用的根据所选用的根据所选用的根据所选用的RDBMSRDBMS所提供的存储结构和所提供的存储结构和所提供的存储结构和所提供的存储结构和存储方法,为逻辑结构设计阶段设计

101、好的逻辑数存储方法,为逻辑结构设计阶段设计好的逻辑数存储方法,为逻辑结构设计阶段设计好的逻辑数存储方法,为逻辑结构设计阶段设计好的逻辑数据库模型选定其在物理存储设备上的存储结构和据库模型选定其在物理存储设备上的存储结构和据库模型选定其在物理存储设备上的存储结构和据库模型选定其在物理存储设备上的存储结构和存取方法,并对设计好的数据库存储结构和存储存取方法,并对设计好的数据库存储结构和存储存取方法,并对设计好的数据库存储结构和存储存取方法,并对设计好的数据库存储结构和存储方法进行必要的评价。方法进行必要的评价。方法进行必要的评价。方法进行必要的评价。 0、物理结构设计的主要任务、物理结构设计的主要

102、任务 好的物理结构的衡量标准:好的物理结构的衡量标准:好的物理结构的衡量标准:好的物理结构的衡量标准: 数据库的存储结构和存储方法要占用存储空数据库的存储结构和存储方法要占用存储空数据库的存储结构和存储方法要占用存储空数据库的存储结构和存储方法要占用存储空间较少,具有尽可能高的查询效率和较低的维护间较少,具有尽可能高的查询效率和较低的维护间较少,具有尽可能高的查询效率和较低的维护间较少,具有尽可能高的查询效率和较低的维护代价。代价。代价。代价。 实现技术:实现技术:实现技术:实现技术: 为关系模式建立索引;为关系模式建立索引;为关系模式建立索引;为关系模式建立索引; 为相关的关系模式建立聚簇;

103、为相关的关系模式建立聚簇;为相关的关系模式建立聚簇;为相关的关系模式建立聚簇; 给关系模式加锁。给关系模式加锁。给关系模式加锁。给关系模式加锁。 0、物理结构设计的主要任务、物理结构设计的主要任务一、索引技术一、索引技术 1、索引的概念、索引的概念 索引索引是一种表形式的数据结构,由给定的一是一种表形式的数据结构,由给定的一是一种表形式的数据结构,由给定的一是一种表形式的数据结构,由给定的一个或一组数据项(主键或非主键)组成。个或一组数据项(主键或非主键)组成。个或一组数据项(主键或非主键)组成。个或一组数据项(主键或非主键)组成。 对于主键值对于主键值对于主键值对于主键值 K Ki i(i=

104、1i=1,2 2,n n)和对应纪)和对应纪)和对应纪)和对应纪录的地址录的地址录的地址录的地址R Rkiki,KKi i,A(RA(Rkiki)称为索引项,索引的称为索引项,索引的称为索引项,索引的称为索引项,索引的一般结构为:一般结构为:一般结构为:一般结构为: K K K K1 1 1 1K K K K2 2 2 2K K K K3 3 3 3k k k kn n n nA(A(K K1 1) )A(A(K K2 2) )A(A(K K3 3) )A(A(k kn n) )一、索引技术一、索引技术图图6.19 6.19 学生关系索引方式学生关系索引方式 索引表索引表主键主键地址指针地址指

105、针 200401003200401003 o o 200402001200402001 o o 200402002200402002 o o 200401002200401002 o o 200401001200401001 o o 200402001 200402001 杨秋红杨秋红 数据区数据区( (学生关系学生关系S S) 200401002 200401002 李建平李建平 200402002 200402002 吴志伟吴志伟 200401003 200401003 王丽丽王丽丽 200401001 200401001 张华张华 一、索引技术一、索引技术 2、线性索引、线性索引 分为稠

106、密索引和稀疏索引。分为稠密索引和稀疏索引。一、索引技术一、索引技术 (1 1)稠密索引)稠密索引)稠密索引)稠密索引(dense index) (dense index) 稠密索引的特征:稠密索引的特征:稠密索引的特征:稠密索引的特征: 1 1)按主键值的排序建立索引项,每个索引)按主键值的排序建立索引项,每个索引)按主键值的排序建立索引项,每个索引)按主键值的排序建立索引项,每个索引项包含一个主键值和由该主键值标识的记录的地项包含一个主键值和由该主键值标识的记录的地项包含一个主键值和由该主键值标识的记录的地项包含一个主键值和由该主键值标识的记录的地址指针。址指针。址指针。址指针。 2 2)每

107、个索引项对应一个记录,记录的存放)每个索引项对应一个记录,记录的存放)每个索引项对应一个记录,记录的存放)每个索引项对应一个记录,记录的存放顺序是任意的顺序是任意的顺序是任意的顺序是任意的 。 3 3)索引项的个数与记录的个数相等(也就)索引项的个数与记录的个数相等(也就)索引项的个数与记录的个数相等(也就)索引项的个数与记录的个数相等(也就是说索引项较多,所以称为稠密索引)。是说索引项较多,所以称为稠密索引)。是说索引项较多,所以称为稠密索引)。是说索引项较多,所以称为稠密索引)。一、索引技术一、索引技术稠密索引示例:稠密索引示例:图图6.19 6.19 学生关系索引方式学生关系索引方式 索

108、引表索引表主键主键地址指针地址指针 200401003200401003 o o 200402001200402001 o o 200402002200402002 o o 200401002200401002 o o 200401001200401001 o o 200402001 200402001 杨秋红杨秋红 数据区数据区( (学生关系学生关系S S) 200401002 200401002 李建平李建平 200402002 200402002 吴志伟吴志伟 200401003 200401003 王丽丽王丽丽 200401001 200401001 张华张华 一、索引技术一、索引技术

109、 (2 2)稀疏索引稀疏索引稀疏索引稀疏索引(sparse index)(sparse index) 稀疏索引的特征:稀疏索引的特征:稀疏索引的特征:稀疏索引的特征: 1 1)所有数据记录按主键值顺序存放在若干)所有数据记录按主键值顺序存放在若干)所有数据记录按主键值顺序存放在若干)所有数据记录按主键值顺序存放在若干个块中个块中个块中个块中 。 2 2)每个块的最大主键值(即该块最后一个)每个块的最大主键值(即该块最后一个)每个块的最大主键值(即该块最后一个)每个块的最大主键值(即该块最后一个数据记录的主键值)和该块的起始地址组成一个数据记录的主键值)和该块的起始地址组成一个数据记录的主键值)

110、和该块的起始地址组成一个数据记录的主键值)和该块的起始地址组成一个索引项索引项索引项索引项 。 3 3)每个块中的索引项按主键值顺序排列组)每个块中的索引项按主键值顺序排列组)每个块中的索引项按主键值顺序排列组)每个块中的索引项按主键值顺序排列组成索引表(由于是每个块只有一个索引项,索引成索引表(由于是每个块只有一个索引项,索引成索引表(由于是每个块只有一个索引项,索引成索引表(由于是每个块只有一个索引项,索引项较少,所以称为稀疏索引)。项较少,所以称为稀疏索引)。项较少,所以称为稀疏索引)。项较少,所以称为稀疏索引)。一、索引技术一、索引技术索引表索引表主键主键地址指针地址指针图图6.20

111、学生关系的稀疏索引方式学生关系的稀疏索引方式200403003200403003 o o 200402003200402003 o o200401003 o 200401002 200401002 李建平李建平李建平李建平 200401001 张张 华华 数据区数据区(学生关系学生关系S) 200402002 200402002 吴志伟吴志伟吴志伟吴志伟 200401003 200401003 王丽丽王丽丽王丽丽王丽丽 200402003 李李 涛涛 200402001 200402001 杨秋红杨秋红杨秋红杨秋红 200403001 200403001 赵晓艳赵晓艳 200403002 20

112、0403002 赵惠赵惠赵惠赵惠 200403003 200403003 孙东方孙东方孙东方孙东方 稀疏索引示例:稀疏索引示例:一、索引技术一、索引技术 3、B-树树 在在在在稀稀稀稀疏疏疏疏索索索索引引引引方方方方式式式式中中中中,当当当当索索索索引引引引项项项项很很很很多多多多时时时时,可可可可以以以以将将将将索索索索引引引引分分分分块块块块,建建建建立立立立高高高高一一一一级级级级的的的的索索索索引引引引;进进进进一一一一步步步步,还还还还可可可可以以以以建建建建立立立立更更更更高高高高一一一一级级级级的的的的索索索索引引引引,直直直直至至至至最最最最高高高高一一一一级级级级的的的的索索

113、索索引引引引只只只只占占占占一一一一个个个个块块块块为为为为止止止止。这这这这种种种种多多多多级级级级索索索索引引引引就就就就组组组组成成成成了了了了一一一一棵棵棵棵多级索引树。多级索引树。多级索引树。多级索引树。一、索引技术一、索引技术2 9 26 60 99 140 180 2 5 26 39 48 99 120 180201 220 9 15 60 85 140 159 图图4.4多级索引多级索引第一级索引第一级索引第二级索引第二级索引第三级索引第三级索引2 26 140 一、索引技术一、索引技术 与与B-B-树相关的概念、术语:树相关的概念、术语: (1 1)结点结点结点结点:在:在:

114、在:在B-B-树中,将根结点、叶结点和树中,将根结点、叶结点和树中,将根结点、叶结点和树中,将根结点、叶结点和内结点(内结点(内结点(内结点(B-B-树中除根结点和叶结点以外的结点)树中除根结点和叶结点以外的结点)树中除根结点和叶结点以外的结点)树中除根结点和叶结点以外的结点)统称为结点。统称为结点。统称为结点。统称为结点。 根结点和内结点是存放索引项的存储块,简根结点和内结点是存放索引项的存储块,简根结点和内结点是存放索引项的存储块,简根结点和内结点是存放索引项的存储块,简称为称为称为称为索引存储块索引存储块索引存储块索引存储块或索引块。或索引块。或索引块。或索引块。 叶结点是存放记录索引项

115、的存储块,简称为叶结点是存放记录索引项的存储块,简称为叶结点是存放记录索引项的存储块,简称为叶结点是存放记录索引项的存储块,简称为记录索引块记录索引块记录索引块记录索引块或叶块,每个记录索引项包含关系中或叶块,每个记录索引项包含关系中或叶块,每个记录索引项包含关系中或叶块,每个记录索引项包含关系中一个记录的主键和它的地址指针。一个记录的主键和它的地址指针。一个记录的主键和它的地址指针。一个记录的主键和它的地址指针。一、索引技术一、索引技术 与与B-B-树相关的概念、术语:树相关的概念、术语: (2 2)子树子树子树子树:结点中每个地址指针指向一棵子:结点中每个地址指针指向一棵子:结点中每个地址

116、指针指向一棵子:结点中每个地址指针指向一棵子树,也即结点中的每个分支称为一棵子树。树,也即结点中的每个分支称为一棵子树。树,也即结点中的每个分支称为一棵子树。树,也即结点中的每个分支称为一棵子树。 (3 3)B-B-树的深度树的深度树的深度树的深度:每棵:每棵:每棵:每棵B-B-树所包含的层数,树所包含的层数,树所包含的层数,树所包含的层数,包括叶结点,称为包括叶结点,称为包括叶结点,称为包括叶结点,称为B-B-树的深度。树的深度。树的深度。树的深度。 (4 4)B-B-树的阶数树的阶数树的阶数树的阶数:B-B-树的结点中最多的指针树的结点中最多的指针树的结点中最多的指针树的结点中最多的指针数

117、称为数称为数称为数称为B-B-树的阶数。树的阶数。树的阶数。树的阶数。 一、索引技术一、索引技术 B-B-树的定义:树的定义: 满足如下条件的满足如下条件的满足如下条件的满足如下条件的B-B-树称为一棵树称为一棵树称为一棵树称为一棵mm阶阶阶阶B-B-树(树(树(树(mm为不小于为不小于为不小于为不小于3 3的正整数):的正整数):的正整数):的正整数): (1 1)根结点或者至少有)根结点或者至少有)根结点或者至少有)根结点或者至少有2 2个子树,或者本身个子树,或者本身个子树,或者本身个子树,或者本身为叶结点;为叶结点;为叶结点;为叶结点; (2 2)每个结点)每个结点)每个结点)每个结点

118、最多最多最多最多有有有有mm棵子树;棵子树;棵子树;棵子树; (3 3)每个内结点)每个内结点)每个内结点)每个内结点至少至少至少至少有有有有 棵子树(棵子树(棵子树(棵子树( 为向上取整符号);为向上取整符号);为向上取整符号);为向上取整符号); (4 4)从根结点到叶结点的每一条路径长度相)从根结点到叶结点的每一条路径长度相)从根结点到叶结点的每一条路径长度相)从根结点到叶结点的每一条路径长度相等,也即树中所有叶结点处于同一层次上。等,也即树中所有叶结点处于同一层次上。等,也即树中所有叶结点处于同一层次上。等,也即树中所有叶结点处于同一层次上。一、索引技术一、索引技术 有关约定:有关约定

119、: (1 1)除叶结点之外的所有其它结点的索引块)除叶结点之外的所有其它结点的索引块)除叶结点之外的所有其它结点的索引块)除叶结点之外的所有其它结点的索引块最多可存放最多可存放最多可存放最多可存放m-1m-1个主键值和个主键值和个主键值和个主键值和mm个地址指针。个地址指针。个地址指针。个地址指针。 一、索引技术一、索引技术 有关约定:有关约定: (2 2)叶结点上不包含数据记录本身,而是由)叶结点上不包含数据记录本身,而是由)叶结点上不包含数据记录本身,而是由)叶结点上不包含数据记录本身,而是由记录索引项组成的记录索引块,每个记录索引项记录索引项组成的记录索引块,每个记录索引项记录索引项组成

120、的记录索引块,每个记录索引项记录索引项组成的记录索引块,每个记录索引项包含有主键值和地址指针。每个叶结点中的记录包含有主键值和地址指针。每个叶结点中的记录包含有主键值和地址指针。每个叶结点中的记录包含有主键值和地址指针。每个叶结点中的记录索引项按其主键值大小从左到右顺序排列。每个索引项按其主键值大小从左到右顺序排列。每个索引项按其主键值大小从左到右顺序排列。每个索引项按其主键值大小从左到右顺序排列。每个叶结点最多可存放叶结点最多可存放叶结点最多可存放叶结点最多可存放n n个记录索引项个记录索引项个记录索引项个记录索引项(n(n为不小于为不小于为不小于为不小于3 3的的的的正整数正整数正整数正整

121、数) )。格式:。格式:。格式:。格式: 一、索引技术一、索引技术 有关约定:有关约定: (3 3)一般假设,每一个索引块能容纳的索引)一般假设,每一个索引块能容纳的索引)一般假设,每一个索引块能容纳的索引)一般假设,每一个索引块能容纳的索引项数是个奇数,且项数是个奇数,且项数是个奇数,且项数是个奇数,且m=2d-13m=2d-13;每一个记录索引;每一个记录索引;每一个记录索引;每一个记录索引块能容纳的记录索引项也是个奇数,且块能容纳的记录索引项也是个奇数,且块能容纳的记录索引项也是个奇数,且块能容纳的记录索引项也是个奇数,且n=2e-n=2e-1313。 这里,这里,这里,这里,d d和和

122、和和e e是正整数。是正整数。是正整数。是正整数。 一、索引技术一、索引技术 9 60 99 180 2 5 15 39 48 85 120 159 201 220 26 140 第一个索引项(省略了主鍵值)第一个索引项(省略了主鍵值)第一个索引项(省略了主鍵值)第一个索引项(省略了主鍵值)第二个索引项第二个索引项第二个索引项第二个索引项 第三个索引项第三个索引项第三个索引项第三个索引项图图6.22图图6.21中多级索引的中多级索引的B- 树树多级索引的多级索引的B-树示例:树示例:一、索引技术一、索引技术 4、B+树树 B B+ +树的概念:树的概念: B B+是一种同时实现随机查询和顺序查

123、询两种是一种同时实现随机查询和顺序查询两种是一种同时实现随机查询和顺序查询两种是一种同时实现随机查询和顺序查询两种检索方式的树模型。检索方式的树模型。检索方式的树模型。检索方式的树模型。 比较图比较图比较图比较图6.216.21的多级索引结构和图的多级索引结构和图的多级索引结构和图的多级索引结构和图6.226.22的的的的B-B-树树树树可知,出现在可知,出现在可知,出现在可知,出现在B-B-树中除叶结点以外的其它结点上树中除叶结点以外的其它结点上树中除叶结点以外的其它结点上树中除叶结点以外的其它结点上的主键值不再出现在叶结点中,这样显然无法实的主键值不再出现在叶结点中,这样显然无法实的主键值

124、不再出现在叶结点中,这样显然无法实的主键值不再出现在叶结点中,这样显然无法实现顺序查询。现顺序查询。现顺序查询。现顺序查询。一、索引技术一、索引技术随机查询随机查询B-B-树索引树索引( (索引块索引块) )顺序集顺序集( (记记录索引块录索引块) )顺序查询顺序查询图图6.23B+ 树模型树模型 在在在在B B+ +树中,上面是一棵树中,上面是一棵树中,上面是一棵树中,上面是一棵B-B-树,由存放各级索引的索树,由存放各级索引的索树,由存放各级索引的索树,由存放各级索引的索引块组成;下面是所有叶结引块组成;下面是所有叶结引块组成;下面是所有叶结引块组成;下面是所有叶结点组成的一个顺序集,由存

125、点组成的一个顺序集,由存点组成的一个顺序集,由存点组成的一个顺序集,由存放记录索引项的记录索引块放记录索引项的记录索引块放记录索引项的记录索引块放记录索引项的记录索引块组成。组成。组成。组成。 一、索引技术一、索引技术随机查询随机查询B-B-树索引树索引( (索引块索引块) )顺序集顺序集( (记记录索引块录索引块) )顺序查询顺序查询图图6.23B+ 树模型树模型 通过让树中所有索引项通过让树中所有索引项通过让树中所有索引项通过让树中所有索引项按其主键值的递增顺序从左按其主键值的递增顺序从左按其主键值的递增顺序从左按其主键值的递增顺序从左到右都出现在叶结点上,并到右都出现在叶结点上,并到右都

126、出现在叶结点上,并到右都出现在叶结点上,并用指针链把所有叶结点链接用指针链把所有叶结点链接用指针链把所有叶结点链接用指针链把所有叶结点链接起来,从而实现了通过索引起来,从而实现了通过索引起来,从而实现了通过索引起来,从而实现了通过索引树的随机检索和通过叶结点树的随机检索和通过叶结点树的随机检索和通过叶结点树的随机检索和通过叶结点链的顺序检索。链的顺序检索。链的顺序检索。链的顺序检索。 一、索引技术一、索引技术 一棵一棵m m阶的阶的B B+ +树与一棵树与一棵m m阶的阶的B-B-树的区别:树的区别: (1 1)在)在)在)在B B+树的叶结点中包含了树的叶结点中包含了树的叶结点中包含了树的叶

127、结点中包含了B B+树中的全树中的全树中的全树中的全部主键值,且其中的所有索引项按其主键值的递部主键值,且其中的所有索引项按其主键值的递部主键值,且其中的所有索引项按其主键值的递部主键值,且其中的所有索引项按其主键值的递增顺序从左到右而顺序链接。增顺序从左到右而顺序链接。增顺序从左到右而顺序链接。增顺序从左到右而顺序链接。 而在而在而在而在B-B-树中,由于主键值分布在各个索引层树中,由于主键值分布在各个索引层树中,由于主键值分布在各个索引层树中,由于主键值分布在各个索引层上,所以叶结点中没有包含上,所以叶结点中没有包含上,所以叶结点中没有包含上,所以叶结点中没有包含B-B-树中的全部主键值,

128、树中的全部主键值,树中的全部主键值,树中的全部主键值,且各叶结点间的主键值没有顺序链接。且各叶结点间的主键值没有顺序链接。且各叶结点间的主键值没有顺序链接。且各叶结点间的主键值没有顺序链接。一、索引技术一、索引技术 一棵一棵m m阶的阶的B B+ +树与一棵树与一棵m m阶的阶的B-B-树的区别:树的区别: (2 2)在)在)在)在B B+树中,所有非叶结点包含了其子树中,所有非叶结点包含了其子树中,所有非叶结点包含了其子树中,所有非叶结点包含了其子树中的叶结点的最小主键值。树中的叶结点的最小主键值。树中的叶结点的最小主键值。树中的叶结点的最小主键值。 而在而在而在而在B-B-树中,非叶结点中

129、的主键值不再出现树中,非叶结点中的主键值不再出现树中,非叶结点中的主键值不再出现树中,非叶结点中的主键值不再出现在其子树中。在其子树中。在其子树中。在其子树中。 一、索引技术一、索引技术 一棵一棵m m阶的阶的B B+ +树与一棵树与一棵m m阶的阶的B-B-树的区别:树的区别: (3 3)在)在)在)在B B+树中,查询任何数据记录所经历树中,查询任何数据记录所经历树中,查询任何数据记录所经历树中,查询任何数据记录所经历的路径是等长的。的路径是等长的。的路径是等长的。的路径是等长的。 而在而在而在而在B-B-树中,不同数据记录的查询路径是不树中,不同数据记录的查询路径是不树中,不同数据记录的

130、查询路径是不树中,不同数据记录的查询路径是不等长的。等长的。等长的。等长的。一、索引技术一、索引技术 一棵一棵m m阶的阶的B B+ +树与一棵树与一棵m m阶的阶的B-B-树的区别:树的区别: (4 4)在)在)在)在B B+树中,可以采用两种方式进行查树中,可以采用两种方式进行查树中,可以采用两种方式进行查树中,可以采用两种方式进行查询,当随机查询时,通过询,当随机查询时,通过询,当随机查询时,通过询,当随机查询时,通过B B+树索引找到要查找的树索引找到要查找的树索引找到要查找的树索引找到要查找的数据记录,从根部开始查找;当顺序查询时,通数据记录,从根部开始查找;当顺序查询时,通数据记录

131、,从根部开始查找;当顺序查询时,通数据记录,从根部开始查找;当顺序查询时,通过顺序集找到要查找的数据记录,从顺序集的链过顺序集找到要查找的数据记录,从顺序集的链过顺序集找到要查找的数据记录,从顺序集的链过顺序集找到要查找的数据记录,从顺序集的链头或通过头或通过头或通过头或通过B B树索引得到某一顺序结点并开始找起。树索引得到某一顺序结点并开始找起。树索引得到某一顺序结点并开始找起。树索引得到某一顺序结点并开始找起。而在而在而在而在B-B-树中,只有从根部随机查找的一种方式。树中,只有从根部随机查找的一种方式。树中,只有从根部随机查找的一种方式。树中,只有从根部随机查找的一种方式。一、索引技术一

132、、索引技术图图6.24图图6.22中中B- 树的树的 树树 180 201 220 9 60 99 180 9 15 60 85 140 159 26 140 2 5 26 39 4899 120 B B+ +树示例:树示例:一、索引技术一、索引技术 5、B+树的操作树的操作 1 1)查找)查找)查找)查找 2 2)修改)修改)修改)修改 3 3)插入)插入)插入)插入 4 4)删除)删除)删除)删除二、数据聚簇二、数据聚簇 数据聚簇数据聚簇是数据库物理结构设计中提高查是数据库物理结构设计中提高查询性能的另一种有效方法。询性能的另一种有效方法。二、数据聚簇二、数据聚簇 1、数据聚簇的基本思想、

133、数据聚簇的基本思想 使使那那些些经经常常在在一一起起进进行行联联接接查查询询的的表表的的数数据据在在物物理理介介质质上上尽尽量量临临近近存存放放,也也即即把把它它们们聚聚集集地地存放在一起。存放在一起。 二、数据聚簇二、数据聚簇 2、数据聚簇的实现方法、数据聚簇的实现方法 进进行行联联接接查查询询的的几几个个表表必必定定存存在在公公共共字字段段,这这些些公公共共字字段段或或者者是是某某个个表表的的主主键键,或或者者是是某某个个表表的的外外键键,所所以以就就可可利利用用这这些些公公共共字字段段,把把相相关关表表中中主主键键与与外外键键相相同同的的记记录录临临近近存存放放,把把多多个个表表的数据存

134、储到同一物理块上。的数据存储到同一物理块上。二、数据聚簇二、数据聚簇 2、数据聚簇的实现方法、数据聚簇的实现方法 这这样样在在进进行行联联接接查查询询操操作作时时,进进行行联联接接运运算算的的几几个个表表的的数数据据就就可可在在同同一一个个物物理理块块中中同同时时调调到到内内存存中中,从从而而可可以以减减少少存存储储管管理理中中的的页页面面调调进进调调出次数和搜索时间。出次数和搜索时间。二、数据聚簇二、数据聚簇 2、数据聚簇的实现方法、数据聚簇的实现方法 另另外外,聚聚簇簇方方式式在在存存储储几几个个表表的的数数据据记记录录时时,值值相相同同的的主主键键与与外外键键对对多多表表只只存存放放一一

135、次次,所所以以聚聚簇还可以减少存储代价簇还可以减少存储代价 二、数据聚簇二、数据聚簇 3、举例、举例 S0403S040311-mar-8211-mar-82女女女女赵晓艳赵晓艳200403001200403001S0402S040225-jun-8325-jun-83男男男男李李李李 涛涛涛涛200402003200402003S0402S040230-jun-8230-jun-82男男男男吴志吴志吴志吴志伟伟200402002200402002S0402S040209-may-8309-may-83女女女女杨杨秋秋秋秋红红200402001200402001S0401S040102-feb

136、-8302-feb-83女女女女王王王王丽丽丽丽200401003200401003S0401S040120-aug-8220-aug-82男男男男李建平李建平李建平李建平200101002200101002S0401S040114-dec-8214-dec-82男男男男张华张华张华张华200401001200401001专业代码专业代码专业代码专业代码出生年月出生年月出生年月出生年月性别性别性别性别姓名姓名姓名姓名学号学号学号学号信息研究信息研究信息研究信息研究S0404S0404网络工程网络工程网络工程网络工程S0403S0403指挥自动化指挥自动化指挥自动化指挥自动化S0402S0402

137、计算机科学计算机科学计算机科学计算机科学S0401S0401专业名称专业名称专业名称专业名称专业代码专业代码专业代码专业代码(a)学生关系)学生关系S1(b)专业关系)专业关系SS图图6.27 关系模式关系模式S1和和SS的具体关系的具体关系二、数据聚簇二、数据聚簇SS:计算机科学:计算机科学S1:200401001 张张 华华 男男 14-dec-82 200401002 李建平李建平 男男 20-aug-82 200401003 王丽丽王丽丽 女女 02-feb-83SS:指挥自动化:指挥自动化S1:200402001 杨秋红杨秋红 女女 09-may-83 200402002 吴志伟吴志

138、伟 男男 30-jun-82 200402003 李李 涛涛 男男 25-jun-83SS:网络工程:网络工程S1:200403001 赵晓艳赵晓艳 女女 11-mar-82SS:信息研究:信息研究SCODE=S0401SCODE=S0402SCODE=S0403SCODE=S0404图图6.28 关系关系S1和关系和关系SS的聚簇数据逻辑结构示例的聚簇数据逻辑结构示例三、三、SQL Server2005中的索引中的索引 SQL Server 2005SQL Server 2005数据库提供了丰富的索引类数据库提供了丰富的索引类型,可在表中任何列上定义索引。型,可在表中任何列上定义索引。 索引

139、的类型:索引的类型: 1 1)惟一索引:即不会有两行记录的索引键)惟一索引:即不会有两行记录的索引键值是相同的。值是相同的。 2 2)非惟一索引:即多个行可以共享同一键)非惟一索引:即多个行可以共享同一键值。值。 四、数据库文件四、数据库文件 一个数据库一般包含有三类文件:数据文件、一个数据库一般包含有三类文件:数据文件、一个数据库一般包含有三类文件:数据文件、一个数据库一般包含有三类文件:数据文件、日志文件、控制文件。日志文件、控制文件。日志文件、控制文件。日志文件、控制文件。 其中:其中:数据文件(数据文件(Data fileData file)和日志文件)和日志文件(Log fileLo

140、g file)两者组合在一起构成一个数据库的)两者组合在一起构成一个数据库的物理表现。物理表现。 四、数据库文件四、数据库文件 1、数据文件、数据文件 数据文件是存放数据库数据和数据库对象的数据文件是存放数据库数据和数据库对象的文件,一个数据库可以有一个或多个数据文件。文件,一个数据库可以有一个或多个数据文件。 当有多个数据文件时,其中的一个数据文件当有多个数据文件时,其中的一个数据文件被定义为主数据文件,除主数据文件以外的所有被定义为主数据文件,除主数据文件以外的所有其他数据文件被称为次数据文件。其他数据文件被称为次数据文件。 1、数据文件、数据文件 (1 1)主数据文件)主数据文件 主数据

141、文件用来存储数据库的启动信息和部主数据文件用来存储数据库的启动信息和部主数据文件用来存储数据库的启动信息和部主数据文件用来存储数据库的启动信息和部分或全部数据;主数据文件是数据库的起点,并分或全部数据;主数据文件是数据库的起点,并分或全部数据;主数据文件是数据库的起点,并分或全部数据;主数据文件是数据库的起点,并指向数据库中的其他文件。指向数据库中的其他文件。指向数据库中的其他文件。指向数据库中的其他文件。 (2 2)次数据文件)次数据文件 次数据文件用来存储主数据文件中容纳不下次数据文件用来存储主数据文件中容纳不下次数据文件用来存储主数据文件中容纳不下次数据文件用来存储主数据文件中容纳不下的

142、数据。次数据文件是可选的,当主数据文件大的数据。次数据文件是可选的,当主数据文件大的数据。次数据文件是可选的,当主数据文件大的数据。次数据文件是可选的,当主数据文件大到足以容纳数据库中的所有数据时,就可以不要到足以容纳数据库中的所有数据时,就可以不要到足以容纳数据库中的所有数据时,就可以不要到足以容纳数据库中的所有数据时,就可以不要次数据文件。次数据文件。次数据文件。次数据文件。 四、数据库文件四、数据库文件四、数据库文件四、数据库文件 2、日志文件、日志文件 日志文件用于保存恢复数据库所需的日志信日志文件用于保存恢复数据库所需的日志信息。每个数据库必须至少有一个日志文件,较大息。每个数据库必

143、须至少有一个日志文件,较大型的数据库系统通常有多个日志文件。型的数据库系统通常有多个日志文件。 四、数据库文件四、数据库文件 3、控制文件、控制文件 控制文件存放与数据库所有文件相关的关键控制文件存放与数据库所有文件相关的关键控制信息,保持数据库的完整性,决定恢复数据控制信息,保持数据库的完整性,决定恢复数据时使用哪些日志信息。时使用哪些日志信息。 每个数据库必须至少有一个控制文件,通常每个数据库必须至少有一个控制文件,通常使用两个或多个控制文件。使用两个或多个控制文件。 四、数据库文件四、数据库文件 4、SQL Server的数据库存储组织的数据库存储组织 一个一个SQL ServerSQL

144、 Server数据库由数据文件和日志文数据库由数据文件和日志文件组成,文件由盘区组成,盘区由页面组成。件组成,文件由盘区组成,盘区由页面组成。四、数据库文件四、数据库文件 4、SQL Server的数据库存储组织的数据库存储组织 页页(8KB)数据数据盘区盘区(8个连续页面个连续页面)表、索引表、索引数据库数据库数据(文件)数据(文件).mdf及及.ndf日志(文件)日志(文件).ldf图图6.29 SQL Server6.29 SQL Server数据库的存储组织数据库的存储组织 数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.7 存储结构创建存储结构创建六、物理存储模式

145、创建六、物理存储模式创建 任务:任务: 用用用用 RDBMSRDBMS提供的提供的提供的提供的DDLDDL语言建立每个关系语言建立每个关系语言建立每个关系语言建立每个关系模式的内模式,包括创建聚簇、创建表、创建索模式的内模式,包括创建聚簇、创建表、创建索模式的内模式,包括创建聚簇、创建表、创建索模式的内模式,包括创建聚簇、创建表、创建索引等;进行数据库的安全性和完整性设计。引等;进行数据库的安全性和完整性设计。引等;进行数据库的安全性和完整性设计。引等;进行数据库的安全性和完整性设计。数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.8 数据库应用行为设计数据库应用行为设计

146、数据库的应用行为数据库的应用行为是指用户使用数据库应是指用户使用数据库应用系统的接口和环境,进行的与应用的程序设计、用系统的接口和环境,进行的与应用的程序设计、编写和调试相关的工作过程。编写和调试相关的工作过程。 一、数据库应用行为设计的任务和过程一、数据库应用行为设计的任务和过程n n实验数据的录入与加载;实验数据的录入与加载;实验数据的录入与加载;实验数据的录入与加载;n n用户视图的确定和建立;用户视图的确定和建立;用户视图的确定和建立;用户视图的确定和建立;n n利用利用利用利用RDBMSRDBMS提供的主语言进行应用程序的设计提供的主语言进行应用程序的设计提供的主语言进行应用程序的设

147、计提供的主语言进行应用程序的设计与调试;与调试;与调试;与调试;n n实际数据的录入加载和系统的试运行;实际数据的录入加载和系统的试运行;实际数据的录入加载和系统的试运行;实际数据的录入加载和系统的试运行;n n对数据库性能进行必要测试、评价和改进。对数据库性能进行必要测试、评价和改进。对数据库性能进行必要测试、评价和改进。对数据库性能进行必要测试、评价和改进。 总结:总结:围绕应用程序的设计、编写和调试的围绕应用程序的设计、编写和调试的围绕应用程序的设计、编写和调试的围绕应用程序的设计、编写和调试的相关工作相关工作相关工作相关工作二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入

148、操作应用程序设计 1、嵌入式、嵌入式SQL的概念的概念 (1 1)交互式)交互式SQLSQL 在交互式终端方式下使用的单独的在交互式终端方式下使用的单独的在交互式终端方式下使用的单独的在交互式终端方式下使用的单独的SQLSQL语句。语句。语句。语句。 交互式交互式交互式交互式SQLSQL是非过程语言,大多数语句的执是非过程语言,大多数语句的执是非过程语言,大多数语句的执是非过程语言,大多数语句的执行都是独立的,与上下文无关的;无法满足绝大行都是独立的,与上下文无关的;无法满足绝大行都是独立的,与上下文无关的;无法满足绝大行都是独立的,与上下文无关的;无法满足绝大多数应用所需的过程性要求。多数应

149、用所需的过程性要求。多数应用所需的过程性要求。多数应用所需的过程性要求。 (2 2)嵌入式)嵌入式SQLSQL 引入过程性结构,把引入过程性结构,把引入过程性结构,把引入过程性结构,把SQLSQL语言嵌入到某种高语言嵌入到某种高语言嵌入到某种高语言嵌入到某种高级语言的形式及其机制。级语言的形式及其机制。级语言的形式及其机制。级语言的形式及其机制。二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 1、嵌入式、嵌入式SQL的概念的概念 (3 3)宿主语言)宿主语言 在在在在SQLSQL嵌入形式中用到的高级语言成为宿主嵌入形式中用到的高级语言成为宿主嵌入形式中用到的高级

150、语言成为宿主嵌入形式中用到的高级语言成为宿主语言。语言。语言。语言。 (4 4)应用程序)应用程序 含有嵌入含有嵌入含有嵌入含有嵌入SQLSQL语句的高级语言应用程序称为语句的高级语言应用程序称为语句的高级语言应用程序称为语句的高级语言应用程序称为宿主应用程序,简称为应用程序。宿主应用程序,简称为应用程序。宿主应用程序,简称为应用程序。宿主应用程序,简称为应用程序。二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 2、嵌入式、嵌入式SQL应用程序的相关问题应用程序的相关问题 (1 1)嵌入式)嵌入式SQLSQL应用程序的语句组成应用程序的语句组成 主语言语句主语言

151、语句主语言语句主语言语句 SQLSQL语句语句语句语句 主语言如何识别主语言如何识别主语言如何识别主语言如何识别SQLSQL语句语句语句语句? 二、嵌入式二、嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 (2 2)预编译概念)预编译概念 首先,采用一个预编译器把应用程序中的首先,采用一个预编译器把应用程序中的首先,采用一个预编译器把应用程序中的首先,采用一个预编译器把应用程序中的SQLSQL语句语句语句语句“ “编译编译编译编译” ”成主语言可以识别的函数调用成主语言可以识别的函数调用成主语言可以识别的函数调用成主语言可以识别的函数调用形式;形式;形式;形式; 然后再以预编

152、译器的输出为主语言编译器的然后再以预编译器的输出为主语言编译器的然后再以预编译器的输出为主语言编译器的然后再以预编译器的输出为主语言编译器的输入,通过常规的编译与连接,生成实现数据库输入,通过常规的编译与连接,生成实现数据库输入,通过常规的编译与连接,生成实现数据库输入,通过常规的编译与连接,生成实现数据库操作应用的可执行程序。操作应用的可执行程序。操作应用的可执行程序。操作应用的可执行程序。 二、嵌入式二、嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 3、游标工作机制与主语言之间的通信、游标工作机制与主语言之间的通信 (1 1)主语言之间的通信需求)主语言之间的通信需求

153、SQLSQL语句需要把查询得到的结果传送给主语语句需要把查询得到的结果传送给主语语句需要把查询得到的结果传送给主语语句需要把查询得到的结果传送给主语言变量,供主语言程序在其后对其进行处理;言变量,供主语言程序在其后对其进行处理;言变量,供主语言程序在其后对其进行处理;言变量,供主语言程序在其后对其进行处理; SQL SQL语句也需要利用主语言变量中的值对数语句也需要利用主语言变量中的值对数语句也需要利用主语言变量中的值对数语句也需要利用主语言变量中的值对数据库进行修改更新。据库进行修改更新。据库进行修改更新。据库进行修改更新。 实质:实质:实质:实质:SQLSQLSQLSQL语句中的列属性与主

154、语言的变量之语句中的列属性与主语言的变量之语句中的列属性与主语言的变量之语句中的列属性与主语言的变量之间的数据传递间的数据传递间的数据传递间的数据传递相互赋值问题。相互赋值问题。相互赋值问题。相互赋值问题。 二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 (2 2)主变量)主变量 数据库工作单元(列属性数据库工作单元(列属性数据库工作单元(列属性数据库工作单元(列属性 )与主语言之间的)与主语言之间的)与主语言之间的)与主语言之间的通信用主变量实现。通信用主变量实现。通信用主变量实现。通信用主变量实现。 主变量:主变量:主变量:主变量:主语言和主语言和主语言和主

155、语言和SQLSQL语句都可以对其赋值语句都可以对其赋值语句都可以对其赋值语句都可以对其赋值和引用其值的变量。和引用其值的变量。和引用其值的变量。和引用其值的变量。 二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 例例例例6.96.96.96.9 向课程数据库表中插入一个数据记录。向课程数据库表中插入一个数据记录。向课程数据库表中插入一个数据记录。向课程数据库表中插入一个数据记录。 INSERT INTO C(C# INSERT INTO C(C#,CNAMECNAME,CLASSH)CLASSH) VALUES(C403001 VALUES(C403001, 计

156、算机网络计算机网络 ,60)60); INSERT INTO C(C# INSERT INTO C(C#,CNAMECNAME,CLASSH)CLASSH) VALUES(num VALUES(num,cname1cname1,classh1)classh1);输入宿主变量输入宿主变量输入宿主变量输入宿主变量 二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 例例例例6.106.106.106.10 如果:如果:是根据给出的学生学号值查询学生是根据给出的学生学号值查询学生是根据给出的学生学号值查询学生是根据给出的学生学号值查询学生 的姓名、性别和出生年月。的姓名、

157、性别和出生年月。的姓名、性别和出生年月。的姓名、性别和出生年月。 SELECT SNAME SELECT SNAME,SSEXSSEX,SBIRTHINSBIRTHIN FROM S FROM S WHERE S# = 200401001 WHERE S# = 200401001 ; 查询结果:查询结果:查询结果:查询结果:张华,男,张华,男,张华,男,张华,男,14-dec-8214-dec-8214-dec-8214-dec-82 二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 例例例例6.10 6.10 6.10 6.10 根据由宿主变量根据由宿主变量根据

158、由宿主变量根据由宿主变量S1S1S1S1给出的学生的学号值,给出的学生的学号值,给出的学生的学号值,给出的学生的学号值, 查询学生的姓名、性别和出生年月。查询学生的姓名、性别和出生年月。查询学生的姓名、性别和出生年月。查询学生的姓名、性别和出生年月。 SELECT SNAME SELECT SNAME,SSEXSSEX,SBIRTHINSBIRTHIN FROM S FROM S INTO sname1 INTO sname1,ssex1ssex1,sbirthsbirth WHERE S# = s1 WHERE S# = s1 ; 输入宿主变量输入宿主变量输入宿主变量输入宿主变量 输出宿主变

159、量输出宿主变量输出宿主变量输出宿主变量 二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 4、数据插入操作应用程序设计、数据插入操作应用程序设计 二、二、嵌入式嵌入式SQL及数据插入操作应用程序设计及数据插入操作应用程序设计 5、SQL Server2005的游标及使用的游标及使用 游标机制的引入:游标机制的引入: (1 1)满足满足WHEREWHERE子句条件的记录集(结果集)子句条件的记录集(结果集)中记录的个数是一个随机数;中记录的个数是一个随机数; (2 2)在内存中开辟的一块区域中存放结果集)在内存中开辟的一块区域中存放结果集中的纪录;中的纪录; (3

160、3)游标机制,实现对结果集中数据记录的)游标机制,实现对结果集中数据记录的定位、逐行检索等操作。定位、逐行检索等操作。 数据库原理及应用数据库原理及应用数据库原理及应用数据库原理及应用6.9 数据库的运行与系统维护数据库的运行与系统维护一、任务和实现方法一、任务和实现方法n n系统运行状况的收集和记录;系统运行状况的收集和记录;n n数据库转储备份与恢复;数据库转储备份与恢复;n n数据库完整性、安全性控制;数据库完整性、安全性控制;n n数据库故障的处理与数据库恢复;数据库故障的处理与数据库恢复;n n必要的改正性维护、扩充性维护、完善性维护;必要的改正性维护、扩充性维护、完善性维护;n n数据库性能检测与重组数据库性能检测与重组二、二、DB维护的责任人维护的责任人 数据库的维护工作主要由数据库的维护工作主要由DBADBA完成。完成。数据库应用系统设计总结数据库应用系统设计总结 从从系系统统的的结结构构和和行行为为两两方方面面特特性性出出发发,数数据据库应用系统设计的开发按内容分为两个部分:库应用系统设计的开发按内容分为两个部分: 作为数据库应用系统核心和基石的数据作为数据库应用系统核心和基石的数据库设计;库设计; 相应的数据库应用软件的设计开发。相应的数据库应用软件的设计开发。

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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