【二】数据库系统

news2025/2/12 3:53:09

  • 数据库系统的分层抽象
    • DBMS 数据的三个层次
    • 从 数据 到 数据的结构----模式
    • 数据库系统的三级模式(三级视图)
    • 数据库系统的两层映像
    • 数据库系统的两个独立性
    • 数据库系统的标准结构
  • 数据模型
    • 从 模式 到 模式的结构----数据模型
    • 三大经典数据模型
  • 数据库的演变与发展
    • 由文件系统到数据库
      • 文件系统
      • 数据库系统
    • 由层次模型数据库、网状模型数据库到关系数据库
      • 层次模型与网状模型数据库
      • 关系模型数据库
    • 由关系数据库到对象关系数据库、面向对象数据库
      • 关系数据库
      • 对象-关系数据库
    • XML 数据库
    • 由多种多样的数据库到多数据库开放式互连
      • 多种多样的数据库
      • 开放互连多种多样的数据库
    • 由普通数据库到与各种先进技术结合所形成的新型数据库
      • 新型数据库
  • 内容回顾
  • 练习

【重点与难点】

  • 一组概念的区分:三级模式两层映像物理独立性逻辑独立性
  • 一组概念的区分:数据、模式、数据模型
  • 几种数据模型的差异:网状/层次模型、关系模型、OO数据模型

数据库系统的分层抽象

怎么抽象一个数据库系统呢?

  • 假设我们现在有一个数据库,
  • 然后有一个管理这个数据库的数据库管理系统,
  • 然后我们有不同的应用程序,
  • 可以给多个用户使用。

在这里插入图片描述

DBMS 数据的三个层次

DBMS 管理数据可以分为三个层次。

  • External Level = User Level;
    外部/用户 层次:某一 用户 能够看到与处理的数据, 全局数据中的某一部分(不同用户看到某一部分,局部);
  • Conceptual Level = Logic level;
    概念/逻辑 层次:从 全局 角度理解/管理的数据, 含相应的 关联约束
  • Internal Level = Physical level;
    内部/物理 层次存储在介质上的数据,含存储路径、存储方式 、索引方式等;

在这里插入图片描述

从 数据 到 数据的结构----模式

  • 数据(Data)/视图(View)某一种表现形式下 表现出来的 数据库中的数据

展现的数据----视图:

在这里插入图片描述

  • 模式(Schema):对数据库中数据所进行的一种 结构性的描述,是所观察到 数据的结构 信息。

数据的结构----模式:

学生登记表(  
	学号 char(8), 
	姓名 char(10),
	性别 Char(2), 
	出生年月 datetime, 
	入学日期 Datetime, 
	家庭住址 Char(40) 
)

数据库系统的三级模式(三级视图)

从结构角度,称为模式;从数据角度,称为视图。

  • External Schema(外模式) ---- External View(外部视图)
    某一用户能够看到与处理的 局部数据的结构描述
  • Conceptual Schema(概念模式)---- Conceptual View(概念视图)
    从全局角度理解/管理的 全局数据的结构描述,含相应的关联约束。体现在数据之间的内在本质联系
  • Internal Schema(内模式)---- Internal View(内部视图)
    存储在介质上的 数据的结构描述,含存储路径、存储方式 、索引方式等。

如果简单地说“模式”,就是指全局模式;
如果简单地说“视图”,说指外部视图(因为展现给用户);

在这里插入图片描述

数据库系统的两层映像

(1)E-C Mapping:External Schema-Conceptual Schema Mapping
将外模式映射为概念模式,从而支持实现 数据概念视图向外部视图的转换
便于 用户 观察和使用。

(2)C-I Mapping:Conceptual Schema-Internal Schema Mapping
将概念模式映射为内模式,从而支持实现 数据概念视图向内部视图的转换
便于 计算机 进行存储和处理。

在这里插入图片描述

数据库系统的两个独立性

  • 逻辑数据独立性

