学习数据库最基本的概念
- 数据(Data):是数据库中存储的基本对象,一般是存储在数据库中的记录
- 数据库(Database,简称DB):是
长期储存在计算机内、有组织的、可共享的大量数据的集合。是用于存储数据的仓库。 - 数据库管理系统(Database Management System,简称DBMS):是一个软件用于科学的管理、组织、获取和维护数据库中的数据,能够有效提高工作效率。
- 数据库系统(Database System,简称DBS):由数据库、数据库管理系统(及其应用开发工具)、应用程序、数据库管理员构成。
数据模型
- 概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
- 逻辑模型:主要包括网状模型、层次模型(树形结构)、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型等。按计算机系统的观点对数据建模,用于DBMS实现。
- 物理模型:是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。
层次模型优缺点
- 优点
- 层次模型的数据结构比较简单清晰
- 查询效率高,性能优于关系模型,不低于网状模型
- 层次数据模型提供了良好的完整性支持
- 缺点
- 结点之间的多对多联系表示不自然
- 对插入和删除操作的限制多,应用程序的编写比较复杂
- 查询子女结点必须通过双亲结点
- 层次命令趋于程序化
网状模型优缺点
- 优点
- 能够更为直接地描述现实世界,如一个结点可以有多个双亲
- 具有良好的性能,存取效率较高
- 缺点
- 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
- DDL、DML语言复杂,用户不容易使用
- 记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节
关系模型
| 关系术语 | 一般表格的术语 |
|---|---|
| 关系名 | 表名 |
| 关系模式 | 表头(表格描述) |
| 关系 | 一张二维表 |
| 元组 | 记录或行 |
| 属性 | 列 |
| 属性名 | 列名 |
| 属性值 | 列值 |
| 分量 | 一条记录中的一个分量 |
| 非规范关系 | 表中有表(大表中嵌有小表) |
模式
- 是数据库逻辑结构和特征的描述
- 反映数据库的结构及其相关的联系
- 模式是相对稳定的
- 一个数据库只有一个模式
数据库的三级模式和二级映射
三级模式
- 外模式:
与具体应用相关的数据结构逻辑表示,使用的是局部数据的逻辑结构和特征的描述- 通常是模式的子集
- 通常可以有多个外模式,多个外模式对应一个模式
- 一个外模式对应多个应用,一个应用只能对应一个模式;这种对应关系能够有效保证数据的安全性,保证一个应用只能“看见”一个模式中的数据,不会被其它数据污染。
- 模式:
数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图- 一个数据库只有一个模式
- 与数据库的物理存储细节和硬件环境无关
- 内模式:
是数据物理结构和存储方式的描述;是数据在数据库内部的表示方式- 数据的存储方式、索引的组织方式、数据是否加密等
- 一个数据库只有一个内模式
二级映像
- 外模式/模式映像
- 模式:描述的是数据的全局逻辑结构
- 外模式:描述的是数据的局部逻辑结构
- 同一个模式可以有任意多个外模式
- 每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系
- 映象定义通常包含在各自外模式的描述中
这种映像方式能够保证数据的逻辑独立性:当模式改变时,只要改变映像,无需修改外模式。无需修改应用程序便能够保证应用程序能够正常运行,保证数据的逻辑独立性
- 模式/内模式映像
- 当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。
这种映像方式能够保证数据的物理独立性:当数据库物理存储结构改变时,只需修改映像,无需改变应用程序
参考:中国人民大学《数据库系统概论》