【二】数据库系统

  • 数据库系统的分层抽象
    • 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.rhkb.cn/news/85501.html

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

相关文章

【JavaSE】方法的使用

方法详解 方法概念及使用方法定义方法调用的执行过程实参和形参的关系 方法重载为什么需要方法重载方法重载概念方法签名 递归生活中的故事递归的概念递归执行过程分析递归练习 方法概念及使用 什么是方法(method) 方法就是一个代码片段. 类似于 C 语言中的 “函数”。 方法存…

【C++手撕系列】——设计日期类实现日期计算器

【C手撕系列】——设计日期类实现日期计算器&#x1f60e; 前言&#x1f64c;C嘎嘎类中六大护法实现代码&#xff1a;获取每一个月天数的函数源码分享构造函数源码分享拷贝构造函数源码分享析构函数源码分享赋值运算符重载函数源码分享取地址和const取地址运算符重载函数源码分…

远程RDP、远控手机、双屏控双屏,向日葵“瓜子会员”妥妥的真香

最近儿有点“小感冒”&#xff0c;没去公司在家歇着&#xff0c;居家归居家&#xff0c;砖还是要搬的&#xff0c;突然来活了也得及时的处理掉&#xff0c;这种时候我一般用远程桌面的方式&#xff0c;之前就一直用的向日葵远程控制。 为啥用远程桌面呢&#xff1f;主要原因是家…

CAD绘制法兰、添加光源、材质并渲染

首先绘制两个圆柱体&#xff0c;相互嵌套 在顶部继续绘制圆柱体&#xff0c;这是之后要挖掉的部分 在中央位置绘制正方形 用圆角工具&#xff1a; 将矩形的四个角分别处理&#xff0c;效果&#xff1a; 用拉伸工具 向上拉伸到和之前绘制的圆柱体高度齐平 绘制一个圆柱体&#…

以太网ICMP协议(九)

目录 一、概述 二、ICMP消息类型 2.1 ICMP类型0和类型8&#xff1a;Ping功能 2.2 ICMP类型3&#xff1a;目标不可达 2.3 ICMP类型5&#xff1a;重定向 2.4 ICMP类型11&#xff1a;超时 三、报文格式 一、概述 由于IP协议是不可靠的通信协议&#xff0c;需要有其他协议的…

Python:Spider爬虫工程化入门到进阶(2)使用Spider Admin Pro管理scrapy爬虫项目

Python&#xff1a;Spider爬虫工程化入门到进阶系列: Python&#xff1a;Spider爬虫工程化入门到进阶&#xff08;1&#xff09;创建Scrapy爬虫项目Python&#xff1a;Spider爬虫工程化入门到进阶&#xff08;2&#xff09;使用Spider Admin Pro管理scrapy爬虫项目 目录 1、使…

MacBook触控板窗口管理 Swish for Mac

Swish for Mac是一款用于通过手势来控制mac应用窗口的软件&#xff0c;你可以通过这款软件在触控板上进行手势控制&#xff0c;你可以在使用前预设好不同手势的功能&#xff0c;然后就能直接通过这些手势让窗口按照你想要的方式进行变动了 Swish 支持 Haptick Feedback 震动反…

用excel格式书写的接口用例执行脚本

创建测试用例和测试结果集文件夹&#xff1a; excel编写的接口测试用例如下&#xff1a; 1 encoding 响应的编码格式。所测项目大部分是utf-8&#xff0c;有一个特殊项目是utf-8-sig 2 params 对应requests的params 3 data&#xff0c;对应requests的data 有些参数是动态的&a…

安卓中常见的字节码指令介绍

问题背景 安卓开发过程中&#xff0c;经常要通过看一些java代码对应的字节码&#xff0c;来了解java代码编译后的运行机制&#xff0c;本文将通过一个简单的demo介绍一些基本的字节码指令。 问题分析 比如以下代码&#xff1a; public class test {public static void main…

SpringCloud源码探析(九)- Sentinel概念及使用

1.概述 在微服务的依赖调用中&#xff0c;若被调用方出现故障&#xff0c;出于自我保护的目的&#xff0c;调用方会主动停止调用&#xff0c;并根据业务需要进行对应处理&#xff0c;这种方式叫做熔断&#xff0c;是微服务的一种保护方式。为了保证服务的高可用性&#xff0c;…

IntelliJ IDEA 2021/2022关闭双击shift全局搜索

我这里演示的是修改&#xff0c;删除是右键的时候选择Remove就好了 IDEA左上角 File-->Settings 找到Navigate -->Search Everywhere &#xff0c;右键添加快捷键。 OK --> Apply应用

GPT-3.5 人工智能还是人工智障?——西红柿炒钢丝球!!

人工智能还是人工智障&#xff1f;——西红柿炒钢丝球 西红柿炒钢丝球的 基本信息西红柿炒钢丝球的 详细制作方法材料步骤 备注幕后花絮。。。。。。。。。关于GPT-3.5&#xff0c;你的看法&#xff1a; 西红柿炒钢丝球的 基本信息 西红柿炒钢丝球是一道具有悠久历史的传统中式…

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

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

lc15.三数之和

暴力解法&#xff1a;三层for循环&#xff0c;每个循环指向一个变量&#xff0c;求所有的和为零的情况 时间复杂度&#xff1a;O(n3) 空间复杂度&#xff1a;O(1) 双指针 1、对数组进行排序 2、外层循环控制第一个数 i&#xff1b;第一个数的范围必须保证小于等于0&#xf…

docker 部署mysql 5.6集群

docker搭建mysql的集群&#xff08;一主双从&#xff09; 1.拉取镜像 docker pull mysql:5.6 2.启动master容器 docker run -it -d --name mysql_master -p 3306:3306 --ip 192.168.162.100 \ -v /data/mysql_master/mysql:/var/lib/mysql \ -v /data/mysql_master/conf.d…

vue报错‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

运行我的后台管理项目的时候报错&#xff1a;‘vue-cli-service’ 不是内部或外部命令&#xff0c;也不是可运行的程序或批处理文件。 查看自己package.json中是否有vue 或者vue-cli-service 查看自己项目目录下有没有node_module文件夹&#xff0c;如果有删除&#xff0c;然后…

拥抱AIGC浪潮,亚信科技将如何把握时代新增量?

去年底&#xff0c;由ChatGPT带起的AIGC浪潮以迅雷不及掩耳之势席卷全球。 当互联网技术的人口红利逐渐消退之际&#xff0c;AIGC就像打开通用人工智能大门的那把秘钥&#xff0c;加速开启数智化时代的到来。正如OpenAI CEO Sam Altman所言&#xff1a;一个全新的摩尔定律可能…

android ndk clang交叉编译ffmpeg动态库踩坑

1.ffmpeg默认使用gcc编译&#xff0c;在android上无法使用&#xff0c;否则各种报错&#xff0c;所以要用ndk的clang编译 2.下载ffmpeg源码 修改configure文件&#xff0c;增加命令 cross_prefix_clang 修改以下命令 cc_default"${cross_prefix}${cc_default}" cxx…

Vue.js2+Cesium1.103.0 八、动态光墙效果

Vue.js2Cesium1.103.0 八、动态光墙效果 Demo <template><divid"cesium-container"style"width: 100%; height: 100%;"/> </template><script> /* eslint-disable no-undef */ import /utils/dynamicWallMaterialProperty.js exp…

【脚踢数据结构】

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言,Linux基础,ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的一句鸡汤&#x1f914;&…