阅读时我的数据库读数...
架构:是对象的容器
表空间:对象的逻辑存储单元
有谁可以解释这些之间的区别?
答案 0 :(得分:21)
架构是命名空间 - 逻辑事物。它用于组织数据库对象的名称。它与数据的存储方式无关。
表空间是物理的东西。它是数据的容器,与数据库对象的逻辑组织无关。
单个对象(例如表)可以分布在多个表空间中(取决于所使用的DBMS),但它只能在单个模式中定义。表schema_1.table_1
是与<{1}}不同的表 - 尽管&#34; plain&#34; name是相同的,完全限定名称是不同的,因此它们是两个不同的表。
在同一模式中组织的对象不一定存储在同一个表空间中。单个表空间可以包含来自不同模式的对象。
模式(和目录,是另一级别的命名空间)是SQL语言的一部分,在SQL标准中定义。
表空间是物理存储的一部分,并且是特定于DBMS的(尽管几乎所有DBMS都支持这样的概念),并且不是SQL查询语言的一部分(由SQL标准定义)。但是,它们是通过特定于供应商的SQL / DDL语句定义和管理的。
答案 1 :(得分:1)
模式和表空间之间没有关系:表空间可以包含来自不同模式的对象,模式的对象可以包含在不同的表空间中。
来自ORACLE文件。 https://docs.oracle.com/cd/B10500_01/server.920/a96524/c11schem.htm
答案 2 :(得分:0)
架构操作逻辑结构
而表空间操作构成数据库的物理数据文件。
来自 Oracle 文档:
<强>模式强>:
架构是数据库对象的集合。架构由...拥有 数据库用户,并且与该用户具有相同的名称。 架构对象 是直接引用数据库数据的逻辑结构。 架构对象包括表,视图等结构 的索引即可。 (表空间和模式之间没有关系。同一模式中的对象可以位于不同的表空间中, 并且表空间可以保存来自不同模式的对象。)<强>表空间强>:
数据库分为一个或多个称为的逻辑存储单元 表空间。表空间分为逻辑存储单元 称为段,进一步划分为范围。范围是一个 连续块的集合。 表空间的大小是构成表空间的数据文件的大小。数据库的大小是构成数据库的表空间的总大小。您可以通过三种方式扩大数据库:
Add a datafile to a tablespace Add a new tablespace Increase the size of a datafile