数据库系统-数据物理存储

news2024/11/17 14:17:41

文章目录

  • 一、DBMS原理
    • 1.1 DB物理存储
      • 1.1.1 磁盘的结构&特性
      • 1.1.2 DBMS数据存储&查询原理
        • 记录:磁盘块
    • 1.2 DB文件组织方法
      • 1.2.1 无序文件组织
      • 1.2.2 有序记录文件
      • 1.2.3 散列文件(Hash File)
      • 1.2.4 聚簇文件(Clustering File)
    • 1.3 Oracle 物理存储简介

一、DBMS原理

在这里插入图片描述

1.1 DB物理存储

1.1.1 磁盘的结构&特性

在这里插入图片描述

1.1.2 DBMS数据存储&查询原理

在这里插入图片描述

  • 记录:磁盘块 。OS的文件存储记录表(FAT)记录 数据 在哪些磁盘块当中block
  • 数据先加载到内存缓冲区中,有一个内存页page & block的对应表
  • 磁盘块Block已经装载进了磁盘页Page,有一个 记录Record & 记录所在内存位置Point的映射
    在这里插入图片描述

记录:磁盘块

在这里插入图片描述
数据有定长记录&变长记录(靠分隔符区分开始&结束)
在这里插入图片描述
一条记录在数据块中也可以是跨块的
在这里插入图片描述
数据库-表所占磁盘块的分配方法

  • 连续分配:数据块被分配到连续的磁盘块上
  • 链接分配:包含指向下一个数据库的指针(访问速度影响)
  • 按簇分配:簇连续若干的磁盘块,簇内连续分配,簇之间用指针连接,
    • 簇:也称为片段Stagement / 盘区extent
  • 索引分配:索引块中存放指向实际数据块的指针

1.2 DB文件组织方法

数据组织要考虑更新(增删改) & 检索的需求
索引会处理整个数据库、大批量处理

**文件组织:**数据组织成记录、块、和访问结构的方式,包括把记录和块存储在磁盘上的方式,以及记录和块之间相互联系的方法

**存取方法:**对文件采取的存取操作方法,可以采用多种

1.2.1 无序文件组织

heap 或 pile file
特点:记录存储在人为有空间的位置,磁盘上存储的记录是无序的。更新效率高,检索效率低
删除时,标记一下,并不是真正的删除

在这里插入图片描述
多次频繁删除后,需要重新组织顺序
数据库重组: 通过移走被删除的记录使有序存放
在这里插入图片描述

1.2.2 有序记录文件

排序文件Sequential
顺序加入: 存储是有序的,检索效率高
排序字段(Ordering field),通常使用关系中的主码,又称为排序码
更新效率低,解决方法:

  1. 为可能插入的数据预留空间
  2. 创造一个临时的无序文件,需要数据重组(将溢出文件合并到主文件中,并恢复主文件中的记录顺序)

在这里插入图片描述

1.2.3 散列文件(Hash File)

特点:用散列函数来计算应该存放的位置(桶号bucket,块号或簇号),检索效率都挺高

散列字段(Hash field),也通常采用主码,又称散列码(Hash key)
在这里插入图片描述

1.2.4 聚簇文件(Clustering File)

聚簇:将有相同或相似属性值的记录存放在连续的磁盘簇块种
多表聚簇:多个相互关联的table存储在同一个文件中,提高多表的效率
在这里插入图片描述

1.3 Oracle 物理存储简介

数据库DataBase
表空间tablespace
操作系统文件Datafiledatafile
table
段segment
盘区extent
基本数据块data blocks
在这里插入图片描述
逻辑存储层

  • 所有表的容量就是数据库的存储容量
  • 系统表空间:系统自动创建,用户表空间:用户创建的表
  • 表:OSFile = 1 :n

物理存储层

  • 物理存储层:段segment、盘区extent、数据块data block构成
  • 簇:特定数量连续的数据块。
  • 盘区extent是动态的,随不同数据库存储需求而调整
  • 段 一组分配了特定数据结构的盘区:数据段、索引段、临时段
  • 表:段 = m : n。一个段放置多个表数据(聚簇文件)

在这里插入图片描述
SQL的create table的三种功能:

  • 定义模式
  • 定义物理存储结构
  • 定义完整约束

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

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

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

相关文章

程序员最常见的谎言

小伙伴们大家好,我是阿秀。 上周看到知乎上有位网友总结了自己的10年程序员生涯中最常说的一些谎言,一共有15条,看完我直呼内行!! 全中!每一枪都中了!每一条我都说过。 我基本都说过他说过的那些…

下载VMware安装Ubuntu18.04.6系统

文章目录 前言:1. 下载VMWare与Ubuntu镜像2. 安装VMware3. VMware下安装Ubuntu 前言: 这篇文章是为交叉编译做的铺垫,本文内容比较简单,按步骤操作即可。 1. 下载VMWare与Ubuntu镜像 为了节约大家时间,省的各种找&am…

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑

语录: 人是要长大的,有天你也会推着婴儿车幸福地在街上行走,而曾经的喜欢,不管曾经怎样,都会幻化成风,消失在时光的隧道。所以向前走,向前走,无须回头。 前言: 往往我们在…

基于html+css的图片展示12

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

新品发布 | 智安网络【零信任SDP访问控制系统】正式上线!

近日,根据《2022年云办公行业研究报告》显示,2021-2023年,中国协同办公行业保持每年10%以上的增长率,远程办公人员的数量在过去十年中增长了115%,互联网时代已迎来远程办公需求大潮。 风口之下,员工对企业…

