数据库系统结构ppt课件.ppt_第1页
数据库系统结构ppt课件.ppt_第2页
数据库系统结构ppt课件.ppt_第3页
数据库系统结构ppt课件.ppt_第4页
数据库系统结构ppt课件.ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

数据库系统原理与应用技术 1 第2章数据库系统结构 2 1现实世界的数据描述2 2概念数据模型2 3结构数据模型2 4数据库系统的组成与结构2 5本章小结 2 2 1现实世界的数据描述 2 1 1数据描述2 1 2数据模型 3 2 1 1数据描述 例如 我们可用如下信息来描述一个职工 190002 王越 男 1981 6 25 北京市西城区二龙路12号楼3 102号wangyue 这一行数据我们称其为一条记录 但我们很难知道其确切的含义 但如果知道这行数据的含义 就可以得到如下信息 王越的职工号是190002 性别男 1981年6月25日出生 家住北京市西城区二龙路12号楼3 102号 电邮箱为 wangyue 这种描述事物的记录称为数据 4 2 1 2数据模型 数据模型是对现实世界数据特征的抽象 包括以下方面的内容 1 数据的静态特征 它包括对数据结构和数据间联系的描述 2 数据的动态特征 一组定义在数据上的操作 包括操作的含义 操作符 运算规则及其语言等 3 数据的完整性约束 这是一组规则 数据库中的数据必须满足这组规则 数据模型应满足三方面要求 一是能比较真实地模拟现实世界 二是容易为人所理解 三是便于在计算机上实现 5 2 1 2数据模型 不同的数据模型实际上是提供给我们模型化数据和信息的不同工具 根据模型应用的不同目的 可以将这些模型划分为两类 它们分属于两个不同的层次 1 概念模型 也称信息模型 它是按用户的观点对数据和信息建模 2 数据模型 主要包括网状模型 层次模型 关系模型等 它是按计算机系统的观点对数据建模 6 2 1 2数据模型 数据模型通常都是由数据结构 数据操作和完整性约束三个要素组成 1 数据结构用于描述系统的静态特性 是所研究的对象类型 objecttype 的集合 2 数据操作描述系统的动态特性 数据操作是指对数据库中各种对象 型 的实例 值 允许执行的操作的集合 包括操作及有关的操作规则 3 数据的约束条件是一组完整性规则的集合 7 2 2概念数据模型 2 2 1基本概念2 2 2实体 联系模型 8 2 2 1基本概念 1 概念层模型也称为概念模型或信息模型 它从数据的应用语义的角度来抽取模型 并按用户的观点对数据和信息进行建模 这类模型主要用于数据库的设计阶段 它与具体的数据库管理系统无关 9 2 2 1基本概念 信息世界涉及的概念主要有 1 实体 entity 客观存在并可相互区别的事物称为实体 实体可以是具体的人 事 物 也可以是抽象的概念或联系 在学校 学生 课程 教师 选课 班委等 某企业集团 工厂 职工 产品等 2 属性 attribute 实体所具有的某一特性称为属性 一个实体可以由若干个属性来刻画 学生的属性 学号 姓名 年龄 性别 系 专业等 产品的属性 产品编号 产品名 规格等 3 码 key 唯一标识实体的属性集称为码 10 4 域 domain 属性的取值范围称为该属性的域 例如 性别属性的域为 男 或 女 5 实体型 entitytype 具有相同属性的实体必然具有共同的特征和性质 6 实体集 entityset 同型实体的集合称为实体集 7 联系 relationship 在信息世界中 事物的联系反映为实体内部的联系和实体之间的联系 实体内部的联系 一元联系 两个实体间的联系 二元联系 理解多个实体间的联系 多元联系 11 两个实体型之间的联系可以分为三类 一对一联系 1 1 如果对于实体集A中的每一个实体 实体集B中至多有一个实体与之联系 反之亦然 则称实体集A与实体集B具有一对一联系 记为1 1 例如 观众和座位一对多联系 1 n 如果对于实体集A中的每一个实体 实体集B中有n个实体 n 0 与之联系 反之 对于实体集B中的每一个实体 实体集A中至多只有一个实体与之联系 则称实体集A与实体集B有一对多联系 记为1 n 例如 工厂和职工多对多联系 m n 如果对于实体集A中的每一个实体 实体集B中有n个实体 n 0 与之联系 反之 对于实体集B中的每一个实体 实体集A中也有m个实体 m 0 与之联系 则称实体集A与实体集B具有多对多联系 记为m n 例如 学生和课程 12 两个实体型之间的联系实例 工作 部门 职工 1 n 学生 课程 选课 m n 管理 经理 部门 1 1 1 1联系 1 n联系 m n联系 13 练习 判断下列实体间的联系类型 班级与班长 正 班级与班委班级与学生供应商和商品商店和顾客工厂和产品出版社和作者商品和超市 1 n m n m n 1 1 1 1 14 2 2 2实体 联系模型 实体 联系 Entity Relationship 方法 即我们所说的E R方法提供了表示实体型 属性和联系的方法 基本要素的表示方法长方形 实体椭圆 属性菱形 联系说明 在相应的框内要写上实体名 属性名或联系名 ER图的绘制方法 15 2 2 2实体 联系模型 16 实例 涉及的实体及属性如下 17 实体间的联系如下 18 若实体的属性太多 如何简化ER图可在ER图中只画实体间的联系 而实体及属性用另一个图表示 19 机器世界中的数据描述 1 字段标志实体属性的符号集叫字段 fields 或数据项 它是数据库中可以命名的最小逻辑数据单位 所以又叫数据元素 字段的命名应该体现出属性的具体含义 如学生表中可用Snum字段来表示学号属性 Sbirth字段来表示学生的出生年月属性等 2 记录字段的有序集合称为记录 record 一般用一个记录描述一个实体 所以记录又可定义为能完整地描述一个实体的符号集 例如一个学生记录由有序的字段集组成 学号 姓名 性别 出生年月 电话 系编号 3 文件同一类记录的汇集称为文件 file 文件是描述实体集的 所以它又可定义为描述一个实体集 例如所有的学生记录组成了一个学生文件 4 键能唯一标识文件中每个记录的字段或字段集称为键 key 这个概念与实体的码概念是一致的 20 现实世界 信息世界和机器世界中 各术语的对应关系 表2 1在三个不同世界中各术语的对应关系 21 2 3结构数据模型 2 3 1层次数据模型2 3 2网状数据模型2 3 3关系数据模型 22 2 3 1层次数据模型 层次模型是数据库系统中最早出现的数据模型 它用树形结构表示各类实体以及实体间的联系 1 层次数据模型的数据结构 1 只有一个结点没有双亲结点 称之为根结点 2 根以外的其他结点有且只有一个双亲结点 23 2 3 1层次数据模型 2 层次数据模型的操纵与完整性约束层次数据模型的操纵主要有查询 插入 删除和更新 进行插入 删除 更新操作时要满足层次模型的完整性约束条件 进行插入操作时 如果没有相应的双亲结点值就不能插入子女结点值 进行删除操作时 如果删除双亲结点值 则相应的子女结点值也被同时删除 进行更新操作时 应更新所有相应记录 以保证数据的一致性 24 2 3 1层次数据模型 3 层次数据模型的存储结构存储层次数据库不仅要存储数据本身 还要反映出数据之间的层次联系 实现方法有两种 1 邻接法 按照层次树前序穿越的顺序把所有记录值依次邻接存放 即通过物理空间的位置相邻来实现层次顺序 25 3 层次数据模型的存储结构 2 链接法 用指引元反映数据之间的层次联系 如图2 7所示 其中图2 7 a 中每个记录设两类指引元 分别指向最左边的子女 每个记录型对应一个 和最近的兄弟 这种链接方法称为子女 兄弟链接法 图2 7 b 是按树的前序穿越顺序链接各记录值 这种链接方法称为层次序列链接法 26 4 层次数据模型的优缺点 1 层次数据模型的优点主要有 层次数据模型本身比较简单 只需很少几条命令就能操纵数据库 比较容易使用 对于实体间联系是固定的 且预先定义好的应用系统 采用层次模型来实现 其性能优于关系模型 不次于网状模型 层次数据模型提供了良好的完整性支持 2 层次数据模型的缺点主要有 现实世界中很多联系是非层次性的 如多对多联系 一个结点具有多个双亲等 层次模型表示这类联系的方法只能通过引入冗余数据或创建非自然的数据组织来解决 对插入和删除操作的限制比较多 查询子女结点必须通过双亲结点 由于结构严密 层次命令趋于程序化 27 2 3 2网状数据模型 1 网状数据模型的数据结构在数据库中 把满足以下两个条件的基本层次联系集合称为网状数据模型 允许一个以上的结点无双亲 一个结点可以有多于一个的双亲 如图2 8所示 其中 a 是一个简单网状结构 其记录类型之间都是1 n的联系 b 是一个复杂网状结构 学生与课程之间是m n的联系 28 2 3 2网状数据模型 2 网状数据模型的操纵与完整性约束网状数据模型的操纵主要包括查询 插入 删除和更新数据 由于网状模型可以直接表示非树形结构 而无需像层次模型那样增加冗余结点 因此做更新操作时只需更新指定记录即可 查询操作可以有多种方法 可根据具体情况选用 网状数据模型没有层次模型那样严格的完整性约束条件 29 3 网状数据模型的存储结构网状数据模型的存储结构依具体系统不同而不同 常用的方法是链接法 包括单向链接 双向链接 环状链接 向首链接等 此外还有其他实现方法 如指引元阵列法 二进制阵列法 索引法等 4 网状数据模型的优缺点 1 网状数据模型的优点主要有 能够更为直接地描述现实世界 如一个结点可以有多个双亲 允许结点之间为多对多的联系等 具有良好的性能 存取效率较高 2 网状数据模型的缺点主要有 其DDL DML语言极其复杂 结构比较复杂 而且随着应用环境的扩大 数据库的结构就变得越来越复杂 不利于最终用户掌握 30 2 3 3关系数据模型 关系数据库系统采用关系模型作为数据的组织方式 1 关系数据模型的数据结构关系模型与以往的模型不同 它是建立在严格的数据概念的基础上的 在用户看来 一个关系模型的逻辑结构是一张二维表 它由行和列组成 表2 2学生档案关系模型示例 31 关系应具备的性质关系中每一个属性值都是不可分解的 关系中不允许出现相同的行 关系中不允许出现相同的列 关系中没有行序 没有列序 32 关系数据模型的数据结构 1 关系 relation 一个关系对应通常说的表 如表2 2中的这张学生档案表 2 元组 tuple 表中的一行即为一个元组 3 属性 attribute 表中的一列即为一个属性 4 主码 key 表中的某个属性组 它可以唯一确定一个元组 5 域 domain 属性的取值范围 6 分量 元组中的一个属性值 7 关系模式 relationschema 对关系的描述 即为二维表的表头结构 关系模型要求关系必须是规范化的 即要求关系模式必须满足一定的规范条件 这些规范条件中最基本的一条就是 关系的每一个分量必须是一个不可分的数据项 也就是说 不允许表中还有表 33 该表中有几个元组 记录 该表中有多少个属性 第4个元组的属性值分别是多少 什么是域 年龄的域可以是多少 什么是关键字 码 键 哪些属性可以作为该表的候选关键字 该表的主关键字 主码 主键 是什么 该表的非主属性有哪些 哪个属性可以作为外关键字 外码 外键 34 2 3 3关系数据模型 2 关系数据模型的操纵与完整性约束关系数据模型的操纵主要包括查询 插入 删除和更新数据 这些操作必须满足关系的完整性约束条件 关系的完整性约束条件包括三大类 实体完整性 参照完整性和用户定义的完整性 3 关系数据模型的存储结构关系数据模型中 实体及实体间的联系都用表来表示 在数据库的物理组织中 表以文件形式存储 每一个表通常对应一种文件结构 35 4 关系数据模型的优缺点优点 1 关系模型与非关系模型不同 它是建立在严格的数学概念的基础上的 2 关系模型的概念单一 无论实体还是实体之间的联系都用关系来表示 对数据的检索结果也是关系 即表 所以其数据结构简单 清晰 用户易懂易用 3 关系模型的存取路径对用户透明 从而具有更高的数据独立性 更好的安全保密性 也简化了程序员的工作和数据库开发建立的工作 所以关系数据模型诞生以后发展迅速 深受用户的喜爱 缺点 由于存取路径对用户透明 查询效率往往不如非关系数据模型 因此 为了提高性能 必须对用户的查询请求进行优化 增加了开发数据库管理系统的负担 36 将ER图转化为关系模式 表 关系模式的含义对关系的信息结构及语义限制的描述 关系模式的表示方法用关系名和包含的属性名的集合表示 例如 学生 学号 姓名 性别 年龄 系编号 表的含义用二维表格表示的一个关系 37 将ER图转化为关系模式 表 1 基本概念关系模式与关系的区别关系模式是对关系结构的定义 是对关系 型 的描述 关系是二维表格 是对 值 的描述一般说来 关系模式是相对稳定 不随时间变化的 关系是随时间动态变化的 关系中的数据在不断更新 例如 在学生表中 由于学生的入学 退学和毕业等原因 学生关系是经常变化的 但其结构以及对数据的限制是不会改变的 说明 关系模式和关系往往统称为关系 38 将ER图转化为关系模式 表 2 转化原则 1 每个实体转换为一个关系 实体的属性就是关系的属性 实体的码作为关系的码 2 每个联系 二元的 也转换成一个关系 与关系相连的 各个实体的码 联系的属性转换成关系的属性 关系的码如下 对于1 1的联系 每个实体的码均是该联系关系的候选码对于1 N的联系 关系的码是N端实体的码 对于M N的联系 关系的码是诸实体码的组合 3 有相同码的关系可以合并 39 二 将ER图转化为关系模式 表 3 应用举例将以下ER图转化为关系模式和表 并写出主关键字和外关键字 40 二 将ER图转化为关系模式 表 解答 转化为关系模式教师 教师号 姓名 性别 职称 专业 主关键字 教师号学生 学号 姓名 性别 年龄 专业 主关键字 学号课程 课程号 课程名 学时数 学分 教材 主关键字 课程号 41 二 将ER图转化为关系模式 表 选课 学号 课程号 成绩 主关键字 学号 课程号外关键字 学号 课程号授课 教师号 课程号 主关键字 教师号 课程号外关键字 教师号 课程号指导 学号 教师号 时间 地点 主关键字 学号外关键字 教师号学生实体和指导联系可合并 解答 转化为表 42 什么是关键字 码 键 什么是主关键字 主码 主键 ER图转化为关系模式的原则是什么 关系应具备什么性质 答 是能用来惟一标识元组的属性或属性组合 答 被指定为关键字的候选关键字 称为 答 1 每个实体转换为一个关系 2 每个联系也转换成一个关系 3 有相同码的关系可以合并 答 1 关系中每一个属性值都是不可分解的 2 关系中不允许出现相同的行 3 关系中不允许出现相同的列 4 关系中没有行序 没有列序 43 关系的完整性规则 规范化 关系的完整性规则定义是对关系的某种约束条件 目的用于保证关系数据库中数据的正确性和可靠性 类型实体完整性规则参照完整性规则 引用完整性规则 域完整性规则 用户自定义完整性规则 44 1 实体完整性规则 规则要求 在任何关系的任何一个元组中 主键的值不能为空值 也不能取重复的值 目的 用于保证数据库表中的每一个元组都是惟一的 请思考 下面的关系是否违反实体完整性规则 45 2 域完整性规则 用户定义完整性规则 规则要求由用户根据实际情况 定义表中属性的取值范围例如 性别只能是男和女 年龄不能为负值 成绩在0 100之间等 目的用于保证给定字段中数据的有效性 即保证数据的取值在有效的范围内 46 3 参照完整性规则 引用完整性规则 规则要求 不引用不存在的实体 即 不允许在一个关系中引用另一个关系中不存在的元组 目的用于确保相关联的表间的数据保持一致 47 请思考 下面两个关系是否违反参照完整性规则 系表 主表 学生表 从表 说明从表的 系编号 外键 的取值只能为两种情况 若取非空值 则它必须是主表中存在的值 取空值 null 表明尚未给学生分配专业 Null不等于0或空字符串 48 关系的规范化 在关系数据库的设计过程中 对于同一个问题 选用不同的关系模式 其性能的优劣是大不相同的 为了区分关系模式的优劣 人们常常把关系模式分为各种不同等级的范式 类型第一范式 1NF 第二范式 2NF 第三范式 3NF 关系规范化的概念将低级范式转换为若干个高级范式过程 49 第一范式 1NF 定义如果关系模式R的所有属性的值域中第一个值都是不可再分解值 则称R是属于1NF模式 第一范式是对关系的最低要求 示例 判断哪一张表是1NF 50 第一范式可能存在的问题 数据冗余 如各位老师的信息重复 插入异常 如果要插入刘老师的个人信息 但刘老师未开课 会造成缺关键字 学号 课程号 删除异常 当要删除课程号 C3 的元组 会丢失李老师的信息 修改量大 51 第二范式 2NF 定义如果关系模式R为第一范式 且R中每个非主属性完全函数依赖于R的主码 复合码 则称R为2NF模式 示例下列关系模式是1NF 是否是2NF 为什么 SCD 学号 姓名 课程号 成绩 系名 系主任 主码为复合码 学号 课程号解决方法 消除部分函数依赖 不是 因为 姓名 系名 系主任 与主码是部分函数依赖 即 只依赖于学号 52 分解为2NF的方法 把关系模式中对主码完全函数依赖的非主属性与决定它们的主码放在一个关系模式中 把对主码部分函数依赖的非主属性和决定它们的主属性放在一个关系模式中 检查分解后的新模式 如果仍不是2NF 则继续按照前面的方法进行分解 直到达到要求 关系模式SCD的分解结果如下 SC 学号 课程号 成绩 SD 学号 姓名 系名 系主任 53 第三范式 3NF 定义如果关系模式R为第二范式 且R中每个非主属性都不传递函数依赖于R的某个候选码 则称R为3NF模式 示例下列关系模式是2NF 是否为3NF 为什么 SD 学号 姓名 系名 系主任 解决方法 消除传递函数依赖 54 分解为3NF的方法 把直接对主码函数依赖的非主属性与决定它们的主码放在一个关系模式中 把造成传递函数依赖的决定因素连同被它们决定的属性放在一个关系模式中 检查分解后的新模式 如果不是3NF 则继续按照前面的方法进行分解 直到达到要求 关系模式SD的分解结果如下 SD1 学号 姓名 系名 SD2 系名 系主任 55 各范式间的关系 56 2 4数据库系统的组成与结构 2 4 1数据库系统的组成 图2 10数据库系统的组成 57 2 4 2三级模式结构 图2 11数据库系统的三级模式 58 2 4 2三级模式结构 1 模式 Schema 模式也称逻辑模式 是数据库中全体数据的逻辑结构和特征的描述 是所有用户的公共数据视图 它是数据库系统模式结构的中间层 既不涉及数据的物理存储细节和硬件环境 也与具体的应用程序 也与所使用的应用开发工具无关 2 外模式 ExternalSchema 外模式也称子模式 Subschema 或用户模式 它是数据库用户 包括应用程序员和最终用户 能够看见的和使用的局部的逻辑结构和特征的描述 是数据库用户的数据视图 是与某一应用有关的数据的逻辑表示 3 内模式 InternalSchema 内模式也称存储模式 StorageSchema 一个数据库只有一个内模式 它是数据物理结构和存储方式的描述 是数据库内部的表示方法 59 2 4 3二级映像 数据库系统的三级模式是对数据的三个抽象级别 它把数据的具体组织留给DBMS管理 使用户能逻辑地抽象地处理数据 而不必关心数据在计算机

温馨提示

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

评论

0/150

提交评论