数据库系统介绍
数据库系统概述
数据库的基本概念
- 数据(Data)——描述事物的符号记录
- 数据库(Database, DB)——
- 数据库管理系统(Database Management System, DBMS)——
- 数据库系统(Database System, DBS)——
- 数据
语义:数据于其语义是不可分的(比如”性别男,”男”和”性别”是不可分的)
解释:针对数据的语义用自然语言描述(某人的性别是男性)
结构:”记录”是计算机存储数据的一种格式/方法 - 数据库
定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
用处:收集并抽取出一个应用所需要的大量有用数据,将其保存,以供京一部加工处理。
特征:按一定数据模型组织、描述、储存;可为各种用户共享、冗余度小、易扩展;数据独立性高。 - 数据库管理系统
定义:位于应用程序与操作系统之间的一层数据管理软件。是大型复杂的软件系统。
用途:科学地组值和存储数据、高效地获取和维护数据。
功能:数据定义;数据管理;数据操纵;数据库管理等。 - 数据库系统
定义:在计算机系统中引入数据库后的系统构成(常常将其简称为数据库)
构成:数据库、数据库管理系统、应用程序、数据库管理员
数据管理技术的产生和发展
什么是数据管理?
- 对数据进行分类、组织、编码、存储、检索、维护。
- 数据处理和数据分析的中心问题。
数据管理技术的发展过程:
- 人工管理阶段(20世纪50年代之前)
- 文件系统阶段(20世纪50年代末——60年代中)
- 数据库系统阶段(20世纪60年代末——现在)
数据库系统的特点
- 数据结构化
- 数据的共享性高,冗余度滴且易扩充
- 数据独立性高
- 数据由数据库管理系统统一管理和控制
数据库管理系统提供的数据控制功能
1.数据的安全性保护(Security)
2.数据的完整性检查(Integrity)
3.并发控制(Concurrency Control)
4.数据库恢复(Recovery)
数据模型
数据模型是对现实世界数据特征的抽象——现实世界的模拟。
数据模型应满足三方面要求:
- 能比较真实的模拟现实世界;
- 容易为人所理解;
- 便于在计算机上实现。
数据模型是数据库系统的核心和基础。
数据模型的两类(两个层次)
- 概念模型/信息模型:
按照用户的观点来对数据的信息建模,用于数据库设计。 - 逻辑模型和物理模型:
逻辑模型:按照计算机系统的观点对数据建模,用于DBMS实现。
物理模型:描述数据在系统内(磁盘上)的表示方式和存取方法。
先将现实世界抽象为概念模型,再将概念模型转换为逻辑模型,再把逻辑模型转换为物理模型。
第一步由数据库设计人员完成,第二步设计人员借助工具完成,第三步由DBMS自动完成。
概念模型
概念模型用于信息世界的建模,是现实世界到机器的中间层次,也是数据库设计人员和用户之间交流的语言。
基本概念:
- 实体(Entity)(用正方形画)
可关存在并可以相互区别的事务。 - 属性(Attribute)(用椭圆画)
实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画。 - 键(key)
唯一标识实体的属性集称为码。 - 实体型(Entity type)
实体名及其属性名集合来抽象和刻画同类实体称为实体型。 - 实体集(Entity Set)
同一类型实体的集合称为实体集。 - 联系(Relationship)(用菱形画,直线和实体相连)
事物内部以及事物之间的联系被反应为实体(型)的联系。
实体内部的联系:各个属性之间的联系。
实体之间的联系:不同实体之间的联系。
联系的类型:一对一、一对多、多对多。
概念模型的表示方法(E-R图):
数据模型的组成
- 数据结构——描述系统的静态特性
- 数据操作——描述系统的动态特性
- 完整性约束
数据结构: 描述对象之间的关系,描述数据库的组成对象。
数据操作: 对数据库中各种对象的实例允许指向的操作的集合。
完整性约束: 一种完整性规则的集合(数据及其联系所具有的制约和依存规则)
数据系统的结构
从数据库应用开发人员的角度看
数据库采用三级模式结构,是数据库系统内部的系统结构。
从最终用户角度看
- 单用户结构
- 主从式结构
- 分布式结构
- 客户-服务器
数据库系统的三级模式结构
模式: 对数据库逻辑结构和特征的描述。是型的描述,不涉及具体值。模式是相对稳定的。
实例: 数据库某一时刻的状态——模式的一个具体值。
(比如说学生选课情况的模式,每一年的选课情况是实例。)
三级模式包括:外模式、模式、内模式。其中也包括外模式——模式映射、模式——内模式映射。
模式(逻辑模式)
- 数据库中全体数据的逻辑结构和特征的描述
- 所有用户的公共数据视图
一般来说,一个应用的数据库有一个模式。
模式是数据库系统模式结构的中心,与数据的无聊存储细节和硬件无关,与具体应用和开发工具无关。
(用SQL语言定义)
外模式(用户模式)
- 数据库用户使用的局部数据逻辑结构和特征描述
- 数据库用户的数据视图,是与某一应用有关的数据逻辑表示。
外模式与模式: 外模式通常是模式的子集,一个模式可以由多个外模式。其反应用户的不同需求。
外模式与应用: 一个外模式可以为多个应用使用,一个应用使用一个外模式。
(读出来的数据)
内模式(存储模式)
- 数据物理结构和存储方式的描述
- 数据再数据库内的表示方式
一个数据库只有一个内模式。
(存在系统里的数据结构)
数据库的二级映像
三级模式是对数据的三个抽象级别。
二级映像是三个抽象层次的联系和转换。
外模式——模式映像
对于每个外模式,有一个外模式——模式的映像。
映像定义通常包含在各外模式的描述中。
保证数据的逻辑独立性:
- 当模式改变时,数据库管理员对外模式/模式映像做出改变,使得外模式不变。
- 应用程序是依据外模式编写的,应用程序不必修改,保证了数据的逻辑独立性。
模式——内模式映像:
只有一个模式、一个内模式,所以只有一个模式/内模式映像。
定义了数据全局逻辑结构与存储结构之间的对应关系。
保证数据的物理独立性:
当数据库的存储结构变了(换了种数据结构),数据库管理员修改模式/内模式映像,使模式保持不变。
数据系统的组成
- 数据库
- 数据库管理系统
- 应用程序
- 数据库管理员
从硬件平台及数据库的角度:
- 足够大的内存
- 足够大的磁盘或磁盘阵列等外部设备
- 较高的通道能力,提高数据传输率
从软件的角度:
- 支持数据库管理系统运行的操作系统
- 与数据库结构的高级语言及其编译系统
- 以数据库管理系统为核心的应用开发工具
- 以特定应用环境开发的数据库应用系统
从人员的角度:
- 数据库管理员
- 系统分析员和数据库设计人员
- 应用程序员
- 最终用户
小结
数据库的组成要素
三级模式与两级映像
逻辑独立性与物理独立性