数据库体系结构概念--集中式数据库、分布式数据库

news/2024/11/18 14:51:23/

数据库模式

前言:

平时我们接触的‘数据库’一般指的是DBMS,数据库管理系统,DBMS是软件如:mysql、oracle、dm等等都是集中式数据库,但它们不能代表整个数据库,只是通过这些软件来管理相应的数据内容

数据库模式:

  • 集中式数据库
  • 分布式数据库

集中式数据库

在这里插入图片描述

上图是集中数据库的体系结构图:三级模式两层映射

  • 外模式:对应的是用户视图,用户和应用程序所关注的内容,只与用户相关, 比如我们上面说指的DBMS,数据库管理系统;
  • 概念模式:逻辑模式,逻辑结构,对应的是DBA视图整个数据库的核心,主要是概念级数据库里面主要包含的是所有数据的逻辑结构和特征的描述,比如:我们用create语句所创建的基本表(基表)就是概念模式所对应的内容
  • 外模式-概念模式映射:外模式的数据来源于概念模式,所以外模式与概念模式之间存在某种映射!保证了数据的逻辑独立性
  • 内模式:存储模式、物理模式,对应的是内部视图,主要是物理级数据库,对应是计算机磁盘上存储的基本数据文件;
  • 概念模式-内模式映射:概念模式与内模式也就是与物理存储之间存在某种映射关系;保证了数据的物理独立性
  • 逻辑独立性外模式-概念模式映射保证了数据的逻辑独立性;当概念模式中的逻辑结构发生了变化,我们不用去修改外模式对应的应用程序,只需修改外模式-概念模式映射关系就可以了;
  • 物理独立性概念模式-内模式映射保证了数据库的物理独立性指的是外模式所对应的应用程序,与内模式的物理存储之间相互独立;当内模式中的物理存储发生了变化时,外模式的应用程序无需发生变化,只需要更改相关映射关系即可。例如:数据迁移后,物理存储相对之前发生了变化,无需修改用户面对的应用程序,只需修改路径映射即可。

关系的三种类型

  • 针对关系型数据库;
  • 关系表:关系模型,关系类型,简称:关系,关系型数据库中的表;
  • 基本表:使用create创建的表一般都是基本表,也叫基表;

在这里插入图片描述

视图

在这里插入图片描述

  • 一般传统意义上的视图没有存储数据,每次都需要通过查询原始表从而动态生成所需数据,所以它比查询直接存储了相关数据的表而言,性能和效率较差;
  • 需要关联多表进行的查询,而且使用视图则简化了用户操作;
  • 通过同一数据,查询不同的字段和字段的相关操作,使得用户可以在不同角度上看待同一数据;
  • 如果数据库的概念模型发生了变化,用户视图无需更改,只需更改外模式和概念模式的映射,具体一定程度的逻辑独立性;
  • 在视图中可以指定原始表的部分字段显示,也可以限制用户对原始表的操作,视图只读不可写,还可以限制用户访问,从而保护了原始表;
  • 物化视图:本身会存储数据,因为原始表数据更新时,物化视图也要更新,所以物化视图适合多读少写的场景。

分布式数据库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 在集中式数据库的三级模式两层映射基础上,增加了全局的概念;
  • 不同于集中式数据库,数据存储在同一个物理节点,分布式数据库数据存储在不同的物理节点;
  • 分布式数据库在访问数据时,可以从先从临近的节点去访问,所以在效率上比集中式数据库具有更多的优化操作;
  • 负载均衡;
  • 对同一数据在不同节点上,可以存储相关的数据副本,起到数据备份作用,从而解决一些数据库可靠性和安全问题;
  • 数据库可靠性和安全问题:一个节点上的数据库挂了,不至于数据丢失,因为同一数据在其他节点进行了备份,可以直接访问其他存活节点上的数据库;
    在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/32286.html

相关文章

【嵌入式Linux学习笔记】Linux驱动开发

Linux系统构建完成后,就可以基于该环境方便地进行开发了,相关的开发流程与MCU类似,但是引入了设备树的概念,编写应用代码要相对复杂一点。但是省去了很多配置工作。 学习视频地址:【正点原子】STM32MP157开发板 字符…

【YOLOv8/YOLOv7/YOLOv5/YOLOv4/Faster-rcnn系列算法改进NO.59】引入ASPP模块

前言作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列文章,将重点对YOLOv8的如何改进进行详细的介绍&…

springboot健身房管理系统

springboot健身房管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍&#xf…

python 模拟鼠标,键盘点击

信息爆炸 消息轰炸模拟鼠标和键盘敲击import time from pynput.keyboard import Controller as key_col from pynput.mouse import Button,Controller def keyboard_input(insertword):keyboardkey_col()keyboard.type(insertword)def mouth():mouseController()mouse.press(…

百因必有果,你的伯乐就是我

疫情虽去,可这三年,扑倒了生活,削弱了经济 但擎创一直奋斗在第一线 三年里人数不减反增,人数规模已达400 2023或许经济有所好转,但逃不出下行的趋势 各位千里马还是要找一个靠谱强劲的伯乐滴! 下面关于…

Java代码瘦身,巧用 @Valid,@Validated 的分组校验和嵌套检验,实现高阶参数校验操作

导读 在 JavaEE 项目中, RestFull 层接收参数首先要对一些字段的格式进行校验,以防止所有查询都落到数据库,这也是一种合理的限流手段。以前基本上都是用 if...else...,这样的代码太啰嗦,除了使用策略模式进行优化&…

机械革命极光Pro开机错误重启无法进入桌面怎么办?

机械革命极光Pro开机错误重启无法进入桌面怎么办?有用户正常使用机械革命极光Pro电脑开机是,出现了无法开机进入系统桌面的情况,重新启动电脑依然无法解决问题。那么这个情况怎么去进行问题的解决呢?一起来看看以下的解决方法分享…

华为OD机试(20222023)考点分类

字符串,数组,集合操作 题库分值序号题目考点 or 实现