当前位置: 首页 > news >正文

1.3 数据库系统的结构

目录

1.3.1 数据库系统模式的概念

1.3.2 数据库系统的三级模式结构

1. 模式

2. 外模式

3.内模式(也称存储模式)

1.3.3 数据库的二级映像功能与数据独立性

1.外模式/模式映像

2.模式/内模式映像

1.3.4 总结

模式

内模式

外模式

特定的应用程序

数据库二级映像功能与数据独立性


从数据库应用开发人员角度看,数据库系统通常采用三级模式结构, 是数据库系统内部的系统结构。

从数据库最终用户角度看,数据库系统的结构分为:单用户结构,主从式结构,分布式结构,客户-服务器,浏览器-应用服务器/数据服务器多层结构等。

1.3.1 数据库系统模式的概念

“型” 和“值” 的概念 :对某一类数据的结构和属性的说明型的一个具体赋值。

模式(Schema)1.数据库逻辑结构和特征的描述 2. 是型的描述,不涉及具体值 3.反映的是数据的结构及其联系 4.模式是相对稳定的。

实例(Instance):模式的一个具体值 ;反映数据库某一时刻的状态 ; 同一个模式可以有很多实例 ;实例随数据库中的数据的更新而变动。

1.3.2 数据库系统的三级模式结构

1. 模式

模式(也称逻辑模式):数据库中全体数据的逻辑结构和特征的描述和所有用户的公共数据视图。

一个数据库只有一个模式。

模式的地位是数据库系统模式结构的中间层。

模式与数据的物理存储细节和硬件环境无关,与具体的应用程序、开发工具及高级程序设计语言无关。

定义模式定义数据的逻辑结构,数据之间的联系以及数据有关的安全性、完整性要求。

2. 外模式

外模式(也称子模式或用户模式)数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述。

数据库用户的数据视图,与某一应用有关的数据的逻辑表示

外模式与模式的关系外模式通常是模式的子集。一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求;对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同。

外模式与应用的关系:同一外模式也可以为某一用户的多个应用系统所使用,一个应用程序只能使用一个外模式。

外模式的用途每个用户只能看见和访问所对应的外模式中的数据, 数据库中其余数据是不可见的。保证数据库安全性的一个有力措施。

3.内模式(也称存储模式)

定义是数据物理结构和存储方式的描述,数据在数据库内部的表示方式。

一个数据库只有一个内模式。

1.3.3 数据库的二级映像功能与数据独立性

三级模式是对数据的三个抽象级别,二级映像在数据库管理系统内部实现这三个抽象层次的。

1.外模式/模式映像

模式:描述的是数据的全局逻辑结构。外模式:描述的是数据的局部逻辑结构。

同一个模式可以有任意多个外模式。

每一个外模式,数据库系统都有一个外模式/模式映象,定义外模式与模式之间的对应关系。这些映象定义通常包含在各自外模式的描述中。

保证数据的逻辑独立性:当模式改变时,数据库管理员对外模式/模式映象作相应改变,使外模式保持不变;应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

2.模式/内模式映像

模式/内模式映象:定义了数据全局逻辑结构与存储结构之间的对应关系。 如:说明逻辑记录和字段在内部是如何表示的。

数据库中模式/内模式映象是唯一的,该映象定义通常包含在模式描述中。

保证数据的物理独立性当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变。模式不变,则应用程序不受影响,保证了数据与程序的物理独立性,简称数据的物理独立

1.3.4 总结

模式

数据库模式:即全局逻辑结构是数据库的中心与关键;独立于数据库的其他层次;设计数据库模式结构时应首先确定数据库的逻辑模式。

内模式

依赖于它的全局逻辑结构;独立于数据库的用户视图,即外模式;独立于具体的存储设备;将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率。

外模式

面向具体的应用程序;定义在逻辑模式之上;独立于存储模式和存储设备;当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动;设计外模式时应充分考虑到应用的扩充性。

特定的应用程序

在外模式描述的数据结构上编制的;依赖于特定的外模式;与数据库的模式和存储结构独立;不同的应用程序有时可以共用同一个外模式。

数据库二级映像功能与数据独立性

保证了应用程序的稳定性(从底层保证了应用程序的稳定性,除非应用需求本身发生 变化,否则应用程序一般不需要修改);程序为中心发展为以数据为中心(具有数据与程序之间的独立性,使得数据的定义和描述可以从 应用程序中分离出去);数据的存取由数据库管理系统管理(简化了应用程序的编制,大大减少了应用程序的维护和修改)

相关文章:

1.3 数据库系统的结构

目录 1.3.1 数据库系统模式的概念 1.3.2 数据库系统的三级模式结构 1. 模式 2. 外模式 3.内模式(也称存储模式) 1.3.3 数据库的二级映像功能与数据独立性 1.外模式/模式映像 2.模式/内模式映像 1.3.4 总结 模式 内模式…...

【Springer出版 · EI检索】| 第二届先进无人飞行系统国际会议(ICAUAS 2024)

