【软考架构】第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 数据库三级模式(抽象层次)

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

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

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

相关推荐
C++业余爱好者1 天前
SQL语言家族入门指南:标准SQL、T-SQL与PL/SQL详解
数据库·sql
白驹过隙^^1 天前
OB-USP-AGENT安装使用方法
数据库·经验分享·网络协议·tcp/ip·github·ssl
计算机程序设计小李同学1 天前
基于Python的在线零食购物商城系统的设计与实现
数据库·sqlite
西格电力科技1 天前
面向工业用户的绿电直连架构适配技术:高可靠与高弹性的双重设计
大数据·服务器·人工智能·架构·能源
Java爱好狂.1 天前
Java面试Redis核心知识点整理!
java·数据库·redis·分布式锁·java面试·后端开发·java八股文
小程故事多_801 天前
开源界核弹级输出!蚂蚁 Agentar-Scale-SQL 凭 “编排式扩展” 技术,成为 Text-to-SQL 天花板
数据库·人工智能·sql·开源·aigc·embedding
北邮刘老师1 天前
【智能体互联协议解析】ACPs/AIP为什么还在用“落后”的“中心化”架构?
网络·人工智能·架构·大模型·智能体·智能体互联网
谷隐凡二1 天前
etcd在Kubernetes中的作用简单介绍
数据库·kubernetes·etcd
阿杆1 天前
如何在 Spring Boot 中接入 Amazon ElastiCache
java·数据库·redis
qq_343247031 天前
单机版认证kafka
数据库·分布式·kafka