计算机软件技术基础数据库系统PPT课件_第1页
计算机软件技术基础数据库系统PPT课件_第2页
计算机软件技术基础数据库系统PPT课件_第3页
计算机软件技术基础数据库系统PPT课件_第4页
计算机软件技术基础数据库系统PPT课件_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

1 第三章数据库系统 概述 数据库系统的基本知识关系数据库系统关系数据语言数据库应用系统的开发数据库技术发展方向 2 3 1数据库系统概述 数据库技术 起源于60年代末 研究如何科学地组织和存储数据 如何时效地获取和处理数据 以及如何保障数据安全 实现数据共享 3 数据处理技术经历了三个阶段 人工管理阶段 数据在程序中 文件系统阶段 数据文件 数据库系统阶段 数据库 3 1 1数据管理的三个阶段 4 早期 46 50年代中期 计算机数据处理方法 程序自带数据 在引用数据时 直接按内存单元地址或外部设备的物理位置加入内存单元地址存取 人工处理阶段 特点 数据的物理存储结构和逻辑结构一致 编程者自行设计数据格式 并将数据嵌入程序中 数据与处理它的程序合为一体 多个程序不能共享数据 一批数据在多个对其进行不同处理的程序中重复存储 5 文件系统管理下的数据文件 若干相关的数据元素组成 记录 若干记录构成文件 数据文件存放于外存储器上 由文件系统统一管理 通过程序来操纵数据 每个用户都可建立 维护和处理一个或几个文件 文件系统阶段 50 60年代 现在 文件 管理 系统是操作系统的一部分 文件系统阶段 6 优点 数据以文件形式保存 与程序独立 且可多次存取 缺点 数据文件是无结构的数据集合 只能反映客观事物的存在 不能反映各事物间的联系 数据和应用程序互相依赖 数据文件由程序生成 数据存取由程序完成 离开所依赖的程序则失去意义 服务与不同程序的数据文件互相独立 无法实现数据共享 一个应用程序所对应的数据文件不能为另一个程序使用 数据冗余大 应用程序编制较繁烦 缺乏对数据正确性 安全性 保密性的有效控制手段 7 数据库系统阶段 60年代至今数据库是存储在一起的相关数据的集合 数据库独立于使用它的程序 为多种应用服务 对数据库的修改 检索等均可按公用的可控制方式进行 特点 数据的性质由其依赖的数据模型来决定 数据模型规范了数据库中数据的组织形式 表示了数据之间的联系 有层次模型 网状模型和关系模型等 如果依照关系模型来设计库中数据结构 则为关系数据库 数据库系统阶段 8 由数据库管理系统 DBMS 来实现对数据库的定义 管理和操作 DBMS是用户和数据的接口 目前 流行DBMS软件大多采用关系模型 常见DBMS Oracle FoxPro SQLServer Access等 数据共享性 数据库中的数据是综合和通用的 一个用户只用部分数据 不同用户可共享 且可按不同方式重叠使用数据 数据冗余度小 数据一致性 具有数据完整性措施 可以采用交互式或程序方式操作 9 现实世界 是独立于人们意识之外的客观事物及其相互联系 信息世界 是现实世界中的事物在人们头脑中的反映 客观事物在信息世界中称为实体 对象与性质称为对象与属性 数据世界 是以数据形式反映观念世界中的信息 描述对象的数据称为记录 Record 描述属性的数据称为字段 Field 或项 信息的三个领域 3 1 2数据描述 10 11 1 1实体集A中每个实体至多只与实体集B中一个实体相联系 反之亦然 1 n实体集A中每个实体与实体集B中多个实体相联系 而B中每个实体至多只与A中一个实体相联系 m n实体集A中每个实体与实体集B中多个实体相联系 反之 B中每个实体也与A中多个实体相联系 实体间的联系 12 实体 联系模型 用E R图表示 实体 型 矩形框 框内为实体名称 属性 矩形框 以线与实体连接 属性较多时也可以将实体及其属性单独列表 实体间的联系 菱形框 框内为联系的名称 用线将菱形框与实体相连 线上标注联系类型 实体 联系 E R 模型 13 例 用E R图表示实体及其联系 学生 学号 姓名 性别 入学分班级 班级号 所属院课程 课程号 课程名 学分教师 教工号 姓名 职称参考书 书号 书名 内容提要 价格 实体的表示 14 E R图 实体间联系的表示 15 3 1 3数据库组织 是指从全局出发 对数据库的数据 数据之间的联系以及用户的要求进行综合考虑 从而提出数据模型以及数据库系统的结构形式 数据模型数据库系统结构 16 3 1 3 1数据模型 表示数据表示数据间联系 数据库系统的核心问题 研究如何表示实体和实体间的联系 数据模型的任务 三种数据模型 层次模型 网状模型 关系模型 17 结点 记录 是实体 树枝是联系 结点间是一对多联系 特点 有且仅有一个根结点 其记录值与下属结点1 n联系 其它结点与一个父结点 多个子结点相联系 查询 访问从根结点开始 按父子关系依次访问 只能反应一对多的关系 不能反映多对多的关系 层次数据模型 树形 学校行政机构的层次模型 18 任何两个实体间可有任意的基本联系 任何实体向上可与几个实体相联系 一般地 每一联系都是一对多的联系 若为多对多的联系 常要演变成一对多的联系 网状数据模型 特点 可有0个或多个结点无双亲 允许结点有多个双亲 允许结点间有2种以上的联系 存取 访问须从指定点出发 按指定路径进行 19 关系模型 以数学理论为基础构造的数据模型 将每个实体集看成二维表 关系 一个关系定义一个实体集 联系也用关系表示 不同关系间联系还可通过共同属性表现 关系数据模型 典型RDBMS 关系数据库管理系统 VFP Oracle Sybase DB 2 Informix Access等 20 3 1 3 2数据库系统的结构 在数据库系统中 对于同一意义下的数据 如 学生数据 从计算机中处理的二进制表示到用户处理的诸如学生姓名 年龄等概念的数据之间 存在着许多抽象和转换 绝大多数数据库系统在总的体系结构上都具有三级模式的特征模式 使用语言描述来规定其数据结构 能为计算机接受 语言描述严格 准确 可陈述许多细节 21 三级模式是对数据的三个抽象级别 外模式 用户模式 模式 逻辑模式 内模式 存储模式 为了实现三个抽象层次的联系和转换 数据库系统在这三级模式中提供了两层映像 外模式 模式映像模式 内模式映像 22 数据库系统的三级模式结构 23 模式 数据库中全部数据的逻辑结构和特性的描述 是所有用户的公共视图 它与具体的应用程序及使用的高级程序设计语言无关 逻辑上的视图 通常以某一种数据模型为基础 用模式描述语言 模式DDL 描述数据在逻辑上的视图 24 外模式 是数据用户看到的数据视图 即与某一应用有关的数据的逻辑表示 外模式通常是模式的子集 不同用户的外模式的描述可以不同 不同用户的外模式可以互相覆盖 同一外模式可以为某一用户的多个应用所启用 一个应用程序只能启用一个外模式 用外模式描述语言 外模式DDL 描述用户数据视图 25 内模式 是数据在数据库系统内部的表示 即对数据的物理结构和存储方式的描述 例如 记录是顺序存储还是按照B树结构存储 或是按照hash方法存储 索引的组织方式是什么 数据是否压缩 是否加密 数据的存储记录结构的规定等 用内模式描述语言 内模式DDL 来描述和定义 26 二级映像 外模式 模式的映像 定义某一个外模式和模式之间的对应关系 当模式改变时 外模式 模式的映像要作相应的改变 以保证外模式保持不变 保证了数据的逻辑独立性模式 内模式的映像 定义数据逻辑结构和存储结构之间的对应关系 同样 当数据库的存储结构改变时 模式 内模式的映像也必须作相应的修改 使得模式保持不变 保证了数据的物理独立性 27 三级结构的优点 1 保证数据的独立性 将概念模式和内模式分开 保证了数据的物理独立性 将外模式和概念模式分开 保证了数据的逻辑独立性 2 简化了用户接口 按照外模式编写应用程序或敲入命令 而不需了解数据库内部的存储结构 方便用户使用系统 3 有利于数据共享 在不同的外模式下可有多个用户共享系统中数据 减少了数据冗余 4 利于数据的安全保密 在外模式下根据要求进行操作 不能对受限的数据进行操作 保证了数据的安全 28 3 1 4数据库设计 数据库设计 是指按照用户的要求 结合某一个数据管理系统 为被设计的对象建立数据模型 并编制相应的应用程序的过程 从本质上讲 它是将数据库系统与现实世界进行密切的 有机的 协调一致的结合过程 因此要求数据库设计者对于数据库系统和实际应用对象两个方面都必须有相当的了解 29 数据库设计包含两个内容 1 结构特性设计 即数据模型和数据库结构的设计 2 行为特性设计 即应用程序的设计 数据库的步骤 1 需求分析 2 逻辑设计 3 物理设计 4 应用程序设计及测试 5 性能测试及企业确定 6 装配数据库 对客观世界的对象进行调查 分析 命名 标识并构造出一个简明的数据视图 是整个企业的轮廓框架 并独立于任何具体的DBMS 系统调查系统分析视图定义 30 3 2关系数据库系统 关系数据库是以二维平面表作为数据模型的数据库系统它与层次和网状数据库相比有以下优点 数据结构简单 可以直接处理多对多关系 能够一次获取多个记录数据 数据独立性较高 有较坚实的理论基础 1970年6月 IBM的研究员埃德加 考特发表了名为 大型共享数据库数据的关系模型 的论文 这是数据库发展史上的一个转折点 在层次模型和网状模型数据库产品大行其道的时候 他拉开了关系型数据库软件的序幕 31 3 2 1关系数据结构的形式化定义 关系模型建立在集合代数基础上 从集合论角度讨论关系的形式化定义定义1 域 Domain 一组具有相同数据类型的值的集合 如整数 实数等 表示为D定义2 笛卡尔积 CartesianProduct P186一组域D1 D2 Dn的笛卡尔积 d1 d2 d3 dn 称为一个元组 di称为一个分量 32 例 我们给出三个域 D1 导师集合 张清玫 刘逸 D2 专业集合 钻井工程 油气田开发 D3 研究生集合 李勇 刘晨 王名 则D1 D2 D3的笛卡尔积为 D1 D2 D3 张清玫 钻井工程 李勇 张清玫 钻井工程 刘晨 张清玫 钻井工程 王名 张清玫 油气田开发 李勇 张清玫 油气田开发 刘晨 张清玫 油气田开发 王名 刘逸 钻井工程 李勇 刘逸 钻井工程 刘晨 刘逸 钻井工程 王名 刘逸 油气田开发 李勇 刘逸 油气田开发 刘晨 刘逸 油气田开发 王名 其中 张清玫 钻井工程 李勇 张清玫 钻井工程 刘晨 张清玫 钻井工程 王名 等都是元组 张清玫 钻井工程 李勇 刘晨 王名等都是分量 D1 D2 D3 一共有2 2 3 12个元组 这12个元组的总体可列成一张二维表 33 34 定义3 关系 D1 D2 Dn的任意子集称为在域D1 D2 Dn上的关系 记为 R D1 D2 Dn 其中R为关系名 n为关系的目或度 当n 1时 称该关系为单元关系 当n 2时 称该关系为二元关系 关系是笛卡尔积的子集 所以关系也是一个二维表 表的每行对应一个元组 表的每列对应一个域 由于域可以相同 为了加以区分 必须对每列起一个名字 称为属性 n目关系必有n个属性 35 候选键 能够唯一标识一个元组的属性 或最小属性组 一个关系可以有多个候选键 主键 选定用以唯一表示关系中元组的一个候选键 外键 来自与之联系的另一关系中的主键 例如 可以在前面例子的笛卡尔积中取出一个子集来构造一个关系 由于一个研究生只师从于一个导师 学习某一个专业 所以笛卡尔积中的许多元组是无实际意义的 从中取出有实际意义的元组来构造关系 该关系的名字为SAP 属性名就取域名 即导师 专业和研究生 则这个关系可以表示为 SAP 导师 专业 研究生 相关术语 36 假设导师与专业是一对一的 即一个导师只有一个专业 导师与研究生是一对多的 即一个导师可以带多名研究生 而一名研究生只有一个导师 这样SAP关系可以包含3个元组 如表所示 假设研究生不会重名 这在实际当中是不合适的 这里只是为了举例方便 则研究生属性的每一个值都唯一地标识了一个元组 因此可以作为SAP关系的主键 关系 列 属性 关系模式r 二维表头 元组 37 定义4 关系的描述称为关系模式 它可以表示为 R A1 A2 An 其中R为关系名 A1 A2 An为属性名 例 SAP 导师 专业 研究生 关系实际上就是关系模式在某一时刻的状态或内容 也就是说 关系模式是型 关系是它的值 关系模式是静态的 稳定的 而关系是动态的 随时间不断变化的 因为关系操作在不断地更新着数据库中的数据 但在实际当中 常常把关系模式和关系统称为关系 可以通过上下文加以区别 38 定义5 关系模型 又称关系数据库模式 关系数据库的型指基于某一应用领域所定义的所有关系模式的集合 关系模型在某一时刻所对应的关系的集合叫作关系数据库 关系数据库的值关系模型中常用的关系操作包括 选择 投影 联接 除 并 交 差等查询操作和增加 删除 修改操作两大部分 关系模型中的关系操作能力 早期通常是用代数方式来表示 称为关系代数 39 3 2 2关系的完整性 实体完整性机制这条机制要求关系中元组在组成主键的属性上不能有空值和重复值 参照完整性机制这条规则要求 不引用不存在的实体 用户定义的完整性机制这是针对某一具体数据的约束条件 由应用环境决定 40 1 实体完整性 主关键字唯一性 在关系中的所有元组在主键上的取值满足以下条件 则说该关系具有实体完整性 1 主键的值不能为空 若属性A是基本关系R的主键 则A不能取空值 2 主键取值各不相同 不会出现相同的两个主关键字的记录 例 Student XH XM XB NL 主键 XH则XH不能取空值 41 2 参照完整性关系中的所有元组在外键上的取值均满足以下条件 1 或为空值null 2 或为被引用的关系中主键的一个值 参照完整性规则 若属性 或属性组 F是关系R的外键 它与关系S的主键Ks相对应 则对于R中每个元组在F上的值必须为 1 或者取空值 F的每个属性值均为空值 2 或者等于S中某个元组的主键的值 42 例 学生和他所在的系两个实体可用如下关系表示 系 系号 系地址 电话 学生 学号 姓名 系号 这里学生关系引用了系关系中的主键 系号 此时 在学生关系中每个元组的 系号 这个属性值能取下列两类值 空值 表示学生还未分配系 非空值 该值必定是系关系中某个元组的 系号 值 表示该生已分配到了一个确定的系 而不可能分配到一个不存在的系中去 43 3 用户定义完整性关系中各属性值的取值范围的定义及其自动检测机制 只允许符合用户定义范围的数据进入数据库 防止不符合客观实际的数据进入数据库 例 年龄 性别 男 女 工龄 年龄注 三类完整性应由DBMS自动实现 与用户无关 它的实现降低了编程难度 44 3 2 3 1概述1 运算对象关系 将整个关系作为运算单位 操作数 用关系代数表达式表示的运算方法 2 关系操作分类1 传统的集合操作 并 差 交 笛卡尔积 2 扩充的关系操作 投影 选择 联接 除法 3 2 3关系代数 45 3 2 3 2传统的集合操作 并 union 1 定义设有两个关系R和S具有相同的目n R和S的并是由属于R或属于S的元组构成的集合 记为R S 形式定义如下 R S t t R t S t是元组变量 R和S的目数相同 46 例 RSRUS 特征 两个关系参加运算 从 行 上取值 作用在一个关系中插入另一个关系的数据集合 自动去掉相同元组 47 差 difference 定义设有两个关系R和S具有相同目的关系集 R和S的差是由属于R但不属于S的元组构成的集合 记为R S 形式定义如下 R S t t R t S t是元组变量 R和S的目数相同 48 例 RSR S 特征 两个关系参加运算 在 行 的方向操作 取值作用从某一关系中删除另一关系 49 笛卡尔积设关系R和S的目数分别为r和s 定义R和S的笛卡尔积是一个 r s 目的元组集合 每个元组的前r个分量 属性值 来自R的一个元组 后s个分量来自S的一个元组 记为R S 形式定义如下 R S t r s t tr R ts S 此处tr ts中r s为上标 若R有m个元组 S有n个元组 则R S有m n个元组 50 例 RRUSS 特征 两个关系参加运算作用 将两个关系无条件的连接成一个新关系 集中较分散的信息 51 3 2 3 3扩充的关系操作 投影 projection 定义关系R上的投影是从R中选出若干属性列组成新的关系 记作 A R t A t R 其中A为R中的属性列 投影操作是从列的角度进行的运算 52 例 R B C R 2 3 R 特征 在单个关系上进行 在 列 上运算为主 兼顾 行 上运算 按列投影后 要去掉重复元组 删掉相同的行 投影的列可按自己要求的顺序排列 既可用列的属性名 也可用列在关系中的序号 列行均可能减少 列的排列顺序可能变动 作用 在一个关系中选择某些需要的列 并按要求组成一个新关系 53 选择 selection 定义选择操作是根据某些条件对关系做水平分割 即选取符合条件的元组构成的结果关系 关系R关于公式F的选择用 F R 表示 F R t t R F t TURE 为选择运算符 F为条件表达试 F R 表示从R中挑选满足公式F为真的元组所构成的关系 54 F的组成 运算对象 属性名 带方括号的列号 如 2 常量 字符 数字 算术运算符 1 R 特征 在单个关系上进行 在 行 上操作 行数可能减少 列数和列顺序不变 作用在一个关系中选择某些需要的元组组成一个新关系 55 3 2 3 4关系代数的四个组合操作 交 联接 自然联接和除法操作 交 intersection 定义关系R和S的交是由属于R又属于S的元组构成的集合 记为R S 这里要求R和S定义在相同的关系模式上 形式定义如下 R S t t R t S 其中 R和S的目数相同 由于R S R R S 或R S S S R 因此交操作不是一个独立的操作 特征 两个关系参加运算 在行上取值作用求两个关系的公共子集 56 连接 join 1 连接 连接操作是从关系R和S的笛卡尔积中选取属性值满足某一 操作的元组 记为 t t tr R ts S tr A ts B 其中A和B分别为R和S上目数相等且可比的属性组 是比较运算符 运算步骤 求R S 选择满足A B的元组 综合表达式为 A B R S R SA B R SA B 57 例

温馨提示

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

评论

0/150

提交评论