当概念模式变化时,可以不改变外部模式(只需改变 E-C Mapping),从而无需改变应用程序。

当概念模式发生变化时,外部模式是可以不发生变化的,而 应用程序是根据外部视图来开发的,所以不会影响外部应用程序
例如,如果数据库的字段名称发生了变化,或者数据库的字段类型发生了变化,用户的应用程序不需要做出任何修改就可以继续使用数据库,因为数据库管理系统会负责将旧的字段名称和字段类型映射到新的字段名称和字段类型。
即使全局模式重新组织、重新设计了,也只需要修改 E-C Mapping

  • 物理数据独立性

当内部模式变化时,可以不改变概念模式(只需改变 C-I Mapping) ,从而不改变外部模式。

例如,如果数据库的存储方式发生了变化(例如从磁盘存储转移到云存储),可以不改变概念模式,也不会影响到外部模式,用户的应用程序不需要做出任何修改就可以继续使用数据库。
因为数据库管理系统会负责将数据从旧的存储方式迁移到新的存储方式,而用户的应用程序只需要访问数据库的逻辑结构,并不关心数据的物理存储方式。

物理独立性和逻辑独立性可以提高数据库系统的灵活性和可扩展性,使数据库系统更加易于维护和管理。

数据库系统的标准结构

数据库系统的标准结构:三级模式 + 两层映像

如下图所示,

  • 不同的用户有不同的用户视角,他们根据需要看到或处理数据库中不同部分的数据(外模式/外部视图);
  • 所有用户视角的并集就是全局视角能够看到的数据,也就是数据库中所有的数据(概念模式/全局视图);
  • 然后数据库中所有的数据存放在存储介质上(内模式/物理视图)。

当开发应用程序时,不是基于全局视图来开发的,而是基于某一个外部视图来开发

在这里插入图片描述

数据模型

规定模式统一描述方式的模型,包括:数据结构、操作和约束。

模式是对数据本身结构形式的抽象,数据模型是对模式本身结构的抽象。

从 模式 到 模式的结构----数据模型

假如有以下两个模式:模式1 和 模式2。

模式1:

学生登记表( 
	学号 char(8), 
	姓名 char(10), 
	性别 Char(2), 
	出生年月 datetime, 
	入学日期 Datetime, 
	家庭住址 Char(40) 
)

模式2:

学生成绩单( 
	学号 char(8), 
	姓名 char(10), 
	班级 Char(6), 
	课程 char(40), 
	学期 Char(4), 
	成绩 Number 
)  

那么对模式1和模式2可以抽象出其模式的结构:关系模型,即

Table/Relation
Relation Calculation
Constraints about Table

关系模型:所有模式都可为抽象表(Table)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表,对这种表形式的数据有哪些[操作]和[约束]

三大经典数据模型

  • 关系模型:表的形式组织数据

在这里插入图片描述

  • 层次模型:树的形式组织数据

在这里插入图片描述

  • 网状模型:图的形式组织数据

在这里插入图片描述

数据库的演变与发展

由文件系统到数据库

文件系统

  • 文件存储空间的管理、目录管理、文件读写管理、文件保护、向用户提供操作接口;
  • 提供了不同的存取方法(索引文件、链接文件、直接存取文件、倒排文件等), 支持对文件的基本操作(增、删、改、查等), 数据存取基本上以 记录 为单位。

【优点】用户(程序)不必考虑文件存储的物理细节, 解脱了对物理设备存取复杂性处理的负担。

【不足】数据与程序紧密结合,数据的组织及语义紧密依赖于处理该文件的应用程序,数据结构发生改变则必须修改应用程序,文件之间无联系,文件的记录之间无联系,共享性差,冗余度大,不一致性高。