Go语言基础——通过获取网站API的cUrl,生成可直接执行的request代码(附:详细实战案例和源码)

作者:非妃是公主 专栏:《Golang》 博客地址:https://blog.csdn.net/myf_666 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录 一、cUrl是什么?二、cUrl如何获取…

OpenAI-ChatGPT最新官方接口《从0到1生产最佳实例》全网最详细中英文实用指南和教程,助你零基础快速轻松掌握全新技术(十一)(附源码)

Production Best Practices 生产最佳实例 前言Introduction 导言Setting up your organization 设置您的组织Managing billing limits 管理计费限额API keys API密钥Staging accounts 演示账户 Building your prototype 构建您的原型Additional tips 其它技巧 Techniques for i…

【Java 数据结构】队列的实现及相关OJ题

🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点!人生格言:当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔🦾&am…

图的搜索算法---8.2 ZOJ1002-Fire Net--合理布置碉堡

目录 问题: 分析: 主要的算法代码: 完整代码: 出问题的代码: 原因: 正确代码: 代码分析: 算法函数讲解: CanPut函数 solve函数 运行结果: 问题&am…

勇创世界一流!移动云为我国数字经济发展提供有力支撑

今年2月,中共中央、国务院印发了《数字中国建设整体布局规划》,通过顶层设计及布局,擘画了我国数字经济发展蓝图。近日在国新办举行的第六届数字中国建设峰会新闻发布会上,相关负责人也对我国数字经济现阶段取得的成绩进行了总结&…

IPWorks VoIP 2022 Crack

网络电话组件 IPWorks VoIP 提供 SIP 和 IVR 组件,旨在促进 CTI 应用程序中的常见 VoIP 操作。快速集成功能以建立拨出电话、接听来电以及根据您的自定义 IVR 菜单路由呼叫。还支持其他 SIP 功能,例如文本到语音、播放预先录制的消息、通话录音和电话会议…

总结:helm

一、介绍 Helm是k8s的包管理工具,类似Linux系统常用的 apt、yum等包管理工具,基于go 语言开发。使用helm可以简化k8s应用部署 二、基本概念 Helm的基本概念 Chart:一个 Helm 包,其中包含了运行一个应用所需要的镜像、依赖和资源…

flask实际开发:flask和nginx如何配置支持websocket

使用pycharm启动flask项目有坑,先修改pycharm设置 1、点击Edit Confiturations 2、配置启动方式 1 新增启动配置 2 选择使用python命令执行 3 给配置设置一个名字 4 设置要启动的模块的位置,flask基本都是app.py 模块 最后别忘记:点击右侧的…

Linux网络-传输层UDP/TCP详解

目录 计算机网络的层状结构 UDP协议 UDP报文格式 理解UDP/TCP报文的本质 UDP的特点 UDP的缓冲区 sendto/recvfrom/send/recv/write/read IO类接口 UDP是全双工的 UDP注意事项 UDP协议,实现简单聊天室(服务端客户端) TCP协议 TCP协…

SpringBoot集成 ElasticSearch

Spring Boot 集成 ElasticSearch 对于ElasticSearch比较陌生的小伙伴可以先看看ElasticSearch的概述ElasticSearch安装、启动、操作及概念简介 好的开始啦~ 1、基础操作 1.1、导入依赖 <dependency><groupId>org.springframework.boot</groupId><arti…

【是C++,不是C艹】 第一个C++程序 | 命名空间 | 输入输出

&#x1f49e;&#x1f49e; 欢迎来到 Claffic 的博客 &#x1f49e;&#x1f49e; &#x1f449;专栏&#xff1a;《是C&#xff0c;不是C艹》&#x1f448; 前言&#xff1a; 在认识了C的来历之后&#xff0c;我们就要开始正式学习C了&#xff0c;系好安全带&#xff0c;准备…

阿里云安全ACP认证考试实验之云盾之云安全中心与态势感知入门体验

“更多玩转云产品” 1、实验概述 通过本实验可对云安全中心&#xff0c;态势感知的一些基本操作有深入了解以及如何来对实例进行安全监控 2、实验目标 完成此实验可以掌握的能力有&#xff1a; 在安骑士中添加白名单、登录安全设置 通过态势感知查看实例的相关告警威胁 3…

数值区间的模糊匹配,二分查找的应用

先看图: 需求很明确,要根据左边的值,显示右边的值。 比如,现在拿到的值是 17.12,那么应该显示成 15;拿到 17.599 ,那么应该显示成 20. 先找规律: 为了便于说明,暂且将左边的值设为 x, 右边的值设为 y. 第一行和最后一行可以写死成 0 与 1500;余下的每行,x 的区间是…

Vue CLI 创建一个项目

vue create 运行以下命令来创建一个新项目&#xff1a; vue create hello-world警告 如果你在 Windows 上通过 minTTY 使用 Git Bash&#xff0c;交互提示符并不工作。你必须通过 winpty vue.cmd create hello-world 启动这个命令。不过&#xff0c;如果你仍想使用 vue crea…

发布会前准备新闻通稿的重要性,为什么媒体不会原稿发布报道?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体 胡老师。 最近有宣传的小伙伴问胡老师&#xff0c;为什么我们精心准备的新闻通稿&#xff0c;媒体没有按照稿子发布呢&#xff1f;今天就与大家交流下这方面的经验。 一&#xff0c;发布会前准备新…