当前位置: 首页 > news >正文

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

在这里插入图片描述

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

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

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

http://www.dtcms.com/a/343760.html

相关文章:

  • go语言中的select的用法和使用场景
  • Elasticsearch核心概念
  • SQL185 试卷完成数同比2020年的增长率及排名变化
  • C# 简单工厂模式:构建灵活与可扩展的面向对象程序
  • 【实时Linux实战系列】实时气象数据分析系统
  • 【LeetCode题解】LeetCode 287. 寻找重复数
  • SQL184 近三个月未完成试卷数为0的用户完成情况
  • XP系统安装Android Studio 3.5.3并建立Java或Native C++工程,然后在安卓手机上运行
  • 【渲染流水线】[逐片元阶段]-[混合Blend]以UnityURP为例
  • 螺旋槽曲面方程的数学建模与偏导数求解
  • Unreal Engine UProjectileMovementComponent
  • 如何生成网关路由表
  • clickhouse实战(二)
  • 关于爬虫的基本步骤说明【爬虫七步骤】
  • AI适老服务暖人心:AI适老机顶盒破数字鸿沟、毫米波雷达护独居安全,银发生活新保障
  • 大模型压缩三剑客:量化、剪枝与知识蒸馏全解析
  • Logstash——安全与权限管理
  • Swift 项目结构详解:构建可维护的大型应用
  • 【Feed-forward optimization】 in Visual Geometry Grounded and 3DGS
  • Matrix-Zero:昆仑万维发布的AI世界模型,支持单张图生成3D世界
  • (纯新手教学)计算机视觉(opencv)实战七——边缘检测Sobel 算子(cv2.Sobel())详解
  • ⭐CVPR2025 无约束 3D 视线估计新框架[特殊字符]
  • 【图像算法 - 21】慧眼识虫:基于深度学习与OpenCV的农田害虫智能识别系统
  • Python opencv识别图片中重叠圆的圆心位置
  • 焊接工艺仿真软件SYSWELD、Simufact.Welding和FLOW-3D WELD的区别
  • 【0基础3ds Max】捕捉工具详解
  • 城市生命线地下管网三维建模软件MagicPipe3D更新历史
  • ZBrush和3D-Coat如何实现快速桥接?
  • `git mv` 重命名 Git 仓库中的文件夹
  • OFSP路由与传输层协议