数据库系统

  • 由 DBMS 统一存取、维护数据组织形式及语义,可较强地独立于应用程序(数据的物理独立性和逻辑独立性) ;
  • 把数据及数据结构的定义和描述从应用程序中分离出去,交给 DBMS, 使得多个应用程序可共享数据及数据结构的操作, 数据存取可以 记录 为单位,也可以以 数据项记录集合 为单位;
  • 统一的数据控制功能,数据共享程度高: 系统可自动检查安全性、完整性和并发正确性;
  • 整体数据结构化,文件(Table)之间、记录之间相互有关联,数据的冗余度小,易扩充;
  • 独立于应用程序的高效率查询/统计操作。

由层次模型数据库、网状模型数据库到关系数据库

层次模型与网状模型数据库

  • 数据之间的关联关系由复杂的指针系统来维系,结构描述复杂;
  • 数据检索操作依赖于由指针系统指示的路径;
  • 逐一记录的操作,不能有效支持记录集合的操作;

在这里插入图片描述

关系模型数据库

  • 数据之间的关联关系由 Table 中属性的值来表征,结构描述简单:Table/relation;
  • 数据检索操作不依赖于路径信息或过程信息,支持非过程化的数据操作;
  • 有效支持记录集合的操作;
  • 较为完善的理论基础。

在这里插入图片描述

由关系数据库到对象关系数据库、面向对象数据库

关系数据库

  • 按行按列形式组织数据:关系的第1范式
  • 数据项的不可再分特性
  • 关系运算: 关系代数、元组演算、域演算–>标准SQL
  • 关系数据库设计理论

在这里插入图片描述

对象-关系数据库

  • 可有效支持不满足关系第1范式的数据项
  • 以对象来封装需分解的数据项
    -行对象与列对象;聚集对象与结构对象

在这里插入图片描述

XML 数据库

  • 是数据库的另一种形式, 被称为半结构化数据库;
  • 数据 与 数据的语义 合并在一起进行存储和处理;
  • 面向数据交换而提出, 在互联网世界得到广泛应用。
<data> 

	<person id=“o555” > 
		<name> Mary </name> 
		<address> 
			<street>Maple</street> 
			<no> 345 </no> 
		<city> Seattle </city> 
		</address>
	</person> 

	<person> 
		<name> John </name> 
		<address>Thailand
		</address> 
		<phone>23456</phone>
	</person>
	
</data>

在这里插入图片描述

由多种多样的数据库到多数据库开放式互连

多种多样的数据库

  • Oracle
  • Sybase
  • Ingres
  • DB 2
  • MS Access
  • Informix
  • ……

开放互连多种多样的数据库

  • ODBC
  • JDBC

在这里插入图片描述

由普通数据库到与各种先进技术结合所形成的新型数据库

新型数据库

  • OA:DB + Management Information System
  • Database Machine <- DB + Computer Architecture
  • Intelligent Database <- DB + Artificial Intelligence
  • Distributed Database(DDB) <- DB + Computer Network
  • Image Database / Multimedia Database <- DB + Image processing / Multimedia processing
  • Temporal Database <- DB + 时态技术处理
  • Mobile Database <- DB + 移动计算技术
  • Active Database <- DB + 产生式规则/触发器技术
  • Fuzzy Database <- DB + 模糊处理技术
  • Real-Time Database <- DB + 实时处理技术
  • Engineering Database <- DB + CAD/CAPP/CAM技术
  • Geographical Databas和空间数据库(Spacial Database) <- DB + 数字地图、全球定位、空间分析技术
  • Statistical Database <- DB + 统计学
  • Internet Database <- DB + Internet/WWW(网页/HTML文档)
  • Data Warehouse/Data Mining <-DB + OLAP + 统计学
  • NoSQL

内容回顾

在这里插入图片描述

练习

  1. 数据库系统的三级模式是指__________。

A. 用户模式、局部模式和全局模式

B. 外模式、概念模式和逻辑模式

C. 外模式、内模式和存储模式

D. 用户模式、概念模式和存储模式

正确答案:D

  1. 在三级模式两层映像结构中,“模式”是指__________。

