




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章第一章 数据库概述数据库概述 1 1 数据 数据管理 数据库 信息数据 数据管理 数据库 信息 数据库这门课的研究内容就是 数据管理的技术 方法 因此 学习数据库我们就不能不 从数据 数据管理 信息说起 1 1 11 1 1 数据数据 我们把能输入计算机并能被计算机处理的 数字 文字 符号 声音 图形 图像统称为数 据 1 1 21 1 2 数据管理数据管理 我们把对数据的收集 整理 组织 存储 检索 传输 维护这一系列过程称为数据管理 1 1 31 1 3 数据库数据库 数据库 DB 是长期存储在计算机磁盘内 有组织 统一管理的相关数据集合 1 1 41 1 4 信息信息 1 信息 信息 信息是能被人感知 并且能对接收者的行为能产生影响的消息 它的表现形式主 要是数据 2 信息与数据的关系 信息与数据的关系 数据是信息的载体 信息是数据的本质 我们管理数据的目的是为了从中获取信息 进而指导我们的生产实践活动 1 2 数据管理的发展过程数据管理的发展过程 自从现代电子计算机诞生后 人们便开始利用计算机来管理数据 利用计算机管理数 据大致经过了三个发展阶段 具体如下 1 人工阶段 人工阶段 这一阶段所处时间是 20 世纪 50 年代中期以前 这期间 计算机的软件还没 有操作系统 高级语言 只有汇编语言 硬件还没有磁盘这样的直接存储设备 只有磁带 卡片这样的顺序存储设备 因此 计算机管理数据的能力很低 这个时期的数据管理特点 是 数据不保存 没有专用的软件对数据进行管理 只有程序的概念 没有文件的概念 数据面向应用 即一组数据对应一个程序 2 文件系统阶段 文件系统阶段 这一阶段所处时间是 20 世纪 50 年代后期 60 年代中期 这期间 计算 机的软件已经有了高级语言 操作系统 硬件已有了磁盘这样的直接存储设备 因此 计 算机管理数据的能力有了很大提高 这时开始了利用计算机文件进行数据管理 如下图所 示 图 1 1 这个时期的数据管理特点是 数据可以长期保存在外部存储器磁盘上 数据的逻辑结构与物理结构有了区别 文件组织已多样化 数据不再属于某个特定的程序 可以重复使用 随着数据管理规模的扩大 文件系统显露出了缺陷 具体如下 数据冗余 数据不一致性 数据联系弱 3 数据库阶段 数据库阶段 这一阶段所处时间是 20 世纪 60 年代末至今 这期间 计算机的软 硬件 技术发展迅速 这为开发专门进行数据管理的软件开发奠定了基础 用数据库系统管理数 据的思想是 用一个统一的模型来表示数据 依据此模型建立一个专门管理数据的软件 称它为 数据库管理系统简称DBMS 来对数据进行管理 用户通过 DBMS 对数据进行操作 数据库系统的工作原理如图所示 图 1 2 这个时期的数据管理特点是 应用程序 1 应用程序 1 数据库 管理系统 DBMS 数据库 高级语言程序 操作系统的文 件管理子系统磁盘中的文件 高级语言程序 采用数据模型表示复杂的数据结构 有较高的数据独立性 数据冗余度低 数据由一个软件 DBMS 统一管理 1 31 3 数据描述数据描述 要想用计算机管理数据 你面临的首要问题就是 如何把大千世界各种各样的事 物 转换成计算机中的数据 把现实世界中要管理的事物转换成计算机中的数据不是一步完成 的 要经过三个步骤 第一步 把现实世界中的事物转换到概念设计中的数据 第二步 把概念设计中的数据转换成逻辑设计中的数据 第三步 把逻辑设计中的数据转换成物理 设计中的数据 我们把这三个步骤也称为数据设计的三个阶段 1 3 11 3 1 概念设计中的数据描述概念设计中的数据描述 数据描述是概念设计的第一步 它是在用户需求分析的基础上 把一个单位要管理的 事物以及事物之间的联系抽象化地表示为我们脑海中的概念 在概念设计阶段使用如下概 念术语对现实世界中的事物以及事物之间的联系进行描述 一 对事物进行描述的概念一 对事物进行描述的概念 我们以一个 高校教务管理系统 为例 介绍相关概念 1 实体 在概念设计中我们把现实世界中每个要管理的事物称为一个实体 实体可以是一个人 或单位 例如 学生 教师 学院 班级等 也可以是一个事物 例如 专业 学生类别 教学计划 教室 课程 教学班等 2 实体集 实体集是性质相同的同类实体的集合 例如 学生实体集合是所有学生实体的集合 3 属性 我们把实体的特征称为属性 例如 每个学生实体都有 学号 姓名 性别 民族 生日 家庭住址等特征 我们把这些特征称为学生实体的属性 实体的每个属性都有 属 性名 取值类型 取值范围三个因素 4 实体标识符 我们把能唯一标识一个实体的属性或属性集称为实体标识符实体标识符 例如 学号属性是学生 实体的实体标识符 课号是课程实体的实体标识符 二 对事物之间联系进行描述的概念二 对事物之间联系进行描述的概念 现实世界中事物之间是有联系的 这种联系也要在概念设计中体现出来 我们把在概 念设计中实体之间的联系也用一个名称表示出来 例如 课程 实体集内部的实体之间 存在着 先导 关系 因此我们用联系 先导 来表示 课程 实体集内部个体之间的联 系 学生 实体与 教学班 实体之间的联系称为 选课 等等 与实体联系相关的概念有 1 联系的元数 我们把与一个联系相关联的实体集个数称为联系的元数 例如 学生类别 实体 专业 实体 教学计划 实体三者之间的联系 制定 的元数为 3 学生 实体与 学生类别 实体之间的联系 属于 的元数为 2 部门 实体集内部实体之间的联系 隶属 的元数为 1 2 二元联系中两个实体集之间的数量关系 一对一联系 如果实体集 E1 中每个实体至多和实体集 E2 中的一个实体有联系 反之亦然 那么称 实体集 E1 和 E2 的联系为 一对一联系 记为 1 1 例如 院长 实体集与 学院 实体集之间的联系为一对一联系 一对多联系 如果实体集 E1 中每个实体可以与实体集 E2 中任意多个 零个或多个 实体有联系 而 E2 中每个实体至多和 E1 中一个实体有联系 那么称实体集 E1 和 E2 的联系为 一对多 联系 记为 1 N 例如 学生类别 实体集与 学生 实体集之间的联系为一对多联 系 多对多联系 如果实体集 E1 中每个实体可以与实体集 E2 中任意多个 零个或多个 实体有联系 反之亦然 那么称实体集 E1 和 E2 的联系为 多对多联系 记为 M N 例如 学生 实体集与 教学班 实体集之间的联系多对多联系 1 3 21 3 2 逻辑设计中的数据描述逻辑设计中的数据描述 逻辑数据描述是在概念设计的基础上进一步进行数据抽象 即把概念数据描述成计算 机现有技术能表示且易于程序员或用户使用的形式 逻辑描述有多种方法 这里介绍一中 常用的方法 学生 学号 姓名 性别 出生年月 教师 教工号 姓名 性别 课程 关系 1 字段 在逻辑设计阶段用 字段 或 数据项 来表示概念设计中实体的属性 2 记录 字段的有序集合称为记录 记录是对概念设计中实体的描述 3 文件 同类记录的集合称为文件 文件是对概念设计中实体集的描述 4 关键码 能唯一标识文件中每个记录的字段或字段集称为关键码 1 3 31 3 3 物理设计中的数据描述物理设计中的数据描述 物理设计中的数据描述要把逻辑设计中的数据描述成计算机的存储设备 内存 磁盘 易于存储的形式 常用以下术语 1 位 Bit 我们把一个二进制位称为 位 Bit 比特 2 字节 Byte 八个 Bit 为一个字节 3 字 Word 若干个字节组成一个字 一个字所含的二进制位数称为字长 4 块 Block 块又称为 物理块 或 物理记录 它是内 外存之间交换数据的最小单位 5 桶 Bucket 外存的逻辑单位 一个桶可以包含一个或多个在空间上不连续的物理块 6 卷 Volume 一个输入 输出设备所能装载的全部信息 1 41 4 数据模型数据模型 我们在现实生活中常见到 模型 这个名词 例如 建筑模型 汽车模型等等 那么 到底什么是模型呢 我们说模型是对现实世界事物的抽象表示 它把一类事物的本质特征 组成结构抽取出来 用统一的形式表示出来 数据模型对现实世界要管理的事物及其联系 的抽象表示 上一节我们谈到 把现实世界中要管理的事物抽象成计算机中的数据 要经 过三个步骤 每个步骤都要用相应的数据模型来表示数据及数据之间的联系 1 4 11 4 1 概念设计中的数据模型 概念设计中的数据模型 ERER 在概念设计中用实体联系 ER 模型来表示实体及实体之间的联系 1 ER 模型所用的图形 矩形框 用来矩形框表示实体类型 例如 椭圆框 用来表示实体型或联系的属性 例如 学生教学计划 学生 学号 姓名 电话 性别 生日 民族 家庭住址 图 1 4 1 图 1 4 2 菱形框 用来表示实体间的联系名称 例如 图 1 4 4 直线 用来表示两个实体间的联系 2 示例 这里以高校教学管理系统为例 介绍如何使用 ER 模型来描述一个单位要管理的事物及其 联系 见 教学计划 计划号 计划名 称 总学时 总学分 公共必修课学分 公共选修课学分 专业必修课学分专业选修课学分 学生选课教学班 成绩 1 4 21 4 2 逻辑设计中的数据模型逻辑设计中的数据模型 逻辑设计中使用的数据模型必须具备以下三个方面内容 数据结构数据结构 数据结构用来表示现实世界中的各种事物及事物之间的联系 数据操作 数据操作 数据操作主要是能对该数据结构中的数据进行查询和更新 插入 删除 修改 数据完整性约束数据完整性约束 它给出数据及其联系所具有的制约和依赖规则 它是保证数据库中 数据正确 有效 安全的基础 数据模型是数据库的基础 因此 设计数据模型是开发数据库管理系统 DBMS 的 关键 到目前为止计算机工作者先后设计出了 网状模型 层次模型 关系模型 对象模 型 1 网状模型 网状模型用 图 结构来表示数据及数据之间的联系 1969 年数据库系统语言研究会 CODASYL 下属的数据库任务组 DBTG 在它的报告中提出了网状模型 基于网状模 型开发的 DBMS 产品有 Honeywell 公司的 IDS HP 公司的 IMAGE 3000 等 由于网 状模型的数据结构复杂和编程复杂 因此该模型没有被广泛使用 很快被其它模型取代 2 层次模型 层次模型用 树 结构来表示数据及数据之间的联系 基于层次模型开发的 DBMS 的 典型代表是 IBM 公司的 IMS 同样由于层次模型的数据结构复杂和编程复杂 因此该模型 没有被广泛使用 很快被关系模型取代 3 关系模型 1970 年 IBM 公司的研究员 E F Codd 发表了题为 大型共享系统的关系数据库的关系 模型 的文章 文中首次提出了关系模型 关系模型用 关系 二维表 结构来表示数据 及数据之间的联系 由于关系模型有众多优点 所以它一推出便受到极大关注 各厂家纷 纷推出基于该模型的 DBMS 产品 目前市场上绝大部分数据库系统都是关系数据库系统 典型的有 IBM 公司的 DB2 Microsoft 公司的 SQL Server Oracle 公司的 Oracle 等等 特 别值得一提的是 1999 年中国人民大学向市场上推出了基于关系模型的 金仓 数据库系 统 从而结束了我国没有自己的数据库系统的历史 4 对象模型 对象模型用 对象 结构来表示数据及数据之间的联系 由于面向对象的程序设计技 术成为软件开发的主流技术 因此这种模型必将成为今后的发展方向 我们将在后面章节 中对该模型做详细介绍 1 51 5 数据库的体系结构数据库的体系结构 在计算机领域 体系结构一词通常是指 一个具有一定功能的系统 应如何构建 目 前在计算机领域 构建一个系统一般遵循以下三个原则 分层构建原则 让不同层次用户看到不同的内容 各层之间具有一定的相对独立性 数据库系统的体系结构也遵循以上原则 采用三级模式结构构建 1 5 11 5 1 数据库的三级模式结构数据库的三级模式结构 1 模式 模式 模式是数据库中全体数据的逻辑结构和特征的描述 它仅仅涉及型的描述 不 涉及到具体的值 它是所有用户的公共数据视图 特别是数据库的开发及管理者要使用它 2 外模式 外模式 外模式就是模式的一部分 子集 它是一般用户看到的 数据视图 由于 很多一般用户只使用数据库的部分数据 因此他们没有必要了解整个模式 故 DBMS 从 整个模式中抽取一部分 外模式 给用户 3 内模式 内模式 内模式是数据在计算机的外存储器 如 磁盘 上的存储结构及特征的描述 它是 DBMS 和数据库的开发及管理者要使用的数据视图 它是数据库中全体数据的物理 存储 结构和特征的描述 4 外模式 外模式 模式映象模式映象 外模式 模式映象存在于外部级和概念级之间 用于定义外模式 与模式之间的对应关系 5 模式 模式 内模式映象内模式映象 模式 内模式映象存在于概念级和内部级之间 用于定义模式与 内模式之间的对应关系 这三级模式结构具体如下图所示 模 式 模式 内模式影象 用户程序1 外模式 A外模式 B 外模式 模式映象 内 模 式 DBMS OS 磁盘中的数据库 用户程序2用户程序1 1 5 21 5 2 三级模式结构的优点三级模式结构的优点 1 数据独立性高 数据独立性高 采用三级模式结构的数据库系统具有两级数据独立性 物理独立性 如果数据库的内模式作了修改 那么只要对模式 内模式映象作相应的修改 就可使 模式尽可能地保持不变 逻辑独立性 如果数据库的模式作了修改 那么只要对模式 外模式映象作相应的修改 就可使外 模式和应用程序尽可能地保持不变 2 数据库安全性高 数据库安全性高 由于不同层次的用户所看到的内容不同 因此提高了整个系统的安全性 1 61 6 数据库管理系统 数据库管理系统 DBMSDBMS 前面我们讨论了逻辑数据模型问题 及数据库的体系结构问题 接下来的工作就是 针对某种模型 按三级体系结构来开发一套对数据库进行统一管理 维护的软件 我们把 这种软件称为 数据库管理系统 英文缩写是 DBMS DBMS 的作用如下图所示 由此可见所有数据库用户都要通过 DBMS 来使用数据库 这足以见 DBMS 的重要地位 1 6 11 6 1 数据库管理系统 数据库管理系统 DBMSDBMS 的功能 的功能 1 数据库的定义功能 数据库的定义功能 DBMS 提供数据定义语言 DDL 来定义数据库的三级模式结构及三级模式之间的映 象 定义数据的完整性约束 定义数据库的保密限制等 2 数据库的操纵功能 数据库的操纵功能 DBMS 提供数据操纵语言 DML 来实现用户对数据库的操作 基本的数据操作有四 一般业务用户 数据库设计人员 DBMS OS 磁盘中的 数据库 数据库管理人员 种 检索 查询 插入 删除 修改 后三种又称为更新操作 DML 按使用方式分为两 类 一类是嵌入宿主语言 如 C 语言 中使用 称为宿主型 另一类是可以独立地交互 使用 称为自含型 3 数据库的保护功能 数据库的保护功能 DBMS 对数据库的保护功能是通过一下四个子系统实现的 数据库的并发控制系统 并发控制子系统主要任务是解决多个用户对数据库同时进行 操作时 可能发生的各种问题 数据库的恢复系统 数据库的恢复子系统主要任务是解决当数据被破坏或系统出现故 障时 把数据库恢复到某个正确的状态 尽量减少损失 数据库的完整性系统 数据完整性子系统主要任务是保证数据库中的数据始终保持正 确的 一致的状态 防止不符合语法的数据进入数据库 数据库的安全控制系统 数据库安全性子系统主要任务是防止未经授权的用户使用数 据库中的数据 4 数据库的维护功能 数据库的维护功能 DBMS 的这一部分功能包括数据库的初始数据的载入 转换 转儲 数据库的改组以 及性能监视等功能 5 数据字典 数据字典 DD 存放关于数据库定义方面的数据 我们把这种数据称为 元数据 1 6 21 6 2 数据库管理系统 数据库管理系统 DBMSDBMS 的组成 的组成 从程序模块结构来看 DBMS 由两大部分组成 查询处理器和存储管理器 1 查询处理器 查询处理器 DDL 编译器 对 DML 语句进行优化并转化成 查询运行核心程序 能执行的低层 指令 DML 编译器 把嵌入宿主语言程序中的 DML 语句预处理成规范的过程调用 嵌入型 DML 预编译器 编译或解释 DDL 语句并把它登录在数据字典中 查询运行核心程序 执行由 DML 编译器产生的低层指令 2 存储管理器 存储管理器 授权和完整性管理器 测试应用程序是否满足完整性约束 检查用户访问数据的合 法性 事务管理器 DBMS 的逻辑工作单位是事务 事务由一系列对数据库的操作命令 组成 事务管理器用来管理这些事务 文件管理器 负责磁盘空间的分配 管理物理文件的存储结构及存取方式 缓冲区管理器 为应用程序开辟数据库的系统缓冲区 负责把从磁盘读出的数据通 嵌入型 DML 预编译器 DML 编译器 DDL 编译器 查询运行 核心程序 过缓冲区送入内存 并决定哪些数据进入高速缓存 1 6 31 6 3 用户访问数据库中数据的过程用户访问数据库中数据的过程 为了使大家加深对 DBMS 的理解 我们现以一个用户通过 DBMS 从数据库中读取记录为 例 讲解系统整个运作过程 应用程序内存区 数据字典 用户的应用程序中出现 DML 语句 假设该语句涉及外模式中的记录型名称及键值 当计算机执行到该语句时 立即启动 DBMS 并把读记录的命令传给 DBMS DBMS 接到命令后 加以分析 并从数据字典 DD 中调出该程序涉及到的外模式 并检查该操作是否在合法的授权范围内 决定是否执行命令 如决定执行命令 DBMS 调出模式 并把其外模式映射到模式上 从而 DBMS 便知道 该读取模式中的哪些记录 缓冲区 管理器 授权和完整 性管理器 事 务 管理器 文 件 管理器 DBMS 状态区 应用程序 A DB 的系统缓冲区 磁盘 应用程序 A 的外模式 模 式 内模式 OS 运行 日志 变量区 DBMS 调出内模式 并把模式中的记录映射到内模式上 从而 DBMS 便知道其所要的 数据在磁盘上的物理地址 DBMS 向 OS 从指定地址读取物理记录的命令 OS 执行命令 把数据送入系统缓冲区 并在操作结束后向 DBMS 发出通知 DBMS 收到 OS 通知后 将系统缓冲区的数据转化成应用程序所要的外模式记录形式 DBMS 把外模式记录从系统缓冲区送到应用程序的变量区 DBMS 向运行日志数据库写入一条读记录的信息 DBMS 将读记录成功与否的消息送入应用程序的状态区
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 耳聋儿童语言发展促进-洞察与解读
- 毒性物质代谢特征解析-洞察与解读
- 2025年中学教师资格考试《综合素质》教育教学反思与题型试题解析(含答案)
- 2025年医保知识考试题库及答案:医保支付方式改革对医保政策效果评估试题
- 2025年初中地理实验探究试题及答案(地理数据采集与分析)
- 2025年小学教师资格考试《综合素质》教育案例课程设计与反思试题卷(含答案)
- 2025年医保知识考试题库及答案(医保支付方式改革)难点分析
- 2025年初中学业水平考试地理实验探究实验设计模拟试卷及答案
- 国际贸易采购协议样本
- 服务器less架构优化-洞察及研究
- 2025贵州盐业(集团)遵义有限责任公司招聘15人笔试备考试题及答案解析
- EMS供应商对比方案报告
- 高端酒店养生自助餐方案
- 14 圆明园的毁灭课件
- 北师大版七年级数学上册《第二章有理数及其运算》单元测试卷(带答案)
- 完整版人教版六年级英语上册第二单元知识点归纳总结及作文范文
- 2021译林版高中英语选择性必修三课文翻译
- DZ∕T 0338.1-2020 固体矿产资源量估算规程 第1部分 通则(正式版)
- 2024届唐山市高三高考一模(第一次模拟演练)语文试卷(含标准答案)
- 空调维保投标方案(技术方案)
- 光伏电站全面巡视标准化作业指导书
评论
0/150
提交评论