在设计一些课程时,我的术语会有轻微的崩溃。在Sql Server 2005中,“模式”指的是名称空间,以及数据库对象的组织系统。但对于一般的关系数据库,“模式”意味着表,字段等的DDL设计。如果我对此是正确的,它解释了当我尝试阅读microsoft文档并理解各种数据时的许多不和谐访问API。你能解释一下这里发生了什么,“架构”的定义真的有那么大的不同吗?
答案 0 :(得分:3)
是的,遗憾的是,“架构”一词在数据库供应商中已经过载。
SQL Catalog是一组命名的Schema。 ...
SQL Schema是一个由特定的SQL数据组成的命名组 。 ...每个架构对象都有一个必须唯一的名称 (在其名称类的对象中)属于它所属的Schema。模式对象名称类是:
- 基本表格和视图
- 域和UDT
- 约束和断言
- 字符集
- 排序规则
- 翻译
- 触发器
- SQL-server Modules
- SQL调用的例程
Oracle可互换地使用“架构”和“用户”,这总是让我的眉毛扬起。
MySQL使用SCHEMA
作为DATABASE
的同义词。
PostgreSQL使用“schema”,但使用“database”来引用标准SQL称之为“catalog”的内容。
答案 1 :(得分:0)
你是对的。在SQL 2005/2008中,“schema”指的是名称空间,而在关系数据库中,“schema”将引用表,视图,过程,函数等的逻辑结构。