开源数据库 - 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要简单很多

相关推荐
Arbori_262155 分钟前
获取oracle表大小
数据库·oracle
王强你强12 分钟前
MySQL 高级查询:JOIN、子查询、窗口函数
数据库·mysql
草巾冒小子13 分钟前
brew 安装mysql,启动,停止,重启
数据库·mysql
用户62799471826219 分钟前
南大通用GBase 8c分布式版本gha_ctl 命令-HI参数详解
数据库
斯汤雷28 分钟前
Matlab绘图案例,设置图片大小,坐标轴比例为黄金比
数据库·人工智能·算法·matlab·信息可视化
SQLplusDB35 分钟前
Oracle 23ai Vector Search 系列之3 集成嵌入生成模型(Embedding Model)到数据库示例,以及常见错误
数据库·oracle·embedding
喝醉酒的小白1 小时前
SQL Server 可用性组自动种子设定失败问题
数据库
chem41111 小时前
Conmon lisp Demo
服务器·数据库·lisp
m0_555762901 小时前
QT 动态布局实现(待完善)
服务器·数据库·qt
极客柒2 小时前
RustDesk 开源远程桌面软件 (支持多端) + 中继服务器伺服器搭建 ( docker版本 ) 安装教程
服务器·docker·开源