会议简介 Brief Introduction 2024年第二届先进无人飞行系统国际会议(ICAUAS 2024) 会议时间:2024年6月14日-16日 召开地点:中国南昌 大会官网:ICAUAS 2024-2024 2nd International Conference on Advanced Unmanned Aerial Systems2024 2nd …...

RocketMQ快速入门_2. rocketmq 的应用场景、与其他mq的差异

0. 引言 之前我们讲解过rabbitMQ,本期我们将进入吞吐量更加强大的rocketMQ的学习。 1. 基础概念 如果你是刚接触MQ的同学,还不清楚消息队列的基础概念的,可以参考我之前这篇文章: https://wu55555.blog.csdn.net/article/deta…...

【Azure 架构师学习笔记】- Azure Private Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 公有云的其中一个特点是默认允许公网访问, 这就对企业环境带来风险,也是很多年前企业对公有云抵触的其中一个原因,现在这类问题已经很少,因为有了很多技术来确保云上的资源被安全地…...

开发知识点-Python-爬虫

爬虫 scrapybeautifulsoupfind_all find祖先/父节点兄弟节点nextpreviousCSS选择器属性值 attrsselect 后 class 正则使用字符串来描述、匹配一系列符合某个规则的字符串组成元字符使用grep匹配正则组与捕获断言与标记条件匹配正则表达式的标志 特定中文 匹配 scrapy scrapy内…...

如何修复eutil.dll文件,eutil.dll下载安装教程

在我们使用计算机的时候,偶尔会遭遇一些技术问题,其中一个比较常见的问题就是出现了"丢失eutil.dll文件"的提示。当我们的电脑告诉我们缺少了eutil.dll文件时,常常是因为某些程序无法找到这个文件而导致了程序的运行异常。那我们应…...

虾皮、lazada店铺运营攻略,如何搭建高效、稳定的自养号测评系统

随着电子商务的蓬勃发展,越来越多的人选择在虾皮这样的电商平台上开设店铺,以实现创业梦想。但如何在众多店铺中脱颖而出,成为消费者的首选?本文将为您详细解答“怎么样做好虾皮店铺”,并提供一些实用的运营建议。 一、怎么样做…...

《TCP/IP详解 卷一》第13章 TCP连接管理

目录 13.1 引言 13.2 TCP连接的建立与终止 13.2.1 TCP半关闭 13.2.2 同时打开与关闭 13.2.3 初始序列号 13.2.4 例子 13.2.5 连接建立超时 13.2.6 连接与转换器 13.3 TCP 选项 13.3.1 最大段大小选项 13.3.2 选择确认选项 13.3.3 窗口缩放选项 13.3.4 时间戳选项与…...

许多人可能还不了解这个信息差:美赛的第一批 EI 已经录用,不用再犹豫啦

格局打开,美赛论文转学术论文发表 🚀🚀 各位同学,美赛已经结束了一段时间,你们是否还在焦急地等待最终成绩的公布?一些有远见的同学已经提前收到了一份喜讯:他们的美赛论文已被转化为学术论文并…...

DFS回溯-经典全排列问题(力扣)

前言 对于全排列问题,常用的做法是设置一个vis数组来确定位置i上的数字是否被访问,因为是全排列问题,所以不同的顺序也是不一样的排列,因此每次都是从起点开始询问**(注意起点到底是0还是1)** 46全排列(最简单的模板) class So…...

如何在Windows上使用Docker,搭建一款实用的个人IT工具箱It- Tools

文章目录 1. 使用Docker本地部署it-tools2. 本地访问it-tools3. 安装cpolar内网穿透4. 固定it-tools公网地址 本篇文章将介绍如何在Windows上使用Docker本地部署IT- Tools,并且同样可以结合cpolar实现公网访问。 在前一篇文章中我们讲解了如何在Linux中使用Docker搭…...

Linux运维_Bash脚本_编译安装ncurses-5.6

Linux运维_Bash脚本_编译安装ncurses-5.6 Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。 您可以在 Linux 和…...

pip install和conda install的区别

先说结果:日常对于python的学习和简单项目推荐使用pip安装,效率更高,也不会有很多依赖问题。 首先,无论是conda还是pip,它们都属于包管理工具,直白点来说就是用来下载东西的。 二者的区别主要有以下几点&…...

实现video视频缓存

方法一 要实现视频被播放过后本地有缓存,下次播放无需网络即可播放,你可以利用浏览器的本地存储功能(如localStorage或IndexedDB)来实现。 你可以在视频播放结束时,将视频的URL以及相关信息存储在本地存储中。然后&a…...

Jmeter事务控制器实战

在性能测试工作中,我们往往只测试业务功能相关主要接口的数据请求和返回。然而实际上用户在使用web应用时,可能会加载诸多资源:htmldom、cssdom、javaScript、ajax请求、图片等。 从打开一个页面到界面渲染完成需要一定的加载时间&#xff0…...

