1.1数据库系统概述
1.1.1 数据库的四个基本概念
数据: 描述事物的符号记录,数据的含义称为数据的语义,数据与其语义是不可分的
数据库: 长期储存在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度,较高的数据独立性和易扩展性,且可共享
数据库管理系统: 计算机的基础软件
数据库系统: 由数据库、数据库管理系统、应用程和数据库管理员组成的储存、管理、处理和维护数据的系统
从文件系统到数据库系统标志着数据管理技术的飞跃
特点:
-
数据的管理者是数据库管理系统
-
数据面相的对象是现实世界
-
数据共享程度高,冗余小
-
数据独立性高,具有高度物理独立性和逻辑独立性
-
数据整体结构化,用数据模型描述
-
由数据库系统提供安全性、完整性、并发控制和恢复能力
数据独立性: -
物理独立性性: 用户的应用程序与数据库中数据的物理存储是相互独立的
-
逻辑独立性:应用程序与数据库中数据的逻辑结构是相互独立的
为什么数据库系统具有数据与程序的独立性:
应用程序对数据的访问是要通过DBMS进行的,程序不能直接操作数据本身。而且DBMS提供了两层映像机制:外模式/模式映像和模式/内模式映像。这两层映像机制保证了数据库系统中数据的逻辑独立性和物理独立性。
数据库管理系统的功能:
- 数据的安全性保护
- 数据的完整性保护
- 并发控制
- 数据库恢复
1.2 数据模型
方便对现实世界进行抽象,并将其转化为计算机能够处理的数据
数据模型是数据库系统的核心和基础
第一类为概念模型,第二类为逻辑模型和物理模型
数据模型三要素:
数据模型的数据结构
数据模型的数据操作
数据模型的完整性约束
- 能比较真实的模拟显现实世界
- 容易为人所理解
- 便于在计算机上实现
1.2.1 概念模型
按用户观点来对数据和信息建模,主要用于数据库设计
基本概念:
- 实体:客观存在并可相互区别的事物
- 属性:实体所具有的某一特征
- 码:唯一标识实体的属性集
- 实体型:用实体名及其属性名集合来抽象和刻画同类实体
- 实体集:同一类实体的集合
- 联系:实体之间的联系通常是指不同实体之间的联系,实体之间的联系有一对一、一对多、多对多
1.2.2 概念模型的一种表示方法
概念模型的表示法:实体——联系(E-R方法、E-R模型)
1.2.3 数据模型的组成要素
- 数据结构:数据库的组成对象以及对象之间的联系
- 数据操作:对数据库中各种对象的实例执行的操作的集合
- 数据完整性约束条件:一组完整性规则,用以限定符合数据模型的数据库状态以及状态的变化
1.2.4 常用数据模型
- 层次模型
- 网状模型
- 关系模型
- 面向对象模型
- 对象关系数据模型
- 半结构化数据模型
基本层次联系是指两个记录以及他们之间的一对X的联系
1.2.5 层次模型
1.2.5.1 层次模型的数据结构(树)
- 有且只有一个节点没有双亲节点,称为根节点
- 根以外的其他节点有且只有一个双亲节点,节点的双亲是唯一的
1.2.5.2 层次模型的完整性约束
- 添加的节点必须有双亲节点
- 删除一个节点后,该节点的所有子节点都将删除
1.2.5.3 层次模型的优缺点
优点:
- 数据结构简单清晰
- 查询效率高
- 提供了良好的完整性支持
缺点:
- 对现实世界的适配性不好,不支持多对多
- 节点限制较多,不支持多个双亲,删除操作较复杂,程序不易编写
- 查询子节点必通过双亲节点
- 结构严密,层次命令趋于程序化
1.2.6 网状模型
DBTG和CODASYL系统是其典型代表
1.2.6.1 网状模型的数据结构
- 允许有节点没有双亲
- 一个节点可以有多个双亲
1.2.6.2 网状模型的完整性约束
- 支持记录码的概念,码即唯一标识记录的数据项的集合
- 保证一个联系中双亲记录和子女记录之间是一对多的联系
- 支持双亲记录和子女记录之间的约束条件
1.2.6.3 网状模型的优缺点
优点:
- 可以更为直观地描述现实世界
- 良好的性能
缺点:
- 结构复杂
- DDL、DML复杂,并且要嵌入高级语言中
- 记录之间的联系是通过存取路径实现的,用户需要了解系统结构的细节
1.2.7 关系模型
1.2.7.1 关系模型的数据结构
该模型数据结构是建立在在数学概念的基础上的
术语:
- 关系:一张表
- 元组:一张表的一行
- 属性:表中的一列
- 码(key):表中的某个属性组,可以唯一确定一个元组
- 域:一组具有相同数据类型的值的集合
- 分量:元组中的一个属性
- 关系模式:对某一关系的描述
关系模型要求关系必须是规范化的,关系的每一个分量必须是不可分的数据项
1.2.7.2 关系模型的完整性约束
- 操作对象和结果都是关系
- 关系模型把存取路径向用户隐蔽,用户只需指出“干什么”,不必指出“怎么干”
1.2.7.3 关系模型的优缺点
优点:
- 建立在严格的数学概念的基础上的
- 概念单一,数据结构简单、清晰、用户易懂易用
- 存取路径用户不可见,有更高的数据独立性和安全保密性,简化了数据库的建立
1.3 数据库系统的结构
1.3.1 数据库系统模式的概念
- 型(type):对一类数据的机构和属性的说明
- 值(value): 型的具体赋值
型:
学号,姓名
值
张三,12345
- 模式:
是数据库中全体数据的逻辑结构和特征的描述,仅是对型的描述,具体的值叫做模式的一个实例
模式是相对稳定的,实例是相对变动的
1.3.2 数据库系统的三级模式结构
1.3.2.1 模式
也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述。是所用户的公共数据视图
1.3.2.2 外模式
也称子模式或用户模式,它是数据库用户能够看见和使用的局部的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示
1.3.2.3 内模式
Inter schema is also be called as storage schema.One database could have only one internal schema, which is a describation for data’s pyhsical structure and way to storage a internal organization type in database
1.3.3 数据库的二级映像功能与数据独立性
为了能够在系统内部实现三个抽象层次的联系和相互转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像、模式/内模式映像。其保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性
1.3.3.1 外模式/数据映像
一个模式可以对应多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。
当模式改变时,由数据库管理员对各个外模式/模式映像作相应的改变,可以使外模式保持不变,保证了数据的独立性——数据的逻辑独立性
1.3.3.2 模式/内模式映像
数据库只有一个模式,也只有一个内模式,因此模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。
数据库的存储结构改变时,由数据库管理员对模式/内模式映像作相应改变,可以使模式保持不变,保证了数据的物理独立性——数据的物理独立性
1.4 数据库系统的组成
- 硬件平台及数据库
- 软件
- 人员