A. 外模式

B. 内模式

C. 存储模式

D. 概念模式

正确答案:D

  1. 在三级模式两层映像结构中,“物理模式”是指__________。

A. 外模式

B. 全局模式

C. 用户模式

D. 存储模式

正确答案:D

  1. 在三级模式两层映像结构中,“全局模式”是指__________。

A. 外模式

B. 用户模式

C. 内模式

D. 概念模式

正确答案:D

  1. 在三级模式两层映像结构中,“局部模式”是指__________。

A. 概念模式

B. 内模式

C. 逻辑模式

D. 外模式

正确答案:D

  1. 关于三级模式,下列说法不正确的是___ _______。

A. 概念模式又称为全局模式

B. 概念模式又称为逻辑模式

C. 内模式又称为存储模式

D. 内模式又称为局部模式

正确答案:D

  1. 关于数据独立性,下列说法正确的为___ _______。

A. 外模式到概念模式的映像实现了数据的物理独立性

B. 外模式到内模式的映像实现了数据的物理独立性

C. 概念模式到内模式的映像实现了数据的物理独立性

D. 以上说法均不正确

正确答案:C

  1. 关于数据独立性,下列说法正确的为___ _______。

A. 外模式到概念模式的映像实现了数据的逻辑独立性

B. 外模式到内模式的映像实现了数据的逻辑独立性

C. 概念模式到内模式的映像实现了数据的逻辑独立性

D. 以上说法均不正确

正确答案:A

  1. 数据库系统的数据独立性是指_______________。

A. 不会因为数据的变化而影响应用程序

B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序

C. 不会因为存储策略的变化而影响存储结构

D. 不会因为某些存储结构的变化而影响其他的存储结构

正确答案:B

  1. 下列说法不正确的是_______________。

A. 模式是对数据的抽象,数据的结构性描述称为模式

B. 数据模型是对模式的抽象,模式的结构性描述称为数据模型

C. 一个数据库是由一系列模式及其数据构成的

D. 模式是对数据模型的抽象,数据模型的结构性描述称为模式

正确答案:D

  1. 第一代数据库系统是指_______________。

A. 文件系统

B. 基于XML模型的数据库系统

C. 基于关系模型的数据库系统

D. 基于网状模型或层次模型的数据库系统

正确答案:D

  1. 第二代数据库系统是指_______________。

A. 基于文件的数据库系统;

B. 基于XML模型的数据库系统

C. 基于网状模型或层次模型的数据库系统

D. 基于关系模型的数据库系统

正确答案:D

  1. 数据库系统与文件系统的主要差别在_______________。

A. 数据的组织是否依赖于具体的应用程序

B. 数据存取是否可以记录或记录的集合为单位进行操作

C. 不同文件之间以及不同记录之间是否有联系

D. 包括其他全部选项

正确答案:D

  1. 关系数据库系统对层次/网状数据库系统的重大改进是_______________。

A. 消除了由用户建立指针的弊端

B. 将逐一记录的操作改进为支持记录集合的操作

C. 数据检索操作不依赖于路径信息或过程信息,即非过程化的操作

D. 包括其他全部选项

正确答案:D

  1. 面向对象数据库系统对关系数据库系统的重大改进是_______________。

A. 允许复杂的数据类型存在

B. 突破了关系模型第一范式的限制

C. 既支持记录集合的操作,又支持面向对象的操作

D. 包括其他全部选项

正确答案:D

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

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

相关文章

给大家推荐9个Linux高效运维命令技巧!

文章目录 前言一、实用的 xargs 命令二、命令或脚本后台运行三、找出当前系统内存使用量较高的进程四、找出当前系统CPU使用量较高的进程五、同时查看多个日志或数据文件六、持续ping并将结果记录到日志七、查看tcp连接状态八、查找80端口请求数最高的前20个IP九、ssh实现端口转…

构建高性能的MongoDB数据迁移工具:Java的开发实践

