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

相关推荐
鸽芷咕1 天前
让 AI 写算子:基于 pyasc 语言的 AIGC 算子开发初探
开源·cann
深鱼~1 天前
数学计算加速利器:ops-math在昇腾平台的应用详解
ai·开源·cann
2601_949593651 天前
深入解析CANN-acl应用层接口:构建高效的AI应用开发框架
数据库·人工智能
javachen__1 天前
mysql新老项目版本选择
数据库·mysql
Dxy12393102161 天前
MySQL如何高效查询表数据量:从基础到进阶的优化指南
数据库·mysql
Dying.Light1 天前
MySQL相关问题
数据库·mysql
蜡笔小炘1 天前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长1 天前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚1 天前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设1 天前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台