database - 数据库模式与数据库表空间?

标签 database database-design

在我阅读时读取我的数据库...

Schema:是对象的容器

表空间:对象的逻辑存储单元

谁能解释一下它们之间的区别?

最佳答案

模式是命名空间 - 合乎逻辑的东西。它用于组织数据库对象的名称。它与数据的存储方式无关。

表空间是一个物理事物。它是数据的容器,与数据库对象的逻辑组织无关。

单个对象(例如表)可以分布在多个表空间(取决于所使用的 DBMS),但它只能在单个模式中定义。表 schema_1.table_1schema_2.table_1 是一个不同表 - 尽管“普通”名称相同,但完全限定名称是不同,因此这是两个不同的表。

组织在同一架构中的对象不一定存储在同一表空间中。并且单个表空间可以包含来自不同模式的对象。

模式(和目录,它们是命名空间的另一层)是 SQL 语言的一部分,并在 SQL 标准中定义。

表空间是物理存储的一部分并且是特定于 DBMS 的(尽管几乎所有 DBMS 都支持这样的概念)并且不是 SQL 查询语言的一部分(由 SQL 标准定义)。但是,它们是通过供应商特定的 SQL/DDL 语句定义和管理的。

关于database - 数据库模式与数据库表空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120219/

相关文章:

php - 从 MySQL 数据库创建独特的网页

php - 为一个类(class)分配科目的Mysql表设计

php - 文件生成器 PHP

mysql - 在数据库中的何处(如何)存储类别(某种)树?

SQL Order By Custom CASE WHEN 排序

Android:在后台同步远程数据库最流畅的方法是什么?

arrays - 查询返回具有特定日期范围编号的文档,然后对它们进行排序,然后排序

php - 用户设置的架构设计

mysql - 用于现有系统报告目的的数据库设计

database - 在 Cassandra 中使用 UUID 作为 URL 表的辅助键的可行性