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

开源数据库 - mysql - 组织结构(与oracle的区别)

组织形式区别

mysql(Schema -> Table -> Column -> Row

  1. Schema(方案)
    • Scheme是关于数据库和表的布局及特性的信息。
    • 它可以用来描述数据库中特定的表以及整个数据库和其中表的信息,如表的一些特性、数据如何在表中存储、数据如何分解、各部分信息如何命名等。
    • 一个MySQL服务器可以拥有多个Schema(方案),每个Scheme下可以定义多个Table(表)。
  2. Table(表)
    • 表是某种特定类型数据的结构化清单。
    • 它由行和列组成,用于存储具有相同属性的数据。
    • 在MySQL中,每个表都有一个唯一的名称,并存储在特定的Scheme下。
  3. Column(列)
    • 列是表中的一个字段,用于存储特定类型的数据。
    • 每个列都有相应的数据类型,这限制了该列中可以存储的数据种类。
  4. Row(行)
    • 行是表中的一个记录,用于存储一组相关的数据。
    • 每行数据都包含与表结构相匹配的多个列的值。

因此,更完整的MySQL数据组织层次结构应该是Schema -> Table -> Column -> Row。在这个层次结构中,Scheme定义了数据库的结构和特性,Table是存储数据的容器,Column定义了数据的类型和结构,而Row则是实际存储的数据记录。

mysql中(innodb作为引擎)可以通过启用InnoDB的innodb_file_per_table参数将每一个table放在单独的一张表中

oracle(表空间(Tablespace)-> 段(Segment)-> 扩展区(Extent)-> 数据块(Data Block)-> 行(Row)

在Oracle数据库中,数据的组织形式与MySQL有所不同,但同样具有层次结构。Oracle数据库的组织形式通常可以理解为:表空间(Tablespace)-> 段(Segment)-> 扩展区(Extent)-> 数据块(Data Block)-> 行(Row)。以下是这一层次结构的详细解释:

  1. 表空间(Tablespace)
    • 表空间是Oracle数据库中的最大逻辑划分区域,用于存放数据库对象,如表、索引、回滚段等。
    • 它将相关的逻辑结构(如段、扩展区等)组合在一起,并映射到物理存储结构中的数据文件上。
    • 一个表空间可以由一个或多个数据文件组成,而一个数据文件只能属于一个表空间。
  2. 段(Segment)
    • 段是由一组相关的数据块组成的逻辑存储结构,用于存储特定的数据库对象,如表、索引或簇等。
    • 每个段都包含一个或多个扩展区,用于存储数据。
    • 在Oracle中,每当创建一个具有独立段的数据对象时,都会为该对象创建一个段。
  3. 扩展区(Extent)
    • 扩展区是由一组连续的Oracle数据块构成的存储结构,用于为段分配存储空间。
    • 一个或多个数据块组成一个扩展区,而一个或多个扩展区再组成一个段。
    • 在Oracle数据库中,分配存储空间是以扩展区为单位进行的。
  4. 数据块(Data Block)
    • 数据块是Oracle数据库中最小的逻辑存储单位,也是执行数据库输入/输出操作的最小存储单位。
    • 它包含了表数据、索引数据和簇数据等,并且具有固定的结构,包括块头、表目录、行目录、空余空间和行数据等部分。
    • 数据块的大小可以在创建数据库时指定,通常为2KB、4KB、8KB等。
  5. 行(Row)
    • 行是数据块中的一个记录,用于存储一组相关的数据。
    • 每行数据都包含与表结构相匹配的多个列的值。
    • 在Oracle中,行是数据的最小存储单位,用于表示数据库中的一个实体记录。

总的来说,Oracle数据库通过这种层次结构来组织和管理数据,使得数据的存储、检索和操作变得更加高效和灵活。每个层次都有其特定的功能和作用,共同构成了Oracle数据库的完整存储体系。
两者对比就可以看出mysql的组织结构相比于oracle要简单很多


http://www.mrgr.cn/news/58990.html

相关文章:

  • 三周精通FastAPI:14 表单数据和表单模型Form Models
  • 了解 - 微格式
  • SpringMVC实战:构建高效表述层框架
  • 【linux】ELKB安装token过期
  • Python BeautifulSoup (bs4) 中 HTML 元素的定位与查找
  • MacOS 使用ssh2-python报错ImportError: dlopen ... Library not loaded
  • 系统调用的介绍
  • 每日“亿“题 东方博宜OJ 1538 - 小 X 与煎饼达人(flip)
  • 线程安全介绍
  • 代码随想录算法训练营第55天|最小生成树:prim、kruskal算法
  • 密码管理APP需求分析报告
  • 苍穹外卖总结
  • SaaS诊所云平台管理系统源码,采用Vue 2+Spring Boot+MyBatis技术开发,开箱即用。
  • 如何与家人相处 林曦老师有话说
  • cisp考试多久出结果?cisp认证考试指南,零基础入门到精通,收藏这篇就够了
  • 部署DNS主从服务器
  • jclasslib插件使用细节
  • 从视频中学习的SeeDo:VLM解释视频并生成规划、代码(含通过RGB视频模仿的人形机器人OKAMI、DexMV)
  • vue3 svg图像 的实例
  • Linux中级(DNS域名解析服务器)
  • 代码随想录算法训练营第二十六天|Day26 贪心算法
  • 1.Linux按键驱动
  • Qgis 开发初级 《ToolBox》
  • 2024年华为OD机试真题-矩形相交面积-Java-OD统一考试(E卷)
  • FreeSWITCH 简单图形化界面32 - 判断手机号归属地,自动补0
  • World of Warcraft [CLASSIC][80][the Ulduar]