[每天五分钟,备战架构师-8]数据库系统
对于IT从业人员,一定听到过数据库的概念。顾名思义,数据库系统就是管理数据存储的软件。本篇就软件等级考试相关的数据库系统知识从整体上进行总结,方便大家复习。
1. 数据库管理系统的类型
数据库系统有不同的分类方法(见下图),现代的数据库系统大多具有多用户、分布式的特点,因此最重要的区别就在于所采用的数据模型。对于关系型数据库比较出名的有Mysql、Oracle,对于层次性数据库典型的有IMS,还有图数据库等等其它类型的数据库。
2. 数据库模式与范式
模式:
范式:
2.1 数据库的结构与模式
数据库结构分为多个层次,最著名的是美国ANSI/SPARC数据库系统研究组1975年提出的三级划分法。
这一部分几乎每年都会考。
2.1.1 三级抽象
分为三个抽象级别:用户级、概念级、物理级。
- 用户级:对应于外模式,最接近用户,又称用户视图。
- 概念级:对应于概念模式,是所有用户视图的最小并集,是数据库管理员看到和使用的数据库。
- 物理级:对应于内模式,描述数据的实际存储组织,又称内部视图。物理级数据库并不是真正的物理存储,而是最接近于物理存储的级。
2.1.2 三级模式
三级模式分别为:概念模式、外模式、内模式。
- 概念模式:又叫模式、逻辑模式,描述数据库的逻辑结构,描述现实世界的实体及其性质与联系,是数据项值的框架。是数据库全体数据的逻辑结构和特征的描述,是所有用户的公共数据试图。一个数据库只有一个概念模式。
- 外模式:描述用户看到、使用部分数据的逻辑结构,用户根据外模式用DML语句操作数据。一个数据库可以有多个外模式,一个应用程序只能使用一个外模式。
- 内模式:定义存储记录的类型、存储域及存储记录的物理顺序。一个数据库只有一个内模式。
2.1.3 两级独立性
- 物理独立性:应用程序与数据库的物理存储是相独立的,存储发生变化时,应用程序不需要变化。
- 逻辑独立性:应用程序与数据库的逻辑结构相互独立,存在于外模式和概念模式之间的映射转换。
2.2 数据模型
- 概念数据模型:也叫实体联系模型 E-R模型。按照用户的观点对数据和信息建模,用于数据库设计。
- 基本数据模型:也叫结构数据模型。按照计算机系统的观点来对数据和信息建模,用于DBMS的实现。是数据库系统的核心和基础,包括数据结构、数据操作、完整性约束三部分。
- 层次模型:使用树型结构表示实体类型及实体间联系。优点是查询效率高,缺点m:n联系实现复杂。
- 网状模型:使用有向图表示实体类型及实体间联系。优点查询效率高,缺点应用程序编写复杂。
- 关系模型:使用表格结构表达实体集,外键表示实体间联系。
- 面向对象模型
2.3 数据规范化
关系模型满足确定的约束条件称为范式,根据约束条件的级别,由低到高分为:1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(BC范式)、4NF(第四范式)等。
规范化的过程是指把一个低一级的关系模型分解为高一级关系模型的过程,必须遵恤两个原则:1、无损连接性,信息不失真(增减);2、函数依赖保持,不破坏属性间的依赖关系。
- 1NF:最低的规范化要求。达到元素(属性)不可再分即可,是数据库设计中必须达到的。
- 2NF:所有的非主属性都完全依赖于主属性,则称之为第二范式。
- 3NF:属于第二范式,且每个非主属性不传递依赖于主属性。
- BCNF:第三范式的改进,考的较少。没有属性完全函数依赖于一组非主属性。
- 4NF:
规范化设计会带来性能的降低,实际工作中要根据实际情况决定数据规范的级别。有时会进行反规范化操作,利用更多的空间来换来执行效率的提升。
欢迎大家关注我,了解更多的软考相关的内容。我会陪伴大家一起准备软件等级考试的复习,同时也会不定期分享一些互联网技术资料,同大家一起成长。