随着大数据时代的到来&#xff0c;数据迁移成为许多企业和组织必须面对的挑战之一。作为一种非关系型数据库&#xff0c;MongoDB在应用开发中得到了广泛的应用。为了满足数据迁移的需求&#xff0c;我们需要一个高性能、稳定可靠的MongoDB数据迁移工具。下面将分享使用Java开发…

【华秋推荐】新能源汽车中的T-BOX系统,你了解多少?

近几年&#xff0c;新能源汽车产业进入了加速发展的阶段。我国的新能源汽车产业&#xff0c;经过多年的持续努力&#xff0c;技术水平显著提升、产业体系日趋完善、企业竞争力大幅增强&#xff0c;呈现市场规模、发展质量“双提升”的良好局面。同时&#xff0c;通过国家多年来…

【碎碎念】在CSDN 512天创作纪念日

‍‍&#x1f3e1;博客主页&#xff1a; virobotics的CSDN博客&#xff1a;LabVIEW深度学习、人工智能博主 &#x1f384;所属专栏&#xff1a;『碎碎念』 &#x1f37b;上篇纪念文&#xff1a; 我的创作纪念日 文章目录 &#x1f4e9;&#x1f4e9;&#x1f4e9;前言&#x1f…

thinkphp中分页paginate和group by一起使用时 代码异常的解决办法

1. paginate和group by报错&#xff0c;代码如下&#xff0c;月份分组 $page intval($where[page]);$limit intval($where[limit]);$start_time $where[start_time];$end_time $where[end_time];$query Db::table(eb_bonuslistlog)->field(DATE_FORMAT(create_time,&qu…

Cookie的详解

Cookie Cookie为什么要用Cookie&#xff1f;Cookie是什么&#xff1f;Cookie怎么用&#xff1f;Cookie常用属性修改与删除&#xff1a;在浏览器查看cookie前端页面读取CookieJava后端读写cookie最典型的cookie--JESSIONID是什么&#xff1f;什么时候种下JSESSIONID&#xff1f;…

2023年京东按摩仪行业数据分析(京东销售数据分析)

近年来&#xff0c;小家电行业凭借功能与颜值&#xff0c;取代黑电和白电&#xff0c;成为家电市场的主要增长点。在这一市场背景下&#xff0c;颜值更高、功能更丰富、品种更齐全的各类按摩仪&#xff0c;借助新消费和电子商务的风潮&#xff0c;陆续被推上市场。今年&#xf…

通达信波段选股公式,使用钱德动量摆动指标(CMO)

钱德动量摆动指标(CMO)是由图莎尔钱德发明的&#xff0c;取值范围在-100到100之间&#xff0c;是捕捉价格动量的技术指标。该指标计算近期涨幅之和与近期跌幅之和的差值&#xff0c;然后将计算结果除以同期所有价格波动的总和。本文的波段选股公式使用均线识别趋势&#xff0c;…

微信小程序上传图片和文件

1.从微信里选择图片或文件上传 使用的vant的上传组件 原生用 wx.chooseMessageFile() html <!-- 从微信上面选择文件 --><van-uploader file-list"{{ file }}" bind:after-read"afterRead" max-count"{{3}}" deletable"{{ true…

GrapeCity Documents for PDF (GcPdf) 6.2 Crack

GrapeCity PDF 文档 (GcPdf) 改进了对由 GcPdf 以外的软件生成的现有 PDF 文档的处理 在新的 v6.2 版本中&#xff0c;GcPdf 增强了 PDF 文档的加载和保存&#xff0c;并提供以下优势&#xff1a; GcPdf 现在可以加载和保存可能不严格符合 PDF 规范的 PDF 文档。GcPdf 现在将…

典籍研读+书法精进 暄桐「见道明心的笔墨」课程开课啦