S4---FPGA-K7板级原理图硬件实战

视频链接 FPGA-K7板级系统硬件实战01_哔哩哔哩_bilibili FPGA-K7板级原理图硬件实战 基于XC7K325TFFG900的FPGA硬件实战框图 基于XILINX 的KINTEX-7 芯片XC7K325FPGA的硬件平台,FPGA 开发板挂载了4 片512MB 的高速DDR3 SDRAM 芯片,另外板上带有一个SODIM…...

某些微信浏览器(比如小米手机mix2 8.0,Android 6:ZTE 7 max)input标签file属性,无法选中图片或者调用相机

1.初始化wxConfig (appId,timestamp,nonceStr,signatur,jsApiList) window.localStorage.setItem(currentUrl, window.location.href); 2.wx.checkJsApi({jsApiList: [chooseImage] // 需要检测的JS接口列表success: function(res) {// 以键值对的形式返回,可用的ap…...

python网络爬虫技术-mysql-5.6.39 安装

一、下载安装文件 到 MySQL官网 下载 mysql-5.6.39 压缩包链接:链接:https://pan.baidu.com/s/14e05FMhcWE8bvvStwyevNQ 提取码:1234 参考安装教程...

Projection head与使用例子

概念介绍 在深度学习中,Projection head是一种用于提取特征或表征的网络结构。它通常是一个或多个全连接层,将输入的高维特征映射到一个低维的向量空间,以便于进行后续的任务,如对比学习、聚类、分类等。 Projection head的使用…...

2024年新版CMS内容管理使用,不用回退老版本 使用最新小程序云开发cms内容模型

一,问题描述 最近越来越多的同学找石头哥,说cms用不了,其实是小程序官方最近又搞大动作了,偷偷的升级的云开发cms(内容管理)以下都称cms,不升级不要紧,这一升级,就导致我…...

MySql--死锁

一、什么是mysql死锁? MySQL中的死锁是指多个事务同时请求对同一资源进行操作(读或写),并且由于资源被互斥地锁定,导致彼此无法继续进行。当发生死锁时,MySQL会自动选择其中一个事务作为死锁的牺牲者,回滚该事务,并释放锁定的资源,从而解除死锁。 以下是一些处理MyS…...

【自然语言处理六-最重要的模型-transformer-上】

自然语言处理六-最重要的模型-transformer-上 什么是transformer模型transformer 模型在自然语言处理领域的应用transformer 架构encoderinput处理部分(词嵌入和postional encoding)attention部分addNorm Feedforward & add && NormFeedforw…...

开发一个带有Servlet的webapp(重点)

【具体步骤如下】 ①在webapps目录下新建一个目录,起名crm(这个crm就是webapp的名字)。当然,也可以是其他目录,名字自拟 注意:crm就是这个webapp的根 ②在webapp的根下新建一个目录:WEB…...

根据xlsx文件第一列的网址爬虫

seleniumXpath 在与该ipynb文件同文件下新增一个111.xlsx,第一列放一堆需要爬虫的同样式网页 然后使用seleniumXpath爬虫 from selenium import webdriver from selenium.webdriver.common.by import By import openpyxl import timedef crawl_data(driver, url)…...

【Linux】 yum —— Linux 的软件包管理器

Linux 的软件包管理器 yum yum 是什么什么是软件包查看软件包 yum 命令行工具yum 配置文件yum 凭什么可以支持下载呢?yum 生态yum 社区yum 的故障排除和资源支持yum 的持续集成和持续交付 yum 是什么 Yum(Yellowdog Updater Modified)是一个…...

函数柯里化(function currying)及部分求值

函数柯里化(function currying) currying又称部分求值。一个currying的函数首先会接受一些参数,接受了这些参数之后,该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保…...

R语言简介、环境与基础语法及注释

R语言是一种功能强大的开源统计分析语言和编程环境。它提供了丰富的数据处理、数据可视化和统计分析函数,适用于各种数据分析和建模任务。 R语言的环境主要包括R编程环境和RStudio集成开发环境(IDE)。R编程环境是R语言的核心,它提…...

React报错 之 Objects are not valid as a React child

原文链接: 1、React报错之Objects are not valid as a React child 2、Objects are not valid as a React child error [Solved] 作者:Borislav Hadzhiev 以下文中涉及到的链接均来自于该作者,他写了很多相关的文章,可以多看看他的…...

看一看阿里云,如何把抽象云概念,用可视化表达出来。

云数据库RDS_关系型数据库 云数据库RDS_关系型数据库 专有宿主机 云数据库RDS_关系型数据库_MySQL源码优化版 内容协作平台CCP-企业网盘协同办公-文件实时共享...

软考笔记--系统架构评估

系统架构评估是在对架构分析、评估的基础上,对架构策略的选取进行决策。它利用数据或逻辑分析技术,针对系统的一致性,正确性,质量属性,规划结果等不同方面,提供描述性,预测性和指令性的分析结果…...