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

news2025/1/21 5:53:59

文章目录

  • 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 内模式

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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1495855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SQL中如何添加数据

SQL中如何添加数据 一、SQL中如何添加数据(方法汇总)二、SQL中如何添加数据(方法详细解说)1. 使用SQL脚本(推荐)1.1 在表中插入1.1.1 **第一种形式**1.1.2 **第二种形式**SQL INSERT INTO 语法示例SQL INSE…

代码学习记录10

随想录日记part10 t i m e : time: time: 2024.03.03 主要内容:今天的主要内容是深入了解数据结构中栈和队列,并通过三个 l e e t c o d e leetcode leetcode 题目深化认识。 20. 有效的括号1047. 删除字符串中的所有…

day13_微服务监控Nginx(微服务集成SBA)

文章目录 1 微服务系统监控1.1 监控系统的意义1.2 SBA监控方案1.3 SBA实战1.3.1 创建SBA服务端1.3.2 微服务集成SBA 1.4 微服务集成logback1.5 配置邮件告警 2 Nginx2.1 Nginx简介2.2 下载和安装2.2.1 方式1:window本地安装2.2.1.1 下载2.2.1.2 安装2.2.1.3 目录结构…

如何使用 CSS object-fit 进行图片的缩放和裁剪

简介 在处理图片时,你可能会遇到需要保持原始宽高比的情况。保持宽高比可以防止图片被拉伸或压缩而出现失真。解决这个问题的常见方法是使用 background-image CSS 属性。更现代的方法是使用 object-fit CSS 属性。 在本文中,你将探索 object-fit CSS …

【系统安全加固】Centos 设置禁用密码并打开密钥登录

文章目录 一,概述二,操作步骤1. 服务器端生成密钥2. 在服务器上安装公钥3.下载私钥到本地(重要,否则后面无法登录)4. 修改配置文件,禁用密码并打开密钥登录5. 重启sshd服务6. 配置xshell使用密钥登录 一&am…

【异常处理】sbt构建Chisel库时出现extracting structure failed:build status:error的解决办法

文章目录 报错背景:解决思路:①IDEA中配置本地的SBT进行下载②更改下载源为华为的镜像站1. 修改sbtconfig.txt2. 增加repositories文件 ③查看报错信息 总结整理的Scala-Chisel-Chiseltest版本信息对应表 报错背景: 最近在写Chisel时&#x…

14、电源管理入门之Watchdog看门狗

目录 1. 软硬件watchdog的区别 2. 软件看门狗 2.1 kernel watchdog 2.1.1 soft lockup 2.1.1 hard lockup 2.2 用户态watchdog 2.2.1 softdog 2.2.1 hardware watchdog 3. 硬件看门狗 3.1 硬件寄存器介绍 3.2 喂狗操作 3.3 watchdog硬件驱动编写 参考: 看门狗,又…

shell 脚本 if-else判断 和流程控制 (基本语法|基础命令)

CSDN 成就一亿技术人! 作者主页:点击! Shell编程专栏:点击! CSDN 成就一亿技术人 前言———— shell脚本中的if-else功能对于shell程序员来说是一笔重要的财富。当您需要根据预定义条件执行一组语句时&#xff0c…

一个系列很多样式的wordpress外贸建站模板

菌菇干货wordpress跨境电商模板 食用菌、羊肚菌、牛肝菌、香菇、干黄花菜、梅干菜、松茸wordpress跨境电商模板。 https://www.jianzhanpress.com/?p3946 餐饮调味wordpress跨境电商模板 豆制品、蛋黄糖、烘焙、咖啡、调料、调味酱、餐饮调味wordpress跨境电商模板。 http…

【MATLAB源码-第157期】基于matlab的海马优化算法(SHO)机器人栅格路径规划,输出做短路径图和适应度曲线。

操作环境: MATLAB 2022a 1、算法描述 海马优化器(Sea Horse Optimizer, SHO)是一种近年来提出的新型启发式算法,其设计灵感来源于海洋中海马的行为模式,特别是它们在寻找食物和伴侣时表现出的独特策略。海马因其独特…

企业如何安全参与开源项目?

【开源三句半】 企业参与开源潮, 安全创新都重要, 持续投入不可少, 眼光独到。 开源已经成为构建现代软件的常见方式,这不仅局限于IT技术本身,更推动了多个行业的数字化发展。企业决定引入开源项目打造商业软件时&…

[动态规划][蓝桥杯 2022 省 B] 李白打酒加强版 -- 代码注释含详解

P8786 [蓝桥杯 2022 省 B] 李白打酒加强版(洛谷) 洛谷题目链接 李白打酒很快活,而我打了一晚上代码才把这题弄懂🥲 P8786 [蓝桥杯 2022 省 B] 李白打酒加强版(洛谷)题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示\***\*\*\*\*\***\*\*\**…

Java高频面试之集合篇

Java 中常用的容器有哪些? ArrayList 和 LinkedList 的区别? ArrayList 是基于数组实现的,LinkedList 是基于链表实现的. ArrayList实现了RandomAccess接口,可基于下标访问. LinkedList 实现了Deque /dek/,可以当做双端队列使用. 插入效率对比 如果从头部…

Java单测Mock升级实践

Java单测Mock升级实践 一、背景 众所周知,单元测试是改善代码质量,提升研发交付品质的手段之一,能否写出好的单元测试用例,也是衡量我们研发专业性的标准之一。所以,想要成为一名合格的研发,就应该要有编…

Python基于微博的大数据舆论,情感分析可视化系统,附源码

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

MATLAB --传统 GRAPPA MRI 重建

本文主要实现多通道脑部MRI图片的加速重建,使用GRAPPA方法。 目录 加载满采数据 数据欠采样 GRAPPA重建 完整数据代码下载 加载满采数据 load brain_8ch DATA DATA/max(max(max(abs(ifft2c(DATA))))) eps; 数据欠采样 maskones(sy,sx); for i1:2:syif 94…

ORACLE 如何使用dblink实现跨库访问

dbLink是简称,全称是databaselink。database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。在创建dat…

基于OpenCV的图形分析辨认02

目录 一、前言 二、实验目的 三、实验内容 四、实验过程 一、前言 编程语言:Python,编程软件:vscode或pycharm,必备的第三方库:OpenCV,numpy,matplotlib,os等等。 关于OpenCV&…

Python编程作业五:面向对象编程

目录 一、类的定义和方法 二、图书管理系统 一、类的定义和方法 定义一个学生类(Student),包括学号(id)、姓名(name)、出生日期(birthday)和分数(score)4个属性,其中出生日期是私有属性,不能被外界直接访问。该类应具…

【论文阅读】Elucidating the Design Space of Diffusion-Based Generative Models

Elucidating the Design Space of Diffusion-Based Generative Models 引用: Karras T, Aittala M, Aila T, et al. Elucidating the design space of diffusion-based generative models[J]. Advances in Neural Information Processing Systems, 2022, 35: 26565…