数据库系统概论:数据库系统模式

数据库系统在我们的数字世界中扮演着至关重要的角色,无论是个人设备还是企业级应用,数据的有效管理和访问都是必不可少的。而数据库系统的模式结构是确保数据一致性和可访问性的关键组成部分。

数据库系统模式

基本概念

型和值

数据模型中有 型(type) 和 值(value) 的概念

  • 型(type):对某一类数据的结构和属性的说明
  • 值(value):是型的一个具体赋值
模式与实例

模式(schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及型的描述不涉及具体的值。

模式的一个具体值称为模式的一个实例(instance)。同一个模式可以有很多实例。

模式是相对稳定的,而实例是相对变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态

例如,在 学生选课数据库模式 中包含学生记录、课程记录和学生选课记录,现有一个具体的 学生选课数据库实例,该实例包含了 2013 年学校中所有学生的记录(如果某校有 10000 个学生,则有 10000 个学生记录)、学校开设的所有课程的记录和所有学生选课的记录。

虽然实际的数据库管理系统产品种类很多,它们支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特征,即采用三级模式结构(早期微机上的小型数据库系统除外)并提供两级映像功能。

三级模式结构

数据库系统的三级模式结构是指数据库系统是由外模式、模式(概念模式)和内模式三级构成。一个数据库中外模式可以有一个或多个,内模式和概念模式只能各有一个。

![[Database Model Hierarchy.png]]

模式

模式(schema)又称概念模式逻辑模式,对应于概念级。可理解为用户看到的

  • 它是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图(全局视图),综合了所有用户的需求。

  • 模式是数据库模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,又与具体的应用程序、所使用的应用开发工具及高级语言无关。

  • 模式是由数据库管理系统提供的数据模式描述语言 DDL (Data Description Language)来描述、严格定义的,体现、反映了数据库的整体观。

  • 定义模式时不仅要定义数据的逻辑结构,例如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等,还要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

外模式

外模式(external schema)又称子模式或用户模式,对应于用户级。是数据库用户(包括程序员和最终用户)能够看见和使用的局部的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑描述。可理解为视图

  • 外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据,所以模式与外模式的关系为一对多

  • 一个数据库可以有多个外模式,反映了不同用户的需求(如普通用户与 VIP 用户)反映了数据库的用户观。

  • 特定的应用程序是在外模式描述的数据结构上编制的,它依赖于特定的外模式,与数据库的模式和存储结构独立。同一个外模式也可以为某一用户的多个应用系统所使用,但一个应用程序只能使用一个外模式

  • 用户可以通过外模式描述语言来描述、定义对应于用户的数据记录(外模式),也可以利用数据操纵语言 DML (Data Manipulation Language)来严格定义外模式,并对这些数据记录进行操作。

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

内模式

内模式(internal schema)又称存储模式,对应于物理级,是数据在数据库内部的组织方式,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述,它描述了数据在存储介质上的存储方式和物理结构,对应着实际存储在外存储介质上的数据库。内模式由内模式描述语言来描述、定义,它是数据库的存储观。

在一个数据库系统中,只有唯一的数据库, 因而作为 定义/描述 数据库存储结构的内模式和定义、描述数据库逻辑结构的模式,也是唯一的,但建立在数据库系统之上的应用则是非常广泛、多样的,所以对应的外模式不是唯一的,也不可能是唯一的。

设计三级模式

在数据库的三级模式结构中,数据库模式即全局逻辑结构是数据库的中心与关键,它独立于数据库的其他层次。因此设计数据库模式结构时应首先确定数据库的逻辑模式。

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

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

二级映像

数据库系统的三级模式是数据的三个抽象级别,它把数据的具体组织留给数据库管理系统管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。

为了能够在系统内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像模式/内模式映像

这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

外模式/模式映像

模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对应于同一个模式可以有任意多个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映像,它定义了该外模式与模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。

当模式改变时(如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个 外模式/模式 的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性

模式/内模式映像

数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。例如,说明逻辑记录和字段在内部是如何表示的。

该映像定义通常包含在模式描述中。当数据库的存储结构改变时(例如选用了另一种存储结构),由数据库管理员对 模式/内模式映像 作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性

总结

数据库系统模式的设计是数据管理的关键,它不仅增强了数据的安全性和隐私,还确保了数据的高可用性和灵活性。通过理解和应用这些模式,我们能够更好地设计和管理数据库系统,确保其高效、安全和用户友好。

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

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

相关文章

网络开局 与 Underlay网络自动化

由于出口和核心设备 部署在核心机房,地理位置集中,业务复杂,开局通常需要网络工程师进站调测。 因此核心层及核心以上的设备(包含核心层设备,旁挂独立AC设备和出口设备)推荐采用WEB网管开局方式或命令行开局方式。 核心以下的设备(包含汇聚层设备、接入层设备和AP)由于数量众…

MySQL第一次作业

一、库的建立 mysql> show databases; -------------------- | Database | -------------------- | information_schema | | mydb2_stuinfo | | mydb3_employee | | mydb4_product | | mydbl_test | | mysql | | performance…

【Java项目笔记】01项目介绍

一、技术框架 1.后端服务 Spring Boot为主体框架 Spring MVC为Web框架 MyBatis、MyBatis Plus为持久层框架,负责数据库的读写 阿里云短信服务 2.存储服务 MySql redis缓存数据 MinIO为对象存储,存储非结构化数据(图片、视频、音频&a…

Java中的迭代器(Iterator)

Java中的迭代器(Iterator) 1、 迭代器的基本方法2、 迭代器的使用示例3、注意事项4、克隆与序列化5、结论 💖The Begin💖点点关注,收藏不迷路💖 在Java中,迭代器(Iterator&#xff0…

Kafka 高并发设计之数据压缩与批量消息处理

《Kafka 高性能架构设计 7 大秘诀》专栏第 6 章。 压缩,是一种用时间换空间的 trade-off 思想,用 CPU 的时间去换磁盘或者网络 I/O 传输量,用较小的 CPU 开销来换取更具性价比的磁盘占用和更少的网络 I/O 传输。 Kafka 是一个高吞吐量、可扩展…

240717.LeetCode——2974.最小数字游戏

题目描述 你有一个下标从 0 开始、长度为 偶数 的整数数组 nums ,同时还有一个空数组 arr 。Alice 和 Bob 决定玩一个游戏,游戏中每一轮 Alice 和 Bob 都会各自执行一次操作。游戏规则如下: 每一轮,Alice 先从 nums 中移除一个 …

Spring Security之安全异常处理

前言 在我们的安全框架中,不管是什么框架(包括通过过滤器自定义)都需要处理涉及安全相关的异常,例如:登录失败要跳转到登录页,访问权限不足要返回页面亦或是json。接下来,我们就看看Spring Sec…

llama-index,uncharted and llama2:7b run locally to generate Index

题意:本地运行 llama-index、uncharted 以及 llama2:7b 来生成索引 问题背景: I wanted to use llama-index locally with ollama and llama3:8b to index utf-8 json file. I dont have a gpu. I use uncharted to convert docs into json. Now If it …

抖音短视频seo矩阵系统源码(搭建技术开发分享)

#抖音矩阵系统源码开发 #短视频矩阵系统源码开发 #短视频seo源码开发 一、 抖音短视频seo矩阵系统源码开发,需要掌握以下技术: 网络编程:能够使用Python、Java或其他编程语言进行网络编程,比如使用爬虫技术从抖音平台获取数据。…

大数据基础:Doris重点架构原理

文章目录 Doris重点架构原理 一、Apache Doris介绍 二、Apache Doris使用场景 三、Apache Doris架构原理 四、Apache Doris 特点 Doris重点架构原理 一、Apache Doris介绍 基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知&#xff…

Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件

点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: HadoopHDFSMapReduceHiveFlumeSqoopZookeeperHBase 正在 章节内容 上节我们完成了: HBase的由…

三、GPIO口

我们在刚接触C语言时,写的第一个程序必定是hello world,其他的编程语言也是这样类似的代码是告诉我们进入了编程的世界,在单片机中也不例外,不过我们的传统就是点亮第一个LED灯,点亮电阻,电容的兄弟&#x…

【PPT笔记】1-3节 | 默认设置/快捷键/合并形状

文章目录 说明笔记1 默认设置1.1 OFFICE版本选择1.1.1 Office某某数字专属系列1.1.2 Office3651.1.3 产品信息怎么看 1.2 默认设置1.2.1 暗夜模式1.2.2 无限撤回1.2.3 自动保存(Office2013版本及以上)1.2.4 图片压缩1.2.5 字体嵌入1.2.6 多格式导出1.2.7…

Python 在Word表格中插入、删除行或列

Word文档中的表格可以用于组织和展示数据。在实际应用过程中,有时为了调整表格的结构或适应不同的数据展示需求,我们可能会需要插入、删除行或列。以下提供了几种使用Python在Word表格中插入或删除行、列的方法供参考: 文章目录 Python 在Wo…

内容安全(深度行为检测技术、IPS、AV、入侵检测方法)

1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…

k8s核心操作_存储抽象_K8S中使用Secret功能来存储密码_使用免密拉取镜像_k8s核心实战总结---分布式云原生部署架构搭建033

注意在看的时候一定要把 dxxxx中的xxxx换成--o----c----k----e----r 然后我们再来看一个k8s中的secret的功能,这个功能 用来存储密码的,configMap是用来存配置的 比如我们有个pod,他的镜像,如果是需要密码的,那么 我们现在是从公共仓库拉取的,如果我们从私有仓库拉取,有密码…

无需业务改造,一套数据库满足 OLTP 和 OLAP,GaiaDB 发布并行查询能力

在企业中通常存在两类数据处理场景,一类是在线事务处理场景(OLTP),例如交易系统,另一类是在线分析处理场景(OLAP),例如业务报表。 OLTP 数据库擅长处理数据的增、删、改&#xff0c…

【Arduino IDE】安装及开发环境、ESP32库

一、Arduino IDE下载 二、Arduino IDE安装 三、ESP32库 四、Arduino-ESP32库配置 五、新建ESP32-S3N15R8工程文件 乐鑫官网 Arduino官方下载地址 Arduino官方社区 Arduino中文社区 一、Arduino IDE下载 ESP-IDF、MicroPython和Arduino是三种不同的开发框架,各自适…

防火墙之双机热备篇

为什么要在防火墙上配置双机热备技术呢? 相信大家都知道,为了提高可靠性,避免单点故障 肯定有聪明的小伙伴会想到那为什么不直接多配置两台防火墙,然后再将他们进行线路冗余,不就完成备份了吗? 答案是不…