【软考架构】第6章 数据库基本概念

6.1 数据库基本概念总结

核心概念定义
  • 数据(Data):描述事物的符号记录,表现形式包括文字、图形、图像、声音等。
  • 信息(Information):现实世界事物的存在方式或状态的反映,具有可感知、可存储、可加工等属性,是数据的特定释义和意义。
  • 数据库(DB):统一管理的、长期存储在计算机内的有组织的相关数据集合,特点是联系密切、冗余度小、独立性高、易扩展、可共享(含存储数据的物理设备及数据本身)。
  • 数据库管理系统(DBMS) :数据库系统的核心软件,在操作系统支持下工作,负责科学组织/存储数据、高效获取/维护数据,主要功能包括:
    • 数据定义(通过DDL定义数据库结构、完整性、安全性等);
    • 数据操纵(通过DML实现检索、插入、修改、删除);
    • 数据库运行管理(并发控制、安全检查、完整性执行等);
    • 数据组织、存储和管理(优化存储结构和存取效率);
    • 数据库建立与维护(初始建立、转储恢复、重组重构等)。
  • 数据库系统(DBS):采用数据库技术的计算机系统,广义上包括DB、DBMS、硬件、软件及用户,可动态存储大量关联数据,支持多用户访问。
6.1.1 数据库技术的发展(数据管理技术三阶段)
阶段 特点 缺点
人工管理阶段 数据量少,与程序一一对应(面向应用,独立性差);数据不长期保存;无专门管理软件,需程序员设计物理结构。 应用程序与数据依赖性强(不独立);数据冗余度大。
文件系统阶段 数据可长期保存;逻辑结构与物理结构分离(通过文件名访问,不关心物理位置);文件组织形式多样(索引、链接等)。 数据冗余大(相同数据重复存储);数据不一致(修改维护困难);数据孤立(文件间无内在联系,共享困难)。
数据库系统阶段 采用复杂数据模型(描述数据及联系),数据面向系统而非单个应用;数据共享性高、冗余少;独立性强(由DBMS负责数据存取);提供完整性、一致性、安全性管理。 无显著缺点,是目前主流数据管理方式。
6.1.2 数据模型

数据模型是描述数据的一组概念和定义,三要素包括:

  • 数据结构:对象类型的集合,描述系统静态特性;
  • 数据操作:对数据的允许操作(检索、插入、删除、修改等)及规则,描述系统动态特性;
  • 数据约束条件:一组完整性规则,保证数据正确、有效、相容。

数据模型的发展阶段:

  1. 层次和网状数据库系统

    • 层次模型:树形结构,根结点外的结点仅有一个双亲,体现1:n联系;
    • 网状模型:允许多结点无双亲或一个结点多个双亲,可描述更复杂联系(但需通过联结记录表示多对多联系);
    • 共同特点:支持三级模式、用存取路径表示联系、有独立数据定义语言和导航式操纵语言。
  2. 关系数据库系统

    • 用表格结构表达实体及联系,描述具有一致性;
    • 核心是"关系"(一张表,对应程序设计中的"变量")和"关系模式"(表结构,对应"类型定义");
    • 因简单灵活,成为目前最常用的数据模型。
  3. 第三代数据库系统

    • 传统数据库难以应对新型应用(如大数据、Web 2.0),催生多种新模型(面向对象、XML、半结构化等);
    • 典型代表是NoSQL(非关系型数据库),侧重分布式、大规模数据处理,不依赖SQL和ACID特性,适用于高并发场景。
6.1.3 数据库管理系统(DBMS)

DBMS实现了对共享数据有效地组织、管理和存取,因此DBMS应具有如下几个方面的功能及特征。
1.DBMS功能

DBMS功能主要包括数据定义、数据库操作、数据库运行管理、数据组织、存储和管理、数据库的建立和维护。

(1)数据定义。

