【二】数据库系统

  • 数据库系统的分层抽象
    • 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.mzph.cn/news/35696.shtml

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

相关文章

【系统软件03】centos7安装和使用node-v18.16.0(centos7升级glibc 2.28)

【系统软件03】centos7安装和使用node-v18.16.0&#xff08;centos7升级glibc 2.28&#xff09; 前言&#xff1a;本文是解决node 18.16.0的依赖问题&#xff0c;具体的node安装流程&#xff0c;可以参考我的另外一篇文章。一、下载node v18.16.0二、下载glibc2.28&#xff08;…

uniapp使用阿里矢量库

然后解压复制全部到你的项目文件 最后只要这几个 然后引入 最后在你需要的页面使用

JavaWeb中Json传参的条件

JavaWeb中我们常用json进行参数传递 对应的注释为RequestBody 但是json传参是有条件的 最主要是你指定的实体类和对应的json参数能否匹配 1.属性和对应的json参数名称对应 2.对应实体类实现了Serializable接口&#xff0c;可以进行序列化和反序列化&#xff0c;这个才是实体类转…

Ajax同源策略及跨域问题

Ajax同源策略及跨域问题 同源策略ajax跨域问题什么是跨域&#xff1f;为什么不允许跨域&#xff1f;跨域解决方案1、CORS2、express自带的中间件cors3、JSONP原生JSONPjQuery发送JSONP 4、使用vscode的Live Server插件 同源策略 同源策略&#xff08;Same-Origin Policy&#…

电脑合上盖子无线网络不会断开

控制面板\硬件和声音\电源选项\系统设置 最终选择不会采取任何操作 选择不会采取任何操作

前端性能优化之性能优化的指标和工具(chrome devtools、lighthouse、webpagetest)

文章目录 引言一、为什么要进行web性能优化二、RAIL测量模型1. 什么是RAIL2. 性能测量工具 三、性能测量工具的使用和性能指标以及优化目标1. Chrome DevTools1. 打开调试工具方式和配置2. network下的几个性能指标1. requests 请求总数2. transferred实际从服务器下载的数据量…

【数据结构与算法】十大经典排序算法-希尔排序

&#x1f31f;个人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知识导航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f31e;知乎&#xff1a;HelloCode &#x1f334;掘金&#xff1a;HelloCode ⚡如有问题&#xff0c;欢迎指正&#…

手撕数据结构之栈+例题

目录 一、栈的概念及结构 二、栈的头文件及基本框架 三、接口实现 1、对栈的初始化 2、栈的销毁 3、入栈操作 4、出栈操作 5、判断栈是否为空 6、返回栈顶元素 7、遍历栈 四、有效的括号 - 力扣&#xff08;LeetCode&#xff09; 题目描述&#xff1a; 思路&#xff…

静态网页和动态网页区别

1&#xff0c;静态网页和动态网页有何区别 1) 更新和维护 静态网页内容一经发布到网站服务器上&#xff0c;无论是否有用户访问&#xff0c;这些网页内容都是保存在网站服务器上的。如果要修改网页的内容&#xff0c;就必须修改其源文件&#xff0c;然后重新上传到服务器上。…

k8s-----集群调度

目录 一&#xff1a;调度约束 二&#xff1a;Pod 启动创建过程 三&#xff1a;k8s调度过程 1、Predicate 有一系列的常见的算法 2、常见优先级选项 3、指定调度节点 &#xff08;1&#xff09;nodeName指定 &#xff08;2&#xff09;nodeSelector指定 四&#xff1a;亲和…

C++——继承

文章目录 &#x1f99c;1. 什么是继承&#x1f40a;1.1 概念&#x1f40a;1.2 格式&#x1f40a;1.3 继承方式 & 访问限定符 &#x1f426;2. 派生类和基类的赋值问题&#x1f9a9;3. 派生类和基类同名成员问题&#x1f413;4.派生类默认成员函数&#x1f409;4.1 构造函数…

React源码解析18(1)------ React.createElement 和 jsx

1.React.createElement 我们知道在React17版本之前&#xff0c;我们在项目中是一定需要引入react的。 import React from “react” 即便我们有时候没有使用到React&#xff0c;也需要引入。原因是什么呢&#xff1f; 在React项目中&#xff0c;如果我们使用了模板语法JSX&am…

单调递增的数字——力扣738

文章目录 题目描述解法题目描述 解法 #include<iostream> #include<string>using namespace std;int monotoneIncreasingDigits

中小企业项目管理软件推荐:选择适合的工具提升项目效率!

中小企业项目管理软件有哪些&#xff1f;Zoho Projects是一款好用无广告的项目管理软件。当个小创业者是真的不容易&#xff0c;不仅要管理团队&#xff0c;还要管理团队项目。很多团队之前用了好多项目管理的软件&#xff0c;但是都不太满意。但是如果你经常参加创业者聚会上&…

常见的路由协议之RIP协议与OSPF协议

目录 RIP OSPF 洪泛和广播的区别 路由协议是用于在网络中确定最佳路径的一组规则。它们主要用于在路由器之间交换路由信息&#xff0c;以便找到从源到目标的最佳路径。 常见的路由协议&#xff1a; RIP (Routing Information Protocol)&#xff1a;RIP 是一种基于距离向量算…

使用wxPython和PyMuPDF在Python中显示PDF目录的实现

展示如何使用wxPython和PyMuPDF库在Python中选择PDF文件并将目录显示在列表框中。 简介&#xff1a; 在本篇教程中&#xff0c;我们将学习如何使用wxPython和PyMuPDF库在Python中选择PDF文件&#xff0c;并将其目录显示在一个列表框中。这将使用户能够方便地浏览PDF文档的目录…

Golang 局部变量、全局变量 声明

文章目录 一、局部变量二、全局变量 一、局部变量 四种声明方式 多变量声明&#xff1a; package mainimport "fmt"//局部变量声明 func main() {//方法一: 声明一个变量和数据类型&#xff0c;不初始化值&#xff1b;默认值为0&#xff1b;var lvA intfmt.Printl…

【MybatisPlus】LambdaQueryWrapper和QueryWapper的区别

个人主页&#xff1a;金鳞踏雨 个人简介&#xff1a;大家好&#xff0c;我是金鳞&#xff0c;一个初出茅庐的Java小白 目前状况&#xff1a;22届普通本科毕业生&#xff0c;几经波折了&#xff0c;现在任职于一家国内大型知名日化公司&#xff0c;从事Java开发工作 我的博客&am…

电路基础之电容

电容器&#xff08;Capacitor&#xff09;是由两个导体电极之间夹着一个电介质而组成的元件。这两个电极可以是金属板、箔片、涂层等&#xff0c;而电介质则是放置在电极之间的绝缘材料。电容器的基本构成包括以下几个要素&#xff1a; 电极&#xff1a;电容器的电极是两个导体…

js合并数组对象(将数组中具有相同属性对象合并到一起,组成一个新的数组)

一、根据数组对象中某一key值&#xff0c;合并相同key值的字段&#xff0c;到同一个数组对象中&#xff0c;组成新的数组 1.原数组&#xff1a; var array [{ id: 1, name: Alice },{ id: 2, name: Bob },{ id: 1, age: 25 },{ id: 3, name: Charlie, age: 30 } ];2.合并后数…