《系统架构设计师教程(第2版)》第6章-据库设计基础知识-01-数据库基本概念

本文主要是介绍《系统架构设计师教程(第2版)》第6章-据库设计基础知识-01-数据库基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 1. 概述
    • 1.1 基本概念
      • 1)信息 (Information)
      • 2)数据 (Data)
      • 3)数据库 (DB)
      • 4)数据库系统(DBS)
      • 5)数据库管理系统(DBMS)
    • 1.2 数据库技术的发展
      • 1.2.1 人工管理阶段
      • 1.2.2 文件系统阶段
        • 1)概述
        • 2) 数据管理的特点
        • 3)缺点
      • 1.2.3 数据库系统阶段
        • 1) 数据管理的特点
        • 2)相对文件系统的特性
  • 2. 数据模型
    • 2.1 三要素
    • 2.2 数据模型类型
      • 1)层次和网状数据库系统
      • 2)关系数据库系统
      • 3)第三代数据库系统
  • 3. 数据库管理系统(DBMS)
    • 3.1 DBMS功能
      • 1)数据定义
      • 2)数据库操作
      • 3)数据库运行管理
      • 4)数据组织、存储和管理
      • 5)数据库的建立和维护
      • 6)其他功能
    • 3.2 DBMS 的特点
      • 1)数据结构化且统一管理
      • 2)有较高的数据独立性
      • 3)数据控制功能
  • 4. 数据库三级模式
    • 4.1 视图层 (View Level)
    • 4.2 逻辑层 (Logical Level)
    • 4.3 物理层 (Physical Level)
  • 5. 管理角度的三级模式
    • 5.1 外模式
    • 5.2 概念模式
    • 5.3 内模式

1. 概述

1.1 基本概念

1)信息 (Information)

  • 概念:
    • 是现实世界事物的存在方式或状态的反映
    • 是具有特定释义和意义的数据
  • 自然属性:
    • 可感知
    • 可存储
    • 可加工
    • 可传递
    • 可再生等
  • 信息的社会属性:是社会各行各业不可缺少的资源

2)数据 (Data)

  • 数据
    • 概念:是信息的符号表示(即,描述事物的符号记录)
    • 表现形式:可以是文字、图形、图像、声音和语言等
  • 数据处理:对各种数据进行收集、存储、加工和传播的一系列活动。
  • 数据管理:对数据进行分类、组织、编码、存储、检索和维护的活动。

3)数据库 (DB)

  • 概念:是统一管理的、长期储存在计算机内的,有组织的相关数据的集合。
  • 特点:
    • 是数据间联系密切
    • 冗余度小
    • 独立性较高
    • 易扩展
    • 可为各类用户共享

广义的讲,除了数据本身还包括了存储数据的各种物理设备

4)数据库系统(DBS)

  • 概念:是一个采用了数据库技术,有组织地、动态地存储大量相关联数据,从而方便多用户访问的计算机系统。
  • 和文件系统的区别
    • 数据的充分共享、交叉访问、与应用程序的高度独立性

广义上包括了数据库管理系统(DataBase Management System,DBMS),其概念如下:

5)数据库管理系统(DBMS)

  • 概述:
    • 是数据库系统的核心软件
    • 是一种解决如何科学地组织和储存数据,如何高效地获取和维护数据的系统软件
  • 组成:
    • 一组相互关联的数据集合
    • 一组用以访问这些数据的软件
  • 主要功能
    • 数据定义功能
    • 数据操纵功能
    • 数据库的运行管理
    • 数据库的建立与维护

1.2 数据库技术的发展

数据管理技术的发展经历了3个阶段:

1.2.1 人工管理阶段

  • 早期状况:

    • 数据处理都是通过手工进行的
    • 当时的计算机主要用于科学计算
    • 计算机上没有专门管理数据的软件
    • 计算机上没有诸如磁盘之类的设备来存储数据
  • 该阶段数据处理的特点:

    • 数据量较少

      数据和程序一一对应,即一组数据对应一个程序,数据面向应用,独立性很差。

    • 数据不保存

    • 没有软件系统对数据进行管理

  • 缺点。

    • 应用程序与数据之间的依赖性太强,不相互独立
    • 数据组和数据组之间可能有许多重复数据,造成数据冗余

1.2.2 文件系统阶段

1)概述
  • 大容量的磁盘等辅助存储设备出现
  • 专门管理辅助存储设备上数据的文件系统应运而生
    • 按一定的规则将数据组织成为一个文件
    • 应用程序通过文件系统对文件中的数据进行存取和加工
