




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章数据库概论 数据库系统2010年 本章的重要概念 一 1 DB DBMS和DBS的定义 2 数据管理技术的发展阶段人工管理阶段 文件系统阶段 数据库系统阶段和高级数据库技术阶段等各阶段的特点 3 数据描述概念设计 逻辑设计和物理设计等各阶段中数据描述的术语 概念设计中实体间二元联系的描述 1 1 1 N M N 本章的重要概念 二 4 数据模型数据模型的定义 四类数据模型 逻辑模型的形式定义 ER模型 层次模型 网状模型 关系模型和对象模型的数据结构以及联系的实现方式 5 DB的体系结构三级结构 两级映象 两级数据独立性 体系结构各个层次中记录的联系 6 DBMSDBMS的工作模式和主要功能 7 DBSDBS的组成 DBS的全局结构 DBS结构的分类 前言 数据库是数据管理的最新技术 是计算机科学的重要分支 今天 信息资源已成为各个部门的重要财富和资源 从小型单项事务处理系统到大型信息系统 从联机事务处理到联机分析处理 从一般企业管理到计算机辅助设计与制造 计算机集成制造系统 电子政务 电子商务 地理信息系统等 越来越多新的应用领域采用数据库技术来存储和处理信息资源 前言 对于一个国家来说 数据库的建设规模 数据库信息量的大小和使用频度已成为衡量这个国家信息化程度的重要标志 因此 数据库课程不仅是计算机科学与技术专业 信息管理专业的重要课程 也是许多非计算机专业的选修课程 前言 从20世纪50年代中期开始 计算机的应用由科学研究部门逐渐扩展到企业 行政部门 至60年代 数据处理已成为计算机的主要应用 在60年代末 数据库技术作为数据处理中的一门新技术发展起来的 经过40多年的发展 数据库技术已是计算机软件领域的一个重要分支 形成了较为完整的理论体系和实用技术 本章先回顾数据管理技术的发展过程 然后介绍数据库中的基本概念 以使读者对数据库的概貌有所了解 1 1引言 1963年 美国Honeywell公司的IDS IntegratedDataStore 系统投入运行 揭开了数据库技术的序幕 20世纪70年代是数据库蓬勃发展的年代 网状系统和层次系统占据了整个数据库商用市场 而关系系统仅处于实验阶段 20世纪80年代 关系系统由于使用简便以及硬件性能的改善 逐步代替网状系统和层次系统占领了市场 20世纪90年代 关系数据库已成为数据库技术的主流 进入21世纪以后 无论是市场的需求还是技术条件的成熟 对象数据库技术 网络数据库技术的推广和普及已成定局 1 2数据库的由来和发展 磁盘容量的发展数据管理技术的发展经历了人工管理 文件系统 数据库阶段和高级数据库阶段 1 2 1人工管理阶段 在人工管理阶段 20世纪50年代中期以前 计算机主要用于科学计算 其他工作还没有展开 外部存储器只有磁带 卡片和纸带等 还没有磁盘等字节存取存储设备 软件只有汇编语言 尚无数据管理方面的软件 数据处理的方式基本上是批处理 1 2 1人工管理阶段 人工管理阶段的数据管理有下列特点 数据不保存在计算机内 没有专用的软件对数据进行管理 只有程序 program 的概念 没有文件 file 的概念 数据的组织方式必须由程序员自行设计与安排 数据面向程序 即一组数据对应一个程序 人工管理阶段应用程序与数据的对应关系 1 2 2文件系统阶段 一 在这一阶段 20世纪50年代后期至60年代中期 计算机不仅用于科学计算 还用于信息管理 随着数据量的增加 数据的存储 检索和维护问题成为紧迫的需要 数据结构和数据管理技术迅速发展起来 此时 外部存储器已有磁盘 磁鼓等直接存取存储设备 软件领域出现了高级语言和操作系统 操作系统中的文件系统是专门管理外存的数据管理软件 数据处理的方式有批处理 也有联机实时处理 1 2 2文件系统阶段 二 文件系统阶段的数据管理有以下特点 数据以 文件 形式可长期保存在外部存储器的磁盘上 数据的逻辑结构与物理结构有了区别 但比较简单 文件组织已多样化 有索引文件 链接文件和直接存取文件等 数据不再属于某个特定的程序 可以重复使用 即数据面向应用 对数据的操作以记录为单位 1 2 2文件系统阶段 二 随着数据管理规模的扩大 数据量急剧增加 文件系统显露出三个缺陷 数据冗余 redundancy 数据不一致 inconsistency 数据联系弱 poordatarelationship 文件系统阶段应用程序与数据的对应关系 1 2 3数据库阶段 一 数据管理技术进入数据库阶段的标志是20世纪60年代末的三件大事 1968年美国IBM公司推出层次模型的IMS系统 1969年美国CODASYL组织发布了DBTG报告 总结了当时各式各样的数据库 提出网状模型 1970年美国IBM公司的E F Codd连续发表论文 提出关系模型 奠定了关系数据库的理论基础 1 2 3数据库阶段 二 数据库阶段的数据管理具有以下特点 采用数据模型表示复杂的数据结构 有较高的数据独立性 数据库系统为用户提供了方便的用户接口 数据库系统提供以下四方面的数据控制功能 数据库的并发控制 数据库的恢复 数据的完整性和数据安全性 增加了系统的灵活性 数据库阶段应用程序与数据的对应关系 1 2 3数据库阶段 三 数据库系统的结构 1 2 3数据库阶段 四 程序和数据间的联系文件系统阶段信息处理的传统方式 1 2 3数据库阶段 五 数据库阶段信息处理方式的演变 数据库技术的基本术语 一 定义1 1数据库 Database 简记为DB DB是长期存储在计算机内 有组织的 统一管理的相关数据的集合 DB能为各种用户共享 具有较小冗余度 数据间联系紧密而又有较高的数据独立性等特点 数据库技术的基本术语 二 定义1 2数据库管理系统 DatabaseManagementSystem 简记为DBMS DBMS是位于用户与操作系统 OS 之间的一层数据管理软件 它为用户或应用程序提供访问DB的方法 包括DB的建立 查询 更新及各种数据控制 DBMS总是基于某种数据模型 可以分为层次型 网状型 关系型和面向对象型等 DBMS OS DB 用户 数据库技术的基本术语 三 定义1 3数据库系统 DatabaseSystem 简记为DBS DBS是实现有组织地 动态地存储大量关联数据 方便多用户访问的计算机硬件 软件和数据资源组成的系统 即它是采用数据库技术的计算机系统 定义1 4数据库技术是研究数据库的结构 存储 设计 管理和使用的一门软件学科 1 2 4高级数据库技术阶段 一 对象数据库系统主要有以下两个特点对象数据模型能完整地描述现实世界地数据结构 能表达数据间嵌套 递归的联系 具有面向对象技术的封装性 把数据与操作定义在一起 和继承性 继承数据结构和操作 的特点 提高了软件的可重用性 1 2 4高级数据库技术阶段 二 分布式数据库系统主要有下面三个特点数据库的数据物理上分布在各个场地 但逻辑上是一个整体 每个场地既可以执行局部应用 访问本地DB 也可以执行全局应用 访问异地DB 各地的计算机由数据通信网络相联系 本地计算机单独不能胜任的处理任务 可以通过通信网络取得其它DB和计算机的支持 1 2 4高级数据库技术阶段 三 分布式数据库系统 1 2 4高级数据库技术阶段 四 开放数据库互连技术开放数据库互连技术即需要建立一个公共的 与数据库管理系统无关的应用程序设计接口 API 使同一个应用程序可以访问不同的数据库服务器 最先上市的公共API产品是Microsoft公司于1992年推出的ODBC 开放数据库互连技术属于中间件技术 1 2 4高级数据库技术阶段 五 XML数据库技术XML是一种能够表达比传统数据模型中的数据结构化程度低的数据语言 与对象数据库相比 XML也提供了一条途径来表示有嵌套结构的数据 但在数据结构化方面有非常大的灵活性 1 2 4高级数据库技术阶段 六 现代信息集成技术为了充分利用现有的数据资源 提取管理决策所需要的信息 在20世纪90年代初兴起了三项决策支持新技术 数据仓库联机分析处理技术数据挖掘 1 3数据描述 在数据处理中 数据描述将涉及到不同的范畴 从事物的特性到计算机中的具体表示 实际上经历了三个阶段 概念设计中的数据描述 逻辑设计中的数据描述和物理设计中的数据描述 本节先介绍这三个阶段的数据描述 再介绍数据之间联系如何描述 1 3 1概念设计中的数据描述 实体 entity 客观存在 可以相互区别的事物称为实体 实体集 entityset 性质相同的同类实体的集合 称为实体集 属性 attribute 实体有很多特性 每一个特性称为属性 每一个属性有一个值域 其类型可以是整数型 实数型 字符串型等 实体标识符 identifier 能惟一标识实体的属性或属性集 称为实体标识符 有时也称为关键码 key 或简称为键 1 3 2逻辑设计中的数据描述 一 字段 field 标记实体属性的命名单位称为字段 或数据项 它是可以命名的最小信息单位 所以又称为数据元素或初等项 记录 record 字段的有序集合称为记录 文件 file 同一类记录的集合称为文件 关键码 key 能惟一标识文件中每个记录的字段或字段集 称为记录的关键码 简称为键 1 3 2逻辑设计中的数据描述 二 术语的对应关系 1 3 3物理设计中的数据描述 位 bit 比特 一个二进制位称为 位 一位只能取0或1两个状态 字节 byte 8个比特称为一个字节 可以存放一个字符所对应的ASCII码 字 word 若干个字节组成一个字 一个字所含的二进制位的位数称为字长 各种计算机的字长是不一样的 块 block 又称为物理块或物理记录 块是内存和外存交换信息的最小单位 每块的大小 通常为210 214字节 桶 bucket 外存的逻辑单位 一个桶可以包含一个物理块或多个在空间上不一定连续的物理块 卷 volume 一个输入输出设备所能装载的全部有用信息 称为 卷 1 3 4数据联系的描述 一 定义1 5联系 relationship 是实体之间的相互关系 与一个联系有关的实体集个数 称为联系的元数 1 3 4数据联系的描述 一 定义1 6二元联系有以下三种类型 一对一联系 如果实体集E1中每个实体至多和实体集E2中的一个实体有联系 反之亦然 那么实体集E1和E2的联系称为 一对一联系 记为 1 1 1 3 4数据联系的描述 一 一对多联系 如果实体集E1中每个实体可以与实体集E2中任意个 零个或多个 实体间有联系 而E2中每个实体至多和E1中一个实体有联系 那么称E1对E2的联系是 一对多联系 记为 1 N 多对多联系 如果实体集E1中每个实体可以与实体集E2中任意个 零个或多个 实体有联系 反之亦然 那么称E1和E2的联系是 多对多联系 记为 M N 1 3 4数据联系的描述 一 例1 1 1 3 4数据联系的描述 一 例1 1 图1 10多对多联系 1 3 4数据联系的描述 二 例1 2 图1 11三元联系 图1 12一元联系 1 4数据抽象的级别 模型是对现实世界的抽象 在数据库技术中 数据模型用来描述数据库的结构和语义 对现实世界的数据进行抽象 数据模型的种类很多 目前被广泛使用的有概念数据模型逻辑数据模型外部数据模型内部数据模型 概念模型 一 概念模型具有下列特点 概念模型表达了数据的整体逻辑结构 是系统用户对整个应用项目涉及的数据的全面描述 概念模型是从用户需求的观点出发 对数据建模 概念模型独立于硬件和软件 概念模型是数据库设计人员与用户之间进行交流的工具 概念模型 二 定义1 8ER图有三个基本成分 矩形框 用于表示实体类型 考虑问题的对象 菱形框 用于表示联系类型 实体间联系 椭圆形框 用于表示实体类型和联系类型的属性 概念模型 三 例首先确定实体类型 本问题有三个实体类型 零件PART 工程项目PROJECT 零件供应商SUPPLIER 确定联系类型 PROJECT和PART之间是M N联系 PART和SUPPLIER之间也是M N联系 分别命名为P P和P S 把实体类型和联系类型组合成ER图 确定实体类型和联系类型的属性 确定实体类型的键 在ER图中属于码的属性名下画一条横线 1 4 2概念模型 四 图1 14ER图实例 SUPPLIER 1 4 2概念模型 五 例1 4 M M N N P 图1 15三元联系 图1 16一元联系 逻辑模型 逻辑模型具有下列特点 逻辑模型表达了DB的整体逻辑结构 使设计人员对整个应用项目数据库的全面描述 逻辑模型是从数据库实现的观点出发对数据建模 逻辑模型独立于硬件 但依赖于DBMS 逻辑模型是数据库设计人员与应用程序员之间进行交流的工具 层次模型 用树型 层次 结构表示实体类型及实体间联系的数据模型称为层次模型 HierarchicalModel 树的结点是记录类型 每个非根结点有且只有一个父结点 上一层记录类型和下一层记录类型之间的联系是1 N联系 层次模型的特点是记录之间的联系通过指针来实现 查询效率较高 层次模型有两个缺点 一是只能表示1 N联系 虽然系统有多种辅助手段实现M N联系但较复杂 用户不易掌握 二是由于层次顺序的严格和复杂 引起数据的查询和更新操作很复杂 因此应用程序的编写也比较复杂 层次模型数据结构 层次模型数据结构 续 P3 red 12 P2 green 17 P1 blue 14 P3 s2 200 P3 s1 100 S1 S2 P3 j3 6 P3 j2 25 P3 j1 18 J1 J2 J3 网状模型 用有向图结构表示实体类型及实体间联系的数据模型称为网状模型 networkmodel 网状模型的特点是记录之间联系通过指针实现 M N联系也容易实现 一个M N联系可拆成两个1 N联系 查询效率较高 有向图中的结点是记录类型 箭头表示从箭尾的记录类型到箭头的记录类型之间的联系是1 N联系 网状模型的缺点是数据结构复杂和编程复杂 网状模型数据结构 网状模型数据结构 续 J1 p1 50 J1 p2 60 J2 p2 15 J3 p2 6 J1 J2 J3 P1 P2 关系模型 一 关系模型 RelationalModel 的主要特征是用二维表格表达实体集 与前两种模型相比 数据结构简单 容易为初学者理解 关系模型是由若干个关系模式组成的集合 关系模式相当于前面提到的记录类型 它的实例称为关系 每个关系实际上是一张二维表格 关系模型 二 例1 7 图1 21关系模型的例子 PART模式 P PNAME COLOR WEIGHT PROJECT模式 J JNAME DATE SUPPLIER模式 S SNAME SADDR P P模式 J P TOTAL P S模式 P S QUANTITY 关系模型 三 100 S2 P4 BEIJING FADC S2 300 S2 P3 SHANGHAI PICC S1 150 S1 P2 SADDR SNAME S 200 S2 P2 SUPPLIER 关系 100 S1 P1 91 3 JC J3 QUANTITY S P 90 5 JB J2 P S 关系 89 1 JA J1 18 P3 J1 DATE JNAME J 25 P3 J2 PROJECT 关系 65 P2 J1 19 RED SCREW P4 6 P3 J3 12 RED NUT P3 15 P2 J2 17 GREEN BOLT P2 50 P1 J1 14 BLUE SCREW P1 TOTAL P J WEIGHT COLOR PNAME P P P 关系 PART 关系 100 S2 P4 BEIJING FADC S2 300 S2 P3 SHANGHAI PICC S1 150 S1 P2 SADDR SNAME S 200 S2 P2 SUPPLIER 关系 100 S1 P1 91 3 JC J3 QUANTITY S P 90 5 JB J2 P S 关系 89 1 JA J1 18 P3 J1 DATE JNAME J 25 P3 J2 PROJECT 关系 65 P2 J1 19 RED SCREW P4 6 P3 J3 12 RED NUT P3 15 P2 J2 17 GREEN BOLT P2 50 P1 J1 14 BLUE SCREW P1 TOTAL P J WEIGHT COLOR PNAME P P P 关系 PART 关系 对象模型 一 对象 object 是现实世界中实体的模型化 与实体概念相仿 但远比实体复杂 将属性集和方法集相同的所有对象组合在一起 构成了一个类 class 系统中所有的类组成了一个有根的有向无环图 叫类层次 一个类可以从类层次的直接或间接祖先那里继承所有的属性和方法 对象模型 二 PR PA TOTAL PA PS QUANTITY S P J 对象模型 三 图1 24四种逻辑数据模型的比较 外部模型 一 外部模型中的模式称为视图例如 供应商视图SUPPLY VIEW s sname p pname quantity 项目视图PART VIEW j jname p pname total 外部模型 二 外部模型具有下列特点 外部模型是逻辑模型的一个逻辑子集 外部模型独立于硬件 依赖于软件 外部模型反映了用户使用数据库的观点 外部模型 三 外部模型的优点 简化了用户观点 有助于数据库的安全性保护 外部模型是对概念模型的支持 内部模型 内部模型又称为物理模型 是数据库最底层的抽象 它描述数据在磁盘或磁带上的存储方式 文件的结构 存取设备 外存的空间分配 和存取方法 主索引和辅助索引 内部模型与硬件和软件紧密相连 三层模式和两级映像 一 定义1 9从用户 或应用程序 到数据库之间 DB的数据结构有3个层次 外部模型 逻辑模型和内部模型 这三个层次要用DB的DDL定义 定义以后的内容 称为 模式 即外模式 逻辑模式和内模式 三层模式和两级映像 二 外模式是用户与数据库系统的接口 是用户用到的那部分数据的描述 外模式由若干个外部记录类型组成 逻辑模式是数据库中全部数据的整体逻辑结构的描述 它由若干个逻辑记录类型组成 还包含记录间联系 数据的完整性和安全性等要求 内模式是数据库在物理存储方面的描述 定义所有内部记录类型 索引和文件的组织方式 以及数据控制方面的细节 三层模式和两级映像 三 三层模式体系结构具有以下特点 用户使用DB的DML语句对数据库进行操作 实际上是对外模式的外部记录进行操作 逻辑模式必须不涉及存储结构 访问技术等细节 内模式并不涉及物理设备的约束 三层模式和两级映像 四 定义1 10三层模式之间存在着两级映像 外模式 逻辑模式映象存在于外模式和逻辑模式之间 用于定义外模式和逻辑模式之间的对应性 这个映像一般是放在外模式中描述 逻辑模式 内模式映象存在于逻辑模式和内模式之间 用于定义逻辑模式和内模式之间的对应性 这个映像一般是放在内模式中描述 高度的数据独立性 一 定义1 11数据独立性 dataindependence 是指应用程序和数据库的数据结构之间相互独立 不受影响 数据独立性分成物理数据独立性和逻辑数据独立性两个级别 高度的数据独立性 二 物理数据独立性 如果数据库的内模式修改 只要对逻辑模式 内模式映像作相应的修改 可以使逻辑模式尽可能保持不变 对于外模式和应用程序的影响更小 逻辑数据独立性 如果数据库的逻辑模式修改 只要对外模式 逻辑模式映像作相应的修改 可以使外模式和应用程序尽可能保持不变 1 5数据库管理系统 数据库管理系统 DBMS 是指数据库系统中对数据进行管理的软件系统 它是数据库系统的核心组成部分 对DB的一切操作 包括定义 查询 更新及各种控制 都是通过DBMS进行的 1 5 1DBMS的工作模式 一 图1 22DBMS的工作模式 1 5 1DBMS的工作模式 二 接受应用程序的数据请求和处理请求将用户的数据请求 高级指令 转换成复杂的机器代码 低层指令 实现对数据库的操作从对数据库的操作中接受查询结果对查询结果进行处理 格式转换 将处理结果返回给用户 1 5 1DBMS的工作模式 三 用户访问数据的过程 图1 23用户访问数据的过程 1 5 2DBMS的主要功能 数据库的定义功能 提供数据定义语言 DDL 数据库的操纵功能 提供数据操纵语言 DML 数据库的保护功能 恢复 并发控制 完整性控制 安全性控制数据库的维护功能 数据载入 转换 转储 数据库的改组以及性能监控等 数据字典 DataDictionary 简记为DD 存放三级结构定义的数据库 1 6数据库系统 数据库系统 DBS 是采用了数据库技术的计算机系统 DBS是一个实际可运行的 按照数据库方法存储 维护和向应用系统提供数据支持的系统 它是数据库 硬件 软件和数据库管理员的集合体 1 6 1DBS的组成 一 DB是与一个企业组织各项应用有关的全部数据的集合 硬件包括CPU 内存 外存 输入 输出设备等硬件设备 软件包括DBMS OS 各种主语言和应用开发支撑软件等程序 定义1 12数据库管理员 DataBaseAdministrator 简记为DBA 是控制数据整体结构的一组人员 负责DBS的正常运行 承担创建 监控和维护数据库结构的责任 1 6 1DBS的组成 二 DBA的主要职责有以下六点 定义模式定义内模式与用户的联络 包括定义外模式 应用程序的设计 提供技术培训等专业服务 定义安全性规则 对用户访问数据库的授权 定义完整性规则 监督数据库的运行 数据库的转储与恢复工作 1 6 2DBS的全局结构 一 图1 24DBS的全局结构 1 6 2DBS的全局结构 二 数据库用户DBMS的查询处理器 可分为DDL解释器 DML编译器 嵌入式DML的预编译器及查询求值引擎 DBMS的存储管理器 可分为权限和完整性管理器 事务管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 狂犬病防治知识课件
- 恩施物业整改工程方案(3篇)
- 磴口工程空气治理方案(3篇)
- 江苏省宿迁市2025年中考化学真题试卷附真题答案
- 安全教育大培训大计划课件
- 昆山语文面试题库及答案
- 科研单位面试题库及答案
- 长尾词视角下2025年页岩气开采技术环境影响深度解析
- 安全教育培训讲解课件
- 2025年氢能重卡商业化运营经济效益评估报告
- 新概念英语第一册知识点
- 高大模板安全施工施工方法及工艺要求
- 个人代持协议书
- 电力现货实战型交易策略分析
- 游戏交互设计趋势
- 滋养生命的水(教案)2023-2024学年综合实践活动六年级上册 长春版
- 便利店委托运营协议
- 栾川县潭头金矿有限公司金矿矿山地质环境保护与土地复垦方案
- “干股分红协议书”适用于品牌代理商
- 中国电影发展史简介
- 储能系统售后服务方案
评论
0/150
提交评论