《数据库系统基础教程第4章高级数据库模型.pptx》由会员分享,可在线阅读,更多相关《数据库系统基础教程第4章高级数据库模型.pptx(69页珍藏版)》请在优知文库上搜索。
1、关系数据模型关系数据模型数据模型通常由数据结构、数据操作和数据的数据模型通常由数据结构、数据操作和数据的约束条件三个要素组成约束条件三个要素组成。 数数据结构:属性、元组、关系(关系运算)、视据结构:属性、元组、关系(关系运算)、视图、索引图、索引 数数据操作:据操作:DDLDDL(create/alter/dropcreate/alter/drop)、DMLDML(select/insert/delete/updateselect/insert/delete/update)、事务、游标、)、事务、游标、存储过程存储过程 数数据的约束:主键、外键、据的约束:主键、外键、checkcheck约束
2、、触发器、约束、触发器、断言断言2023-4-25数据库技术与应用2023-4-25电影数据库模式Movies(title,year,length,genre,studioName,producerC) 名称 年份 长度(分钟) 流派 电影公司名称 制片证书号MovieStar(name, address, gender, birthdate) 姓名 住址 性别 生日StarsIn(movieTitle, movieYear, starName) 影片名称 年份 主演姓名MovieExec(name, address, cert, netWorth) 制片人姓名 住址 制片证书号 净资产Stu
3、dio(name, address, presC) 电影公司名称 地址 老总证书号教材中使用的电影数据库模式:如如何来何来设设计计数据库数据库 一个新数据库建立过程是从设计阶段开始,提一个新数据库建立过程是从设计阶段开始,提出并回答存储什么信息,信息元素之间如何关出并回答存储什么信息,信息元素之间如何关联,假定有什么样的约束,诸如键或者参考的联,假定有什么样的约束,诸如键或者参考的完整性,等等。完整性,等等。2023-4-25思考思考高级设计高级设计关系数据库模式关系数据库模式关系关系DBMSDBMS第四章第四章第三章第三章2023-4-25第第四四章章 高级数据库模型高级数据库模型学习目标学
4、习目标 学习学习E-RE-R模型模型 掌掌握握E-RE-R图的画法图的画法 掌掌握数据库设计的基本原则、方法和步骤握数据库设计的基本原则、方法和步骤 能根据要求,完成数据库模式的设计能根据要求,完成数据库模式的设计2023-4-25数据库技术与应用2023-4-25为什么需要设计为什么需要设计数据库数据库修建茅屋需要设计吗?修建茅屋需要设计吗?修建大厦需要设计吗?修建大厦需要设计吗?结论:当数据库比较复杂时我们需要设计数据库结论:当数据库比较复杂时我们需要设计数据库2023-4-25良好的数据库设计: 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发糟糕的数据库设计: 数
5、据冗余、存储空间浪费 内存空间浪费 数据更新和插入的异常2023-4-25数据库设计的基本步骤数据库设计的基本步骤数据库设计分为以下六个阶数据库设计分为以下六个阶段:段: 需求分析需求分析 概念结构设计概念结构设计 逻辑结构设计逻辑结构设计 物理设计物理设计 数据库实施数据库实施 数据库运行和维护数据库运行和维护2023-4-25需求分析需求分析概念结构设计概念结构设计逻辑结构设计逻辑结构设计物理设计物理设计 数据库实施数据库实施运行维护运行维护 数据库设计的六个阶段数据库设计的六个阶段是整个数据库设计的关键。通过对用户需求是整个数据库设计的关键。通过对用户需求进行综合、归纳与抽象,形成进行综
6、合、归纳与抽象,形成概念模型概念模型准确了解与分析用户需求(包括数据与准确了解与分析用户需求(包括数据与处理)处理)将概念结构转换为某个将概念结构转换为某个DBMS所支持的数据所支持的数据模型模型,对其进行优化,对其进行优化 为逻辑数据模型选取一个最适合应用环境的为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)物理结构(包括存储结构和存取方法) 运用运用DBMS提供的数据语言、工具及宿主语提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果:建立言,根据逻辑设计和物理设计的结果:建立数据库、编制与调试应用程序、组织数据入数据库、编制与调试应用程序、组织数据入库、
7、并进行试运行库、并进行试运行在数据库系统运行过程中必须不断地对其进行评在数据库系统运行过程中必须不断地对其进行评价、调整与修改。价、调整与修改。2023-4-25一、需一、需求分析求分析 需求分析就是分析用户的需要与要求需求分析就是分析用户的需要与要求需求分析是设计数据库的起点需求分析是设计数据库的起点需求分析的结果是否准确地反映了用户的实需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用并影响到设计结果是否合理和实用2023-4-256.2.1 需求分析的任务需求分析的任务 需求分析的任务是:是
8、对数据库应用系统所要处理的对象需求分析的任务是:是对数据库应用系统所要处理的对象进行全面了解,大量收集用来实现系统目标的各类基本数进行全面了解,大量收集用来实现系统目标的各类基本数据以及用户对数据库信息的需求、对基本数据进行加工处据以及用户对数据库信息的需求、对基本数据进行加工处理的需求、对数据库安全性和完整性的需求。理的需求、对数据库安全性和完整性的需求。调查分析用户活动调查分析用户活动 收集和分析需求数据,确定系统边界收集和分析需求数据,确定系统边界 编写系统分析报告编写系统分析报告 2023-4-25数据库技术与应用6.2.2 需求分析的方法需求分析的方法 调查数据库应用系统所涉及用户的
9、各部门的组成情况、调查数据库应用系统所涉及用户的各部门的组成情况、各部门的职责、各部门的业务及其流程,确定系统功能范各部门的职责、各部门的业务及其流程,确定系统功能范围,明确哪些业务活动的工作由计算机完成,哪些由人工围,明确哪些业务活动的工作由计算机完成,哪些由人工来做。来做。 了解用户对数据库应用系统的各种要求,包括信息要求、了解用户对数据库应用系统的各种要求,包括信息要求、处理要求、安全性和完整性要求。如各个部门输入和使用处理要求、安全性和完整性要求。如各个部门输入和使用什么数据,如何加工处理这些数据,处理后的数据的输出什么数据,如何加工处理这些数据,处理后的数据的输出内容、格式及发布的对
10、象等。内容、格式及发布的对象等。 深入分析用户的各种需求,并用数据流图描述整个系统深入分析用户的各种需求,并用数据流图描述整个系统的数据流向和对数据进行处理的过程,描述数据与处理之的数据流向和对数据进行处理的过程,描述数据与处理之间的联系。间的联系。 分析系统数据,用数据字典描述数据流图中涉及的各数分析系统数据,用数据字典描述数据流图中涉及的各数据项、数据结构、数据流、数据存储和处理过程。据项、数据结构、数据流、数据存储和处理过程。2023-4-25数据库技术与应用1.1.调查用户需求的步骤调查用户需求的步骤 调查组织机构情况调查组织机构情况 了解组织部门的组成情况、各部门的职责等了解组织部门
11、的组成情况、各部门的职责等 调查各部门的业务活动情况调查各部门的业务活动情况 各个部门输入和使用什么数据、如何加工处理这些数据、各个部门输入和使用什么数据、如何加工处理这些数据、 输出什么信息、输出到什么部门、输出结果的格式是什么输出什么信息、输出到什么部门、输出结果的格式是什么 在熟悉业务活动的基础上,协助用户明确对新系统的各种要在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。求。 信息要求、处理要求、完全性与完整性要求信息要求、处理要求、完全性与完整性要求 对前面调查的结果进行初步分析对前面调查的结果进行初步分析 确定新系统的边界确定新系统的边界 确定哪些功能由计算机完成或将来准备
12、让计算机完成确定哪些功能由计算机完成或将来准备让计算机完成 确定哪些活动由人工完成确定哪些活动由人工完成 由计算机完成的功能就是新系统应该实现的功能。由计算机完成的功能就是新系统应该实现的功能。2023-4-252.2.调查方法调查方法 常用调查方法常用调查方法跟班作业跟班作业开调查会开调查会请专人介绍请专人介绍询问询问设计调查表请用户填写设计调查表请用户填写查阅记录查阅记录2023-4-253 3、进一步分析和表达用户需求、进一步分析和表达用户需求 分析和表达用户的需求分析和表达用户的需求的常用方法的常用方法 结构化分析方法(结构化分析方法(Structured AnalysisStruct
13、ured Analysis,简,简称称SASA方法)方法) SASA方法从最上层的系统组织机构入手,采用方法从最上层的系统组织机构入手,采用自顶向下、逐层分解的方式分析系统,并自顶向下、逐层分解的方式分析系统,并用数用数据流图和数据字典描述系统据流图和数据字典描述系统。2023-4-25【例例】学生选课信息管理系统学生选课信息管理系统 需求功能如下需求功能如下: : 数据库系统中存储有学生信息、课程信息、教师信息数据库系统中存储有学生信息、课程信息、教师信息等数据等数据; ; 能够输入、修改、查询相关信息,如查询学生信息、能够输入、修改、查询相关信息,如查询学生信息、课程信息、教师信息等课程信
14、息、教师信息等; ; 能够查看和修改学生选择了哪些课程及其成绩能够查看和修改学生选择了哪些课程及其成绩; ; 能够查看和修改教师教授哪些课程及具体上课地点能够查看和修改教师教授哪些课程及具体上课地点; ; 根据不同的条件对学生选修课程情况进行统计。根据不同的条件对学生选修课程情况进行统计。2023-4-256.2.3 数据字典数据字典 数据字典是通过对系统需求的调查研究,并且进行详细的数据字典是通过对系统需求的调查研究,并且进行详细的数据收集和数据分析所获得的主要成果。因此,数据字典数据收集和数据分析所获得的主要成果。因此,数据字典是数据库设计的基础和依据,并且在整个数据库设计中占是数据库设计
15、的基础和依据,并且在整个数据库设计中占有非常重要的地位。有非常重要的地位。 在需求分析阶段,数据字典通常包含以下五部分内容:在需求分析阶段,数据字典通常包含以下五部分内容:数据项数据项 数据结构数据结构 数据流数据流 数据存储数据存储 处理过程处理过程 *数据项是数据的最小组成单位数据项是数据的最小组成单位 *若干个数据项可以组成一个数据结构若干个数据项可以组成一个数据结构 *数据字典通过对数据项和数据结构的定义来描述数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。数据流、数据存储的逻辑内容。2023-4-25【例例】以学生选课为例简要说明如何定义数据字典以学生选课为例简
16、要说明如何定义数据字典 数据项数据项:以以“学号学号”为例为例 数据项名数据项名:学号学号 数据项含义数据项含义:唯一标识每个学生唯一标识每个学生 别名别名:学生编号学生编号 数据类型数据类型:字符型字符型 数据结构数据结构:以以“学生学生”为例为例 数据结构名数据结构名:学生学生 含义说明含义说明:定义了一个学生的有关信息定义了一个学生的有关信息 组成组成:学号、姓名、性别、年龄、专业学号、姓名、性别、年龄、专业 数据流数据流:以以“选课信息选课信息”为例为例 数据存储数据存储:以以“学生选课学生选课”为例为例 数据存储名数据存储名:学生选课表学生选课表 说明说明:记录学生所选课程的成绩记录学生所选课程的成绩 组成组成:学号、课程号、成绩学号、课程号、成绩2023-4-25二、概二、概念结构设计念结构设计 需求分析阶段描述的用户应用需求是现实世界的需求分析阶段描述的用户应用需求是现实世界的具体需求。具体需求。 将将需求分析得到的用户需求抽象为信息结构需求分析得到的用户需求抽象为信息结构即概即概念模型的过程就是念模型的过程就是概念结构设计概念结构设计。 现实世界现实世界信息世界信息世界