2) 数据管理的特点
  • 数据可以长期保留
  • 数据的逻辑结构和物理结构有了区别

    程序可以按照文件名称访问文件,不必关心数据的物理位置,由文件系统提供存取方法。

  • 应用程序和数据不再直接对应

    数据不属于某个特定的应用,数据可以重复使用

  • 文件组织形式的多样化

    有索引文件、链接文件和Hash文件等。但文件之间没有联系,相互独立,数据间的联系要通过程序去构造。

3)缺点

文件系统具有如下缺点。

  • 数据冗余 (Data Redundancy)。

    文件与应用程序密切相关,相同的数据集合在不同的应用程序中使用时,经常需要重复定义、重复存储,数据冗余度大。

  • 数据不一致性 (Data Inconsistency)

    由于相同数据的重复存储,单独管理,同样的数据可能存在于多个不同的文件中,给数据的修改和维护带来难度,容易造成数据的不一致。

  • 数据孤立 (Data Isolation)

    即数据联系弱。由于数据分散在不同的文件中,而这些文件可能具有不同的文件格式,文件之间是孤立的,所以从整体上看文件之间没有反映现实世界事物之间的内在联系,因此很难对数据进行合理的组织以适应不同应用的需要。

1.2.3 数据库系统阶段

1) 数据管理的特点

数据库系统阶段数据管理的特点如下:

  • 采用复杂的数据模型表示数据结构

    • 数据模型不仅描述数据本身的特点,还描述数据之间的联系
    • 数据不再面向某个应用,而是面向整个应用系统
    • 数据冗余明显减少,实现了数据共享
  • 有较高的数据独立性

    • 数据库是一种更高级的组织形式
    • 由DBMS 负责数据的存取

      DBMS把所有应用程序中使用的数据以及数据间的联系汇集在一起,以便于应用程序查询和使用。

2)相对文件系统的特性

数据库系统相对于文件系统的特性:

  • 对应用程序的高度独立性

    数据库对数据的存储是按照同一种数据结构进行的,不同的应用程序都可以直接操作这些数据

  • 数据的充分共享性

    数据库系统对数据的完整性、一致性和安全性都提供了一套有效的管理手段()。

  • 操作方便性

    数据库系统还提供管理和控制数据的各种简单操作命令,容易掌握,使用户编写程序简单

2. 数据模型

2.1 三要素

数据模型的三要素:

  • 数据结构:对象类型的集合,是对系统静态特性的描述。
  • 数据操作。对数据库中各种对象的实例允许执行的操作集合,包括操作及操作规则。如操作有检索、插入、删除和修改,操作规则有优先级等。数据操作是对系统动态特性的描述。
  • 数据的约束条件
    • 是一组完整性规则的集合
    • 是具体的应用数据所必须遵循的特定语义的约束条件
    • 作用:保证数据的正确、有效和相容

2.2 数据模型类型

按照不同的数据模型,可以将数据库的发展历史分为3个阶段:

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

  • 层次模型:
    • 概念:采用树形结构表示数据与数据间的联系
      • 每个结点表示一个记录类型(实体)
      • 记录之间的联系用结点之间的连线表示
    • 限制:根结点以外的其他结点有且仅有一个双亲结点

      上层和下一层类型的联系是1: n 联系(包括1:1)

  • 网络结构:
    • 表示数据间联系的数据模型
    • 没有层次模型的限制:
      • 允许一个以上的结点无双亲
      • 允许一个结点有多个双亲
    • 表示多对多关心需要引入联结记录
  • 二者共同点:
    • 支持三级模式的体系结构(后边对三级结构有介绍)
    • 用存取路径来表示数据之间的联系
    • 独立的数据定义语言
    • 导航的数据操纵语言

2)关系数据库系统

  • 概述:
    • 关系:是一个实例,也是一张表,对应于程序设计语言中变量的概念
    • 关系模式:相当于一个记录型,对应于程序设计语言中类型定义的概念
    • 关系模型(Relation Model) :由若干个关系模式组成的集合
  • 关系数据库系统
    • 采用关系模型作为数据的组织方式
    • 用表格结构表达实体集以及实体集之间的联系
    • 特色:描述的一致性
  • 优点
    • 比网状、层次模型更为简单灵活

3)第三代数据库系统

  • 新的数据模型:如面向对象模型、语义数据模型、 XML 数据模型、半结构化数据模型等
  • No SQL

没有什么要记的

3. 数据库管理系统(DBMS)

实现了对共享数据有效地组织、管理和存取

3.1 DBMS功能

DBMS提供如下功能:

1)数据定义

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

2)数据库操作

  • 数据操纵语言 (Data Manipulation Language)
  • 作用:实现对数据库中数据的基本操作(如检索、插入、修改和删除)

