数据库基本概念
数据(D)
定义:描述事务顶点符号记录
种类:数字、文字、图形、图像、音频、视频等
数据的含义称为数据的语义,数据与语义是不可分的。
数据库(DB)
DB是长期存储在计算机内,有组织的、可共享的 、大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户所共享。
数据库管理系统(DBMS)
DBMS是对数据库进行管理的大型软件,它是数据库系统的核心组成部分。DBMS是位于用户和操作系统之间的一层数据管理软件,和操作系统一样属于基础软件。
主要功能:
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
数据库系统(DBS)
数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用系统和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统。
数据库的发展
人工管理 | 文件系统 | 数据库管理 | |
---|---|---|---|
应用背景 | 科学计算 | 科学计算、数据管理 | 大规模的数据管理 |
硬件背景 | 无直接存取的存储设备 | 硬盘、磁鼓 | 大容量磁盘、磁盘阵列 |
软件背景 | 没有操作系统 | 有文件系统 | 有数据库管理系统 |
处理方式 | 批处理 | 联机实时处理、批处理 | 联机实时处理、批处理、分布处理 |
数据的管理者 | 用户(程序员) | 文件系统 | 数据库管理系统 |
数据面向的对象 | 某一项应用程序 | 某一应用 | 显示世界 |
数据的共享程度 | 无共享、冗余程度大 | 共享性差、冗余度大 | 共享性高、冗余度小 |
数据的独立性 | 不独立,完全依赖于程序 | 独立性差 | 具有较高的物理独立性和一定的逻辑独立性 |
数据的结构化 | 无结构 | 记录年内有结构化、整体无结构 | 整体结构化,用于数据模型描述 |
数据的控制能力 | 应用程序自己控制 | 应用程序自己控制 | 由数据库管理系统提供数据的安全性、完整性、并发控制和恢复能力 |
- 数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统和文件系统的本质区别。
- 数据库系统的三层视图:视图层、逻辑层和物理层。
数据模型
数据模型是一种模型,是一种对现实世界数据特征的抽象。
数据模型是数据库系统的核心和基础。
数据模型应满足三方面要求:
- 能比较真实的模拟现实世界
- 容易为人所理解
- 便于在计算机上实现
数据模型的组成要素:
- 数据结构(静态特征):描述数据库的组成对象及对象之间的关系(静态特征)
- 数据操作(动态特征):指数据库中各种对象的实例允许的操作的集合,包括操作及有关的操作规则
- 数据约束条件:是一组完整性规则的集合
概念模型(信息模型)
概念模型按照用户的观点来对数据和信息建模,用于数据库的设计。
概念模型是现实世界到机器世界的一个层次。
可以用E-R图(实体-联系图)表示st=>start: 基本概念
基本概念
实体
属性
码/建(key)
实体型
实体集
联系:实体之间的联系通常是指不同实体集之间的联系,实体之间的联系有一对一、一对多和多对多等多种类型。
逻辑模型
主要包括层次、网状、关系、面向对象和半结构化数据模型等,按计算机系统的观点对数据建模,用于DBMS实现。
层次模型:用树型结构表示实体及实体间的联系的数据模型
定义:
- 有且只有一个结点没有双亲结点,这个结点称为根结点
- 根以外的其他结点有且仅有一个双亲结点。
每个结点表示一个记录类型,记录类型之间的联系用结点之间的连线(有向边)表示,这种连线是父子之间的一对多的联系。
操作:增、删、查、改
约束条件:
- 无相应的双亲结点值就不能插入子女的结点值
- 删除双亲结点,则相应的子女结点也同时删除
- 更新操作时,应更新所有相应记录,以保证数据的一致性
优点:
- 简单易用
- 自然表示1:M关系
- 速度较快
缺点:
- 不能直接表示m:n关系(须引入冗余结点)
- 插入、删除操作限制较多
- 在层次模型中有一定的存取路径,查子女须经过双亲(从上到下,从左到右:他仅允许自顶向下的单向查询,随机存取效率低)
网状模型:用网状结构表示实体及实体间联系的数据模型
表示方法:
- 一个结点表示一个实体
- 有向连线表示实体间联系
- 两个结点之间的联系不唯一,所以联系必须命名
特征:
- 可以有多个结点无父节点
- 至少有一个结点有多个父节点
优点:
- 直接表示m:n 联系
- 存取效率高
缺点:
- 结构复杂
- DDL、DML复杂
- 一次存取一个记录值
- 应用程序与数据结构相互依赖,应用程序在访问数据时必须选择适当的存取路径
约束:
- 插入不受限制
- 删去双亲,子女不受影响
关系模型:以集合论中的关系概念为基础发展起来的数据模型
从用户角度来看,关系模型是用二维表格表示实体及其间联系的数据模型
一个关系就是没有重复行和重复列的二维表
关系模型要求关系必须是规范的,关系中的每一个分量必须是一个不可分的数据项,不允许表中还有表。
数据操作时集合操作,操作对象和操作结果都是关系,即若干元组的集:查询、插入、删除、更新。
存取路径对用户隐蔽
关系的完整性约束条件:
- 实体完整性
- 参照完整性
- 用户定义的完整性
优点:
- 建立在严格的数学概念的基础上
- 概念单一:实体和各类联系都用关系来表示;对数据的检索结果也是关系
- 关系模型的存取路径对用户透明:具有更高的数据独立性,更好的安全保密性;简化了程序员的工作和数据库开发建立的工作
缺点:
- 存取路径对用户透明导致查询效率往往不如非关系数据模型
- 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度
物理模型
物理模型是对数局最底层的抽象,描述数据库系统内部的表示方式和存取方法,或在磁盘或磁带上的存储方式和存取方法。
1 | st=>start: 现实世界 |
数据库系统结构
在数据模型中有“型”和“值”的概念。型是对某一类数据的结构和属性的说明,类是型的一个具体赋值。
模式
数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
仅仅是型的描述,与具体的值无关。
反映的是数据的结构及其联系
模式是相对稳定的
实例
实例是模式的一个具体的值;反映数据库某一时刻的状态。
同一个模式可以有很多的实例;
实例随数据库中的数据的更新而变动
三级模式结构
外模式
外模式也称为子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是某一应用有关的数据的逻辑表示。
定义在逻辑模式之上,独立于存储模式和存储设备。
设计外模式要考虑到应用的扩充性
地位:介于模式和应用之间
模式与外模式的关系:1:m
外模式与应用的关系:1:m
用途:
- 支持不同用户建立适应局部应用特征的结构,每个用户只能看见和访问所对应的外模式中的数据
- 简化应用处理
- 提高安全性,保证数据库安全性的一个有力措施
模式
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
地位: 是数据库系统模式结构的中间层,独立于数据库的其他层次。
- 与数据的物理存储细节和硬件环境无关
- 与具体的应用程序、开发工具及高级程序设计语言无关
内模式
内模式是数据物理结构和存储方式的描述
是数据在数据库内部的表示方式
一个数据库只有一个内模式
三级模式:
外模式 | 模式 | 内模式 |
---|---|---|
概念模式的某一部分的抽象表示,反映的是数据的存储观 | 是整个数据库的抽象表示,反映的数据库的全局观 | 整个数据库的实际存储表示,反映的是数据的存储观 |
二级映像
外模式/模式映像
定义某一个外模式和模式之间的对应关系。
作用:保证数据的逻辑独立性
模式/内模式映像
定义了数据全局逻辑结构与存储结构之间的对应关系
数据库中模式/内模式映像是惟一的
作用:保证数据的物理独立性
三级模式的优点
- 保证数据的独立性
- 简化了用户接口
- 有利于数据共享
- 利于数据的安全保密
数据库的组成
硬件平台及数据库
要求:
- 足够大的内存
- 足够大的外存
- 较高的通道能力,以提高数据传送率
软件
- DBMS
- 支持DBMS运行的操作系统
- 与数据库接口的高级语言及其编译系统
- 以DBMS为核心的应用开发工具
- 为特定应用环境开发的数据库应用系统
人员
- DBA
- 系统分析员
- 数据库设计人员
- 应用程序员
- 用户