8月12日&#xff0c;《林曦老师的线上直播书法课》之「见道明心的笔墨」就要开课啦。林曦老师将带我们去往中国文人精神世界的后花园&#xff0c;一起阅读《金刚经》《老子》等典籍。是不是很期待&#xff1f; 在2011年&#xff0c;暄桐成立的最初&#xff0c;课程便是面向零基…

Opencv项目实战:24 手势识别的石头剪刀布

目录 0、项目介绍 1、效果展示 2、项目搭建 3、项目代码展示与部分讲解 pyzjr库 游戏实现思路 4、项目资源 5、项目总结 0、项目介绍 简单的自娱自乐的计算机视觉互动游戏&#xff0c;石头剪刀布&#xff0c;使用random生成随机数&#xff0c;用于模拟AI窗口随机出拳&…

SecureCRT密码破解(实验环境:win10,SecureCRT Version 9.1.0 (x64 build 2579))

实验环境&#xff1a;win10&#xff0c; SecureCRT&#xff1a;Version 9.1.0 (x64 build 2579) 1. SecureCRTCipher.py 文件 #!/usr/bin/env python3 import os from Crypto.Hash import SHA256 from Crypto.Cipher import AES, Blowfishclass SecureCRTCrypto:def __init_…

如何选择适合自己的文件传输工具

随着互联网的发展&#xff0c;人们处理文件的需求也随之增加。不管是工作还是生活中&#xff0c;文件传输都是一个非常常见的问题。因此&#xff0c;如何选择适合自己的文件传输工具也越来越重要。在本文中&#xff0c;我将从以下几个方面进行分析和总结&#xff0c;希望能为大…

springboot文件上传和下载接口的简单思路

springboot文件上传和下载的简单思路 文件上传文件下载 文件上传 在springboot中&#xff0c;上传文件只需要在接口中通过 MultipartFile 对象来获取前端传递的数据&#xff0c;然后将数据存储&#xff0c;并且返回一个对外访问路径即可。一般对于上传文件的文件名&#xff0c…

【立创EDA】【0】基本概念

原理图库设计 符号设计 当在元件库中没有找到需要的元件原理图符号时&#xff0c;需要自己手动绘制点击文件-新建-符号进行新建符号 封装库设计 原理图符号对应焊盘 绘制封装时&#xff0c;可以在立创商城寻找元器件对应的数据手册进行参考 PCB绘制 晶振需要包地&#xf…

【STM32RT-Thread零基础入门】 1. 搭建开发环境

文章目录 一、RT-Thread Studio 集成开发环境安装1. 下载2. 安装3. 下载SDK 二、STM32CubeMX 图形化配置工具安装1. 获取安装包2. 安装3. 安装固件库 总结 一、RT-Thread Studio 集成开发环境安装 1. 下载 可以从RT-Thread 官网上获取 RT-Thread studio 最新的安装包&#xf…

解决:django设置DEBUG=false时出现的问题

首先&#xff0c;我用的是django4.2&#xff0c;python3.10版本 本来&#xff0c;如果在settings.py中使用 DEBUG True&#xff0c;那么什么问题也没有&#xff0c;当然&#xff0c;这属于调试模式。 DEBUG True TEMPLATE_DEBUG DEBUGSTATIC_URL /static/ STATICFILES_DI…

计算机视觉的应用10-图片中的表格结构识别与提取实战

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用10-图片中的表格结构识别与提取实战&#xff0c;表格结构识别在信息处理领域中具有广泛应用&#xff0c;但由于表格的多样性和复杂性&#xff0c;以及难以准确解析的布局和格式&#xff0c;传统的方…

如何消除谐波对医疗设备的影响? 安科瑞 顾语欢

1.概述 谐波的危害十分严重&#xff0c;尤其在医院这种医疗设备和化验设备较多的场合。大部分大型医疗设备都是谐波源&#xff0c;比如X光机、CT机等都会产生大量谐波&#xff0c;谐波使电能的生产、传输和利用的效率降低&#xff0c;使电气设备过热、产生振动和噪声&#xff…