3)数据库运行管理

  • 內容包括:
    • 多用户环境下的并发控制
    • 安全性检查和存取控制
    • 完整性检查和执行
    • 运行日志的组织管理
    • 事务管理
    • 自动恢复等
  • 作用:保证数据库系统的正常运行

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

  • 基本目标:提高存储空间的利用率
  • 管理对象包括:数据字典、用户数据、存取路径等

5)数据库的建立和维护

  • 内容包括:
    • 数据库的初始建立
    • 数据的转换
    • 数据库的转储和恢复
    • 数据库的重组和重构
    • 性能监测和分析等。

6)其他功能

如:

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

3.2 DBMS 的特点

通过 DBMS来管理数据具有如下特点:

1)数据结构化且统一管理

  • 采用数据模型表示数据结构
    • 描述数据本身的特点
    • 描述数据之间的联系
  • 数据面向整个企业内的所有应用(而不再面向某个应用),真正实现了数据的共享
  • 数据易维护、易扩展,数据冗余明显减少

2)有较高的数据独立性

  • 数据的独立性:
    • 概念:指数据与程序独立
    • 包括:数据的物理独立性和数据的逻辑独立性
  • 优点:
    • 应用程序关心的只是数据的逻辑结构,无须了解数据在磁盘上的存储形式,从而简化应用程序,大大减少应用程序编制的工作量

3)数据控制功能

包括以下方面的控制:

  • 数据库的安全性 (Security)

    保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。

  • 数据的完整性 (Integrality)

    • 概念:是指数据库正确性和相容性
    • 作用:是防止合法用户使用数据库时向数据库加入不符合语义的数据
  • 并发控制 (concurrency control)

    • 概念:是指在多用户共享的系统中,许多用户可能同时对同一数据进行操作
    • 作用:协调并发事务的执行,保证数据库的完整性不受破坏
  • 故障恢复 (recovery from failure)

    • 常见故障:事务内部故障、系统故障、介质故障、计算机病毒等
    • 概念:主要是指恢复数据库本身,即将数据库恢复到某个正确状态或一致状态
    • 恢复原理:建立冗余 (redundancy) 数据

4. 数据库三级模式

  • 作用:对用户屏蔽系统的复杂性,简化用户与系统的交互
    在这里插入图片描述

4.1 视图层 (View Level)

  • 概念:
    • 最高层次的抽象
    • 描述整个数据库的某个部分的数据
  • 意义:通过构建视图层来实现用户关新,不仅使用户与系统交互简化,而且还可以保证数据的保密性和安全性。

4.2 逻辑层 (Logical Level)

  • 概念:
    • 比物理层更高一层的抽象
    • 描述数据库中存储的数据以及这些数据间存在的关系
  • 逻辑层抽象是数据库管理员的职责,管理员确定数据库应保存哪些信息

4.3 物理层 (Physical Level)

  • 概念:
    • 是最低层次的抽象
    • 描述数据在存储器中是如何存储的
  • 作用:物理层详细地描述复杂的底层结构

5. 管理角度的三级模式

  • 数据库按外模式的描述提供给用户
  • 数据库按内模式的描述存储在磁盘上
  • 概念模式提供了连接这两极模式的相对稳定的中间观点,并使得两级的任意一级的改变都不受另一级的牵制。

5.1 外模式

  • 概述:
    • 也称用户模式子模式
    • 是用户需要使用的部分数据的描述
  • 用户对数据库的操作:
    • 外部模式由若干个外部记录类型组成
    • 用户使用数据操纵语言对数据库进行操作,实际上是对外模式的外部记录进行操作。

5.2 概念模式

  • 概述:
    • 是数据库中全部数据的逻辑结构和特征的描述
    • 由若干个概念记录类型组成,描述概念记录类型,不涉及具体的值
      • 概念记录类型:记录间的联系、操作、数据的完整性和安全性等要求
      • 不涉及存储结构、访问技术等细节
  • 实例:
    • 概念模式的一个具体值称为模式的一个实例
    • 同一个模式可以有很多实例
  • 概念模式和实例
    • 概念模式:反映的是数据库的结构及其联系,是相对稳定的
    • 实例:反映的是数据库某一时刻的状态,是相对变动的

5.3 内模式

  • 概述
    • 也称存储模式
    • 是数据物理结构和存储方式的描述
    • 是数据在数据库内部的表示方式
  • 定义所有的内部记录类型、索引和文件的组织方式,以及数据控制方面的细节

在这里插入图片描述

这篇关于《系统架构设计师教程(第2版)》第6章-据库设计基础知识-01-数据库基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782988

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间