第1章 数据库系统概论
1.0 课程概论
-
数据库原理
-
数据库应用
-
数据库设计
-
推荐教材:计算机科学丛书:数据库系统概念(原书第6版·本科教学版)杨冬青 西尔伯沙茨 机械工业出版社
1.3 数据库(DB)与数据库管理系统(DBMS)
1.3.1 数据库
1.数据库概念
数据库(Database),简称DB,就是存储数据的仓库。一般定义为长期存储在计算机内的、有组织的、可共享的数据集合。
2.数据库分类
- 物理数据库
应用数据的集合,是数据库的主体 - 描述数据库
各级数据结构的描述
3.数据库特点
- 数据结构化
数据库的结构化是数据库应用区别于文件系统的根本特征 - 数据共享
数据共享大大减少了数据冗余度和不一致性,提高了数据的利用率和工作效率 - 数据独立性
- 物理独立性 用户的应用程序与存储在磁盘上的数据库的数据是相互独立的
- 逻辑独立性 用户的应用程序与数据库的逻辑结构是相互独立的
1.3.2 数据库管理系统(DBMS)
1.概念
数据库管理系统(Database Management System),简称DBMS,介于用户和操作系统之间,是数据库系统中对数据进行管理的一组大型软件系统,是数据库系统的核心组成部分。
DBMS的作用类似于仓库管理人员,主要是对数据库进行各种操作和维护。
2.DBMS的主要功能
- 数据库定义功能
提供**数据定义语言DDL(Database Definition Language)**来定义:- 数据的结构(物理+逻辑)、数据完整性和安全限制等约束条件
- 数据库的三级模式、两级映像
- 数据库操纵功能
DBMS提供**数据操纵语言DML(Data Manipulation Language)**来实现对数据库的操作,如查询、 插入、删除和修改。
DML有两类:- 宿主型DML 嵌入在如C、Java、Delph、PowerBuilder等高级语言中
- 自主型/自含型DML 如Transact SQL、SQL Plus等
- 数据库保护功能
DBMS对数据库的保护主要包括四个方面:- 数据安全性控制 鉴别合法用户、权限控制、数据加密、日志审计、防止未被授权的用户操作数据库中的数据。
- 数据完整性控制 保持进入数据库中的存储数据的语义的正确性、有效性和相容性,防止操作对数据造成违反其语义的改变。
- 并发控制 DBMS允许多用户并发访问数据库,解决多用户下的并发冲突。
- 恢复功能 把处于故障的数据库恢复到以前的某个正确的状态,保证数据库的一致性
- 数据库维护功能 数据库初始数据的装入、转换、数据库的转储、重组、性能监视、分析等维护功能。
- 数据字典DD 数据字典(Data Dictionary),简称DD,是对数据库结构的描述,存放着对实际数据库三级模式的定义,是数据库系统中各种描述信息和控制信息的集合。还存放数据库运行时的统计信息。只有DBMS才能访问。
3.DBMS的组成
- 语言编译处理程序
- 数据定义语言DDL编译程序
- 数据操纵语言DML编译程序
- 系统运行控制程序
- 系统总控程序 DBMS运行程序的核心
- 安全性控制程序 防止未被授权用户存取数据库中的数据
- 完整性控制程序 检查完整性约束条件,确保进入数据库中的数据的正确性、有效性和相容性
- 并发控制程序 协调并发操作,保证数据一致性
- 数据存取和更新程序 实施增删查改等操作
- 通信控制程序 用户程序与DBMS之间的通信
- 事务管理程序
- 运行日志管理程序
- ··· ···
- 系统建立、维护程序
- 装配程序 完成初始数据库的装入
- 重组程序 当数据库系统性能降低时,重新组织数据库,重新装入数据
- 系统恢复程序 数据库系统收到破坏时,将数据库恢复
- 数据字典系统程序
管理数据字典,实现数据字典功能。
4.DBMS对数据存取的步骤
- 用户使用某种特定的数据操作语言向DBMS发出存取请求。
- DBMS接受请求并解释。
- DBMS依次检查外模式、外模式/模式映像、模式、模式/内模式映像及存储结构定义。
- DBMS对存储数据执行操作。
1.3.3 数据库系统
数据库系统(Database System),简称DBS,是采用了数据库技术的计算机系统,通常由以下四部分组成:
- 数据库
- 软件
- 硬件
- 用户
1.数据库
数据库是一个长期存储在计算机内的,有组织的、可共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。
2.硬件
包括中央处理器、内存、外存、输入/输出设备等硬件设备。
3.软件
主要包括操作系统(Operation System),简称OS、数据库管理系统DBMS、各种宿主语言和应用开发支撑软件等程序。
4.用户
- 普通用户
- 应用程序员
- 数据管理员DBA(Database Administrator)
1.3.4 数据库系统的主要研究领域
- 数据库管理系统软件的研制
- 数据库设计
- 数据库理论
1.4 数据库体系结构
1.4.1 数据库系统的结构
- 内部体系结构 三级模式结构
- 外部体系结构
- 单用户结构
- 主从式结构
- 分布式结构
- 客户/服务机结构
1.4.2 数据库模式
对于某一类数据的结构、特征和约束的描述与刻画。
在给定的数据模式下可以得到实例。
三个级别:
- 模式
- 又称概念模式或逻辑模式
- 外模式
- 局部逻辑结构
- 又称子模式或用户视图
- 内模式
- 数据在数据库文件内部的表示方式
- 对一般用户透明
1.4.3 数据库的三级模式结构
- 模式
- 外模式
- 内模式
1.4.4 数据库的两级映像功能
1.模式间的映像
- 外模式/模式映像
- 模式/内模式映像
2.两级数据独立性
- 物理数据独立性
- 逻辑数据独立性
1.5 数据模型
数据模型是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。
1.5.1 数据之间的联系
1.三个世界的划分
- 现实世界
- 信息世界
- 机器世界
2.信息世界中的数据描述
- 实体
- 属性 实体的某一特征
- 码 能唯一标识实体的属性或属性集
- 实体集 同一类型的实体的集合
- 域 属性的取值范围
- 实体型 用实体名和属性名来描述同类实体 如:学生(学号,姓名,性别)
3.机器世界中的数据描述
- 字段
- 记录
- 文件
- 键
4.三个世界术语的对应关系
现实世界 | 信息世界 | 机器世界 |
---|---|---|
事物总体 | 实体集 | 文件 |
事物个体 | 实体 | 记录 |
特征 | 属性 | 字段 |
事物之间的联系 | 实体模型 | 数据模型 |
1.5.2 数据模型概述
1.分类
- 概念模型
- 结构数据模型 简称数据模型
2.数据模型三要素
- 数据结构
- 描述数据库系统的静态特性
- 通常按照数据结构的类型来命名数据模型 如层次结构对应层次模型
- 数据操作
- 描述数据库系统的动态特性
- 主要有检索和更新两大类
- 数据的约束条件
- 一组完整性规则的集合
1.5.3 概念数据模型
E-R 实体联系模型
1.E-R图三要素
- 实体 矩形框表示
- 属性 椭圆形表示
- 实体间的联系 菱形框表示
2.实体间联系的两种方式
- 同一实体集间的联系
- 不同实体集的实体间的联系(主要研究)
类型
- 一对一联系 1:1
- 一对多联系 1:n
- 多对多联系 m:n
1.5.4 关系模型及格式化模型
主要数据模型有:
- 关系模型
- 层次模型
- 网状模型
- 面向对象模型
1.6 数据库技术的应用与发展
1.6.1 数据库技术的应用
- 网络信息存储
- 移动数据库
- 空间数据库
- 分布式信息存储
- 专家决策系统
1.6.2 数据库技术的发展
- 人工管理阶段
- 文件系统阶段
- 数据库阶段
- 高级数据库技术阶段
- 分布式数据库系统
- 面向对象数据库系统
- 能完整描述现实世界的数据结构,能表达数据间的嵌套、递归的联系
- 具有面向对象技术的封装性和继承性
- 各种新型的数据库系统
本章小结
本章概述了信息、数据与数据处理的基本概念以及数据库管理技术发展的历史和现状。
数据库管理技术经历了人工管理、文件系统、数据库和高级数据库技术四个阶段。数据库系统是在文件系统的基础上发展而来的,同时克服了文件系统的三个缺陷:数据的冗余度过大、数据不一致和文件间缺乏有机联系。
一个完整的数据库系统应包含数据库、硬件、软件和用户等几部分。
数据库是指长期存储在计算机内、有组织的、可共享的数据集合。计算机硬件是数据库系统存在和运行的硬件基础。在计算软件系统中,数据库管理系统和操作系统是核心软件。数据库的用户就是使用数据库的人员,包括数据库管理员(超级用户)、普通用户和应用程序员。
数据库采用三级模式结构,构成了数据库系统内部的体系结构,采用二级映像保证了数据库系统的逻辑独立性和物理独立性。
数据模型是对现实世界进行抽象的工具,用于描述现实世界的数据、数据联系、数据语义和数据约束等方面的内容。数据模型分为概念模型和结构模型两大类。前者的代表是E-R模型,后者的代表是层次、网状、关系和面向对象模型。关系模型是当今的主流模型,面向对象模型则代表了未来的发展方向。