Loading... # 数据库环境 ## ANSI-SPARC三层体系结构 ANSI(美国国家标准化协会)-SPARC(需求委员会)提出带系统目录的三层结构体系,是理解DBMS某些功能的基础 <img src="http://xherlock.top/usr/uploads/2022/03/3958732447.png" alt="image-20220301141459596" style="zoom:80%;" style=""> **三层体系结构目的**将用户的数据库视图和数据库的物理描述分离开 * 每个用户都能访问相同的数据,但可用各自定制的数据视图。每个用户都能够改变自己的数据视图,但不会影响其他用户 * 不要求用户直接处理数据库物理存储的细节,用户与数据库的交互应该独立于存储细节 * 数据库管理员(DBA)能在不影响用户试图的情况下修改数据库存储结构 * 数据库的内部结构不受存储的物理变化的影响,例如将数据转存到某个新的存储设备上 * DBA能在不影响所有用户的情况下修改数据库的概念结构 --- > 外部层 | 数据库的用户视图。这一层描述与每个用户相关的数据库部分 > 概念层 | 数据库的整体视图。这一层描述了哪些数据被存储在数据库中,以及这些数据 之间的联系 概念层描述: * 所有的实体、实体的属性和实体间的联系 * 数据的约束 * 数据的语义信息 * 安全性和完整性信息 > 内部层 | 数据库在计算机上的物理表示。这一层描述数据是如何存储在数据库中 内部层工作: * 数据和索引的存储空间分配 * 用于存储的记录描述(数据项的存储大小) * 记录设置 * 数据压缩和数据加密技术 内部层之下是物理层 ### 模式、映射和实例 对数据库的整体描述称为数据库模式。 * 在最高层,有若干外部模式(子模式),与不同的数据视图相对应 * 在概念层,有概念模式,它描述所有的实体、属性和联系及其上的完整性约束 * 在抽象的最底层,有内部模式,是内部模型的完整描述,包括存储记录的定义、表示方法、数据域,必要时还有所使用的索引和散列方案 **(一个数据库只有一个概念模式和内部模式)** DBMS负责三种模式之间的**映射** * 概念模式通过概念层到内部层的映射与内部模式相联系 * 每一个外部模式通过外部层到概念层的映射与概念模式相联系 上述模式和映射的案例如图 <img src="http://xherlock.top/usr/uploads/2022/03/3808633184.png" alt="B204D415B142A34041465CF8808677DE" style="zoom: 50%;" style=""> 在任意时间点上,数据库中的数据构成一个数据库实例(模式有时被称为数据库的内含,实例则被称为外延) ### 数据独立性 > 逻辑数据独立性 | 外部模式不受概念模式变化的影响 修改概念模式(eg:添加或删除实体、属性或者联系)只需要让需要知道的用户知道,其他用户不用知道 > 物理数据独立性 | 概念模式不受内部模式变化的影响 修改内部模式(eg:使用不同的文件组织方式或存储结构、使用不同的存储设备、修改索引或散列算法)不影响概念模式,唯一需注意性能的影响 <img src="http://xherlock.top/usr/uploads/2022/03/1612790040.png" alt="9A1FEEC30249D800F03A5680D92E760C" style="zoom:50%;" style=""> ## 数据库语言 ### 数据定义语言(DDL) > DDL | 一种供DBA或用户描述和明明应用所需实体、属性和联系及其相关的完整性约束和安全约束的语言 DDL可用于定义模式或修改已存在的模式,但不能用来操作数据 ### 数据操作语言(DML) > DML | 提供了一组基本操作,支持对数据库中存储数据进行各种处理操作的语言 数据处理包括: * 在数据库中插入新的数据 * 对数据库中存储的数据进行修改 * 检索数据库中的数据 * 删除数据库中的数据 DML中涉及数据检索的部分称为查询语言 #### 过程化DML > 过程化DML | 要求用户既告诉系统需要什么数据又说明如何检索这些数据的语言 #### 非过程化DML > 非过程化DML | 只要求用户告诉系统需要哪些数据而不需说明如何检索它们的语言 ## 数据模型和概念建模 > 数据模型 | 一组集成的概念,用于描述和操作那个组织机构内的数据、数据间联系以及对数据的约束 数据模型包含: * 结构部分(structural part) * 操纵部分(manipulative part) * 一组完整性约束(a set of integrity rules) 数据模型种类: 1. 基于对象 常见的基于对象的数据模型 * **Entity-Relationship实体-联系模型(ER)** * Semantic 语义模型 * Functional 函数模型 * Object-Oriented 面向对象模型 2. 基于记录 * relational关系数据模型:表格 ![image-20220303111550993.png](http://xherlock.top/usr/uploads/2022/03/764003580.png) * network网状数据模型:联系被表示为络(set) ![image-20220303111537133.png](http://xherlock.top/usr/uploads/2022/03/454912697.png) * hierarchical层次数据模型:网状模型的一种受限形式 ![image-20220303111518052.png](http://xherlock.top/usr/uploads/2022/03/965380965.png) 3. 物理数据模型 ![image-20220303111830797.png](http://xherlock.top/usr/uploads/2022/03/3092225230.png) 最后修改:2022 年 03 月 03 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