数据库系统概述
四个基本概念
数据库的四个基本概念包括: 数据(Data), 数据库(Database, 简称DB), 数据库管理系统(Database Management System, 简称DBMS), 数据库系统(Database System, 简称DS)
一、数据 Data
1. 定义
数据库中存储的基本对象
2. 数据的定义
描述事物的符号记录
3. 数据的种类
文本、图形、图像、音频、视频、或者是一些比较具体的对象类型(学生的档案记录、货物的运输情况)等
4. 数据的特点
数据与其语义是不可分的(数据的含义称为数据的语义)
- 【补充: 日常生活中, 人们可以直接用自然语言来描述事物, 计算机中常常用记录来描述内容信息, 数据的形式是不能完全表达它的内容信息的, 所以需要进行解释】
- 数据是有结构的, 记录是计算机存储数据的一种格式或者是一种方法
二、数据库 Database(DB)
1. 定义
数据库(Database, 简称DB)是长期储存在计算机内、有组织、可共享的大量数据的集合
2. 建立数据库的意义
收集并抽取出一个应用所需要的大量数据, 将其保存, 以供进一步加工, 抽取有用信息, 将其转化为有价值的知识
3. 数据库的基本特征
- 数据按一定的数据模型组织、描述和储存
- 可为各种用户共享
- 冗余度较小
- 数据独立性较高
- 易扩展
三、 数据库管理系统 Data Management System(DBMS)
1. 定义
数据库管理系统(DBMS)是位于用户与操作系统之间的一层数据管理软件 , 是基础软件, 是一个大型复杂的软件系统
2. 用途
科学地组织和存储数据、高效地获取和维护数据
- 【数据库管理系统在计算机中的位置介于操作系统和应用服务器之间, 属于基础软件平台】
- 硬件平台->基础软件平台->软件基础架构平台->应用软件平台->应用软件产品
3. 主要功能
-
数据定义功能
- 提供数据定义语言(Data Definition Language, 简称DDL)
- 定义数据库中的数据对象
-
数据组织、存储和管理
- 分类组织、存储和管理各种数据
- 确定组织数据的文件结构和存取方式
- 实现数据之间的联系
- 提供多种存取方法提高存取效率
-
数据操纵功能
- 提供数据操纵语言(Data Manipulation Language, 简称DML)
- 实现对数据库的基本操作 (查询、插入、删除和修改)
-
数据库的事务管理和运行管理
- 数据库在建立、运行和维护时由DBMS统一管理和控制
- 保证数据的安全性、完整性、多用户对数据的并发使用
- 发生故障后的系统恢复
-
数据库的建立和维护功能(实用程序)
- 数据库初始数据装载转换
- 数据库转储
- 介质故障恢复
- 数据库的重组织
- 性能监视分析等
-
其它功能
- DBMS与网络中其它软件系统的通信
- 两个DBMS系统的数据转换
- 异构数据库之间的互访和互操作
四、数据库系统 Database System(DBS)
1. 定义
数据库系统(Database System, 简称DBS)是在计算机系统中引入数据库后的系统构成
- 在不引起混淆的情况下常常把数据库系统简称为数据库
2. 数据库系统的构成
- 数据库 Database
- 数据库管理系统(及其开发工具)Database Management System
- 应用系统
- 数据库管理员 Database Administrator(DBA)
3. 数据库系统的特点
- 数据结构化(与文件系统的本质区别)
- 整体数据的结构化是数据库的主要特征之一, 数据整体结构化不再仅仅针对某一个应用,而是面向全组织, 不仅数据内部结构化, 它的整体也是结构化的, 数据与数据之间是具有联系的, 数据库中实现的是数据的真正结构化
- 数据记录可以变长
- 数据的最小存取单位是数据项
- 数据的结构用数据模型描述,无需程序定义和解释
- 共享性高, 冗余度低且易扩展
- 数据库系统从整体角度看待和描述数据, 数据面向整个系统, 可以被多个用户、多个应用共享使用、
- 减少数据冗余, 节省存储空间
- 避免数据之间的不相容性与不一致性
- 使系统易于扩充
- 数据独立性高(独立性指应用程序与逻辑结构、物理存储相互独立)
- 独立性涵盖物理独立性和逻辑独立性两个方面
- 物理独立性指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的, 当数据的物理存储改变了, 应用程序不用改变
- 逻辑独立性指用户的应用程序与数据库的逻辑结构是相互独立的, 数据的逻辑结构改变了, 用户程序也可以不变
【数据独立性由 数据库管理系统的二级映像功能来实现】
- 数据统一管理和控制
- 数据的安全性保护(security)
保护数据,以防止不合法的使用造成的数据的泄密和破坏 - 数据的完整性检查(Integrity)
将数据控制在有效的范围内, 或保证数据之间满足一定的关系(如:成绩分数100分,误写成1000分) - 并发控制(Concurrency)
对多用户的并发操作加以控制和协调, 防止相互干扰而得到错误的结果 - 数据库恢复(Recovery)
将数据库从错误状态恢复到某一已知的正确状态
- 数据的安全性保护(security)
数据管理技术的产生和发展
一、数据管理的定义
- 对数据进行分类、组织、编码、存储、检索和维护
- 数据处理的中心问题
二、数据管理技术的发展过程
- 人工管理阶段(20世纪40年代中–50年代中)
- 文件系统阶段(20世纪50年代末–60年代中)
- 数据库系统阶段(20世纪60年代末–现在)
人工管理阶段 | 文件系统阶段 | 数据库系统阶段 | ||
---|---|---|---|---|
背景 | ||||
应用背景 | 科学计算 | 科学计算、管理 | 大规模数据管理 | |
硬件背景 | 无直接存取存储设备 | 磁盘、磁鼓 | 大容量磁盘、磁盘阵列 | |
软件背景 | 无操作系统 | 有文件系统 | 有数据库管理系统 | |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、分布处理、批处理 | |
特点 | ||||
数据管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 | |
数据面向对象 | 某一应用程序 | 某一应用 | 现实世界(一个企业、跨国公司) | |
数据共享程度式 | 无共享、冗余度极大 | 共享性差、冗余度大 | 共享性高、冗余度小 | |
数据独立性 | 不独立、完全依赖于程序 | 独立性差 | 具有高度的物理独立性和逻辑独立性 | |
数据结构化式 | 无结构 | 记录内有结构、整体无结构 | 整体结构化、用数据模型描述 | |
数据控制能力 | 应用程序自己控制 | 应用程序自己控制 | 由DBMS提供数据安全性、完整性、并发控制和恢复能力 |
数据模型
数据模型的概念
一、概念
- 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息
- 通俗地讲数据模型就是现实世界的模拟
二、数据模型应满足的三方面要求
- 能比较真实地模拟现实世界
- 容易为人所理解
- 便于在计算机上实现
三、两大数据模型
数据模型分为两类(分属两个不同的层次)
- (1) 概念模型, 也称信息模型, 它是按用户的观点来对数据和信息建模, 用于数据库设计
- (2) 逻辑模型和物理模型
- 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模, 用于DBMS实现
- 物理模型是对数据最底层的抽象, 描述数据在系统内部的表示方式和存取方法, 在磁盘或磁带上的存储方式和存取方法
四、客观对象的抽象过程——两步抽象
- 现实世界中的客观对象抽象为概念模型
- 把概念模型转换为某一DBMS支持的数据模型
现实世界中需要人为将客观对象理解成一个通俗易懂的概念模型表示出来, 这是第一次对数据的抽象认识, 然后由数据库设计人员将已经构想出的概念模型转化为具有一定逻辑顺序结构的逻辑模型, 最后由DBMS实现由逻辑模型到物理模型的转化, 转换为DBMS支持的数据模型
数据模型的组成要素
一、数据结构
数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分, 数据结构指对象和对象间联系的表达和实现, 是对系统静态特征的描述, 包括两个方面:
- (1)数据本身: 类型、内容、性质; 例如关系模型中的域、属性、关系等
- (2)数据之间的联系: 数据之间是如何相互关联的, 例如关系模型中的主码、外码联系等
二、数据操作
1. 数据操作
对数据库中各种对象(型)的实例(值)允许执行的操作, 及有关的操作规则
2. 数据操作的类型
- 查询
- 更新(包括插入、删除、修改)
三、数据的完整性约束条件
- 数据的完整性约束条件是一组完整性规则的集合, 规定数据库状态及状态变化所应满足的条件, 以保证数据的正确性、有效性和相容性
- 完整性规则: 给定的数据模型中数据及其联系所具有的制约和储存规则
概念模型
用途与基本要求
一、概念模型的用途:
- 概念模型用于信息世界的建模
- 是现实世界到机器世界的一个中间层次
- 是数据库设计的有力工具
- 数据库设计人员和用户之间进行交流的语言
二、对概念模型的基本要求:
- 较强的语义表达能力
- 能够方便、直接地表达应用中的各种语义知识
- 简单、清晰、易于用户理解
信息世界中的基本概念
- (1) 实体(Entity)
- 客观存在并可相互区别的事物称为实体
- 可以是具体的人、事、物或抽象的概念
- (2) 属性(Attribute)
- 实体所具有的某一特性称为属性。
- 一个实体可以由若干个属性来刻画。
- (3) 码(Key), 也可称作“键”
- 唯一标识实体的属性集称为码
- (4) 域(Domain)
- 属性的取值范围称为该属性的域
- (5) 实体型(Entity Type)
- 用实体名及其属性名集合来抽象和刻画同类实体称为实体型
- (6) 实体集(Entity Set)
- 同一类型实体的集合称为实体集
- (7) 联系(Relationship)
- 现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
- 实体内部的联系通常是指组成实体的各属性之间的联系
- 实体之间的联系通常是指不同实体集之间的联系
一、两个实体型之间的联系
- 一对一联系(1: 1): 如果对于实体集A中的每一个实体, 实体集B中至多有一个(也可以没有)实体与之联系, 反之亦然。则称实体集A与实体集B具有一对一联系, 记为1: 1
- 一对多联系(1: n): 如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与之联系, 反之, 对于实体集B中的每一个实体, 实体集A中至多只有一个实体与之联系, 则称实体集A与实体集B有一对多联系, 记为1: n
- 多对多联系(m: n): 如果对于实体集A中的每一个实体, 实体集B中有n个实体(n≥0)与之联系, 反之, 对于实体集B中的每一个实体, 实体集A中也有m个实体(m≥0)与之联系, 则称实体集A与实体B具有多对多联系, 记为m: n
二、两个以上实体型之间的联系
- 一对多联系(1: m || 1: n): 若实体集E1, E2, …, En存在联系, 对于实体集Ej(j = 1,2,…,i-1i+1,…,n)中的给定实体, 最多只和Ei中的一个实体相联系, 则我们说Ei与E1, E2, …, Ei-1, Ei+1, …, En之间的联系是一对多的
- 一对一联系(1: 1: 1)
- 多对多联系(m: n: p)
三、单个实体型内的联系
- 一对一联系(1: 1):
- 一对多联系(1: n)
- 多对多联系(m: n)
概念模型的一种表示方法
一、实体-联系方法(E-R方法)
- E-R图也称实体-联系图(Entity Relationship Diagram), 提供了表示实体类型、属性和联系的方法, 用E-R图来描述现实世界的概念模型
- E-R方法也称为E-R模型
二、实体型
用矩形表示, 矩形框内写明实体名
三、 属性
用椭圆形表示, 并用无向边将其与相应的实体连接起来
四、联系
用菱形表示, 菱形框内写明联系名, 并用无向边分别与有关实体连接起来, 同时在无向边旁标上联系的类型(1: 1、1:n 或m: n)
五、联系的属性
联系本身也是一种实体型, 也可以有属性; 如果一个联系具有属性, 则这些属性也要用无向边与该联系连接起来