数据库系统笔记
2019/5/3 :复习绪论
1. 数据库系统的四个基本概念
数据(Data) 数据库(Database) 数据库管理系统(DBMS) 数据库系统(DBS)
- 数据是数据库中存储的基本对象;描述事物的符号记录;数据库的种类:数字、文字、图像、音频、视频等等;数据的含义称为数据的语义,数据与其语义是不可分割的。
- 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合;
- 数据库的基本特征:
- 数据按一定的数据模型组织、描述和存储
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩展
- 数据库管理系统是位于用户与操作系统之间的一层数据管理软件;是基础软件,是一个大型复杂的软件系统。
- 数据定义功能:
+ 数据定义功能
+ 提供**数据定义语言(DDL)**
+ 定义数据库中的数据对象
+ 数据组织、存储和管理
+ 分类组织、存储和管理各种数据
+ 确定组织数据的文件结构和存取方式
+ 实现数据之间的联系
+ 提供多种存取方法提高存取效率
+ 数据操纵功能
+ 提供**数据操纵语言(DML)**
+ 实现对数据库的基本操作 (查询、插入、删除和修改)
+ 数据库的事务管理和运行管理
+ 数据库在建立、运行和维护时由数据库管理系统统一管理和控制
+ 保证数据的安全性、完整性、多用户对数据的并发使用
+ 发生故障后的系统恢复
+ 数据库的建立和维护功能
+ 数据库初始数据的装载和转换
+ 数据库转储、恢复功能
+ 数据库的重组织
+ 性能监视、分析等
+ 其他功能
+ 数据库管理系统与网络中其它软件系统的通信
+ 数据库管理系统系统之间的数据转换
+ 异构数据库之间的互访和互操作
+ 数据库系统:构成:数据库、数据库管理系统、应用程序、数据库管理员。
---
2. **数据库管理技术**
+ 数据管理的定义:
+ 对数据进行分类、组织、编码、存储、检索和维护
+ 数据处理的中心问题
---
3. **数据库系统的特点**
+ 数据库系统的特点
+ 数据结构化: 数据是用数据模型描述
+ 数据的共享性高,冗余度低且易扩充
+ 数据独立性高
+ 数据由数据库管理系统同一管理和控制
---
4. **数据模型**
+ 数据模型是对现实世界数据特征的抽象;数据模型是数据库系统的核心和基础。
+ 数据模型的分类
1. 概念模型: 也称信息模型,是按用户的观点来对数据和信息建模,用于数据库设计。
2. 逻辑模型和物理模型
+ 逻辑模型:主要包括网状模型、层次模型、关系模型、面向对象模型、对象关系数据模型、半结构化数据模型等。
+ 物理模型: 对数据最底层的抽象,描述数据在系统内部的表示方式和存取方式。
+ 概念模型
+ 一种方法:实体-联系方法(E-R图)
+ 信息世界中的基本概念
1. 实体(Entity):客观存在的事物
2. 属性(Attribute):实体所具有的特性
3. 码(Key):唯一标识实体的属性
4. 实体型(Entity Type):实体+属性
5. 实体集(Entity Set):实体的集合
6. 联系(Relationship):实体内部(属性)之间的联系+实体之间的联系(一对一、一对多和多对多)
+ 数据模型
+ 数据模型的组成要素
1. 数据结构 对系统静态特性的描述
2. 数据操作 增删改查
3. 数据的完整性约束条件 制约和依存规则、分为静态约束、动态约束
+ 常用的数据模型
网状模型、层次模型、关系模型、面向对象模型、对象关系数据模型、半结构化数据模型
+ 层次模型(Hierarchical Model)**树**
+ 典型代表:IBM公司的IMS(Information Management System)数据库
+ 定义:用树形结构来表示各类实体以及实体间的联系
+ 条件:
1. 有且只有一个结点没有双亲结点,这个结点称为根结点
2. 根以外的其它结点有且只有一个双亲结点
+ 特点:
+ 结点的双亲是唯一的
+ 只能直接处理一对多的实体联系
+ 每个记录类型可以定义一个排序字段,也称为码字段
+ 任何记录值只有按其路径查看时,才能显出它的全部意义
+ 没有一个子女记录值能够脱离双亲记录值而独立存在
+ 完整性约束条件
+ 无相应的双亲结点值就不能插入子女结点值
+ 如果删除双亲结点值,则相应的子女结点值也被同时删除
+ 更新操作时,应更新所有相应记录,以保证数据的一致性
+ 优点
+ 层次模型的数据结构比较简单清晰
+ 查询效率高,性能优于关系模型,不低于网状模型
+ 层次数据模型提供了良好的完整性支持
+ 缺点
+ 结点之间的多对多联系表示不自然
+ 对插入和删除操作的限制多,应用程序的编写比较复杂
+ 查询子女结点必须通过双亲结点
+ 层次命令趋于程序化
+ 网状模型(Network Model)**图**
+ 典型代表:DBTG系统
+ 条件:
1. 允许一个以上的结点无双亲;
2. 一个结点可以有多于一个的双亲。
+ 网状模型与层次模型的区别
+ 网状模型允许多个结点没有双亲结点
+ 网状模型允许结点有多个双亲结点
+ 网状模型允许两个结点之间有多种联系(复合联系)
+ 网状模型可以更直接地描述现实世界
+ 层次模型实际上是网状模型的一个特例
+ 优点
+ 能够更为直接地描述现实世界,如一个结点可以有多个双亲
+ 具有良好的性能,存取效率较高
+ 缺点
+ 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握
+ DDL、DML语言复杂,用户不容易使用
+ 记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节
+ 关系模型(Relational Model)**二维表**
+ 相关数据结构
+ 关系
+ 元组:表中的一行
+ 属性:表中的一列
+ 码:唯一确定一个元组
+ **!不准表中嵌表**
+ 优点
+ 建立在严格的数学概念的基础上
+ 概念单一
+ 关系模型的存取路径对用户透明
+ 缺点
+ 存取路径对用户透明,查询效率往往不如格式化数据模型
+ 为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度