DBMS提供数据定义语言(Data Definition Language,DDL),可以对数据库的结构进行描述,包括外模式、模式和内模式的定义;数据库的完整性定义;安全保密定义,如口令、级别和存取权限等。这些定义存储在数据字典中,是DBMS运行的基本依据。

(2)数据库操作。

DBMS向用户提供数据操纵语言(Data Manipulation Language,DML),实现对数据库中数据的基本操作,如检索、插入、修改和删除。

(3)数据库运行管理。

数据库在运行期间,多用户环境下的并发控制、安全性检查和存取控制、完整性检查和执行、运行日志的组织管理、事务管理和自动恢复等都是DBMS的重要组成部分。这些功能可以保证数据库系统的正常运行。

(4)数据组织、存储和管理。

DBMS分类组织、存储和管理各种数据,包括数据字典、用户数据和存取路径等。要确定以何种文件结构和存取方式在存储级别上组织这些数据,以提高存取效率。实现数据间的联系、数据组织和存储的基本目标是提高存储空间的利用率。

(5)数据库的建立和维护。

数据库的建立和维护,包括数据库的初始建立、数据的转换、数据库的转储和恢复、数据库的重组和重构、性能监测和分析等。

(6)其他功能。

如DBMS与网络中其他软件系统的通信功能,一个DBMS与另一个DBMS或文件系统的数据转换功能等。

2. DBMS的特点

  1. 数据结构化且统一管理:通过数据模型描述数据及联系,数据面向整个系统,冗余少、易扩展、可共享。
  2. 高数据独立性:数据与程序分离,应用程序仅关注逻辑结构,无需关心物理存储(包括物理独立性和逻辑独立性)。
  3. 数据控制功能
    • 安全性:防止不合法使用导致数据泄露/破坏(如权限管理);
    • 完整性:保证数据正确性和相容性(避免非法更新);
    • 并发控制:协调多用户同时操作,防止数据不一致;
    • 故障恢复:通过冗余数据将数据库从故障状态恢复到一致状态(应对事务故障、系统故障等)。
6.1.4 数据库三级模式(抽象层次)

数据库系统通过三级模式屏蔽复杂性,实现用户与系统的简化交互,从高到低分为:

模式层级 对应抽象层 描述
外模式(子模式/用户模式) 视图层 用户可见的部分数据描述,简化交互并保证数据保密性,是用户与系统的接口。
概念模式(模式) 逻辑层 整个数据库的逻辑结构和特征描述(仅含"型",不含具体值),由数据库管理员负责,独立于物理存储。
内模式(存储模式) 物理层 数据物理存储方式的描述(如文件结构、索引方式等),是最低层抽象。

作用:三级模式通过"型"(结构描述)和"值"(具体数据)的分离,保证任意一层的改变不影响其他层(如物理存储变化不影响用户视图),提升系统灵活性和稳定性。

相关推荐
帧栈3 小时前
开发避坑指南(31):Oracle 11g LISTAGG函数使用陷阱,缺失WITHIN子句解决方案
oracle
瓜酷月..3 小时前
MySQL的高可用+MHA
数据库·mysql
差不多的张三3 小时前
【解决方案】powershell自动连接夜神adb端口
数据库·adb
门思科技3 小时前
LoRaWAN 的网络拓扑全解析:架构、原理与应用实践
服务器·网络·人工智能·科技·物联网·架构
自学也学好编程5 小时前
【数据库】PostgreSQL详解:企业级关系型数据库
数据库·postgresql
.Eyes6 小时前
OceanBase 分区裁剪(Partition Pruning)原理解读
数据库·oceanbase
MrZhangBaby7 小时前
SQL-leetcode— 2356. 每位教师所教授的科目种类的数量
数据库
一水鉴天7 小时前
整体设计 之定稿 “凝聚式中心点”原型 --整除:智能合约和DBMS的在表层挂接 能/所 依据的深层套接 之2
数据库·人工智能·智能合约
翔云1234567 小时前
Python 中 SQLAlchemy 和 MySQLdb 的关系
数据库·python·mysql