数据库模式混乱

时间:2009-03-20 17:45:25

标签: schema

在设计一些课程时,我的术语会有轻微的崩溃。在Sql Server 2005中,“模式”指的是名称空间,以及数据库对象的组织系统。但对于一般的关系数据库,“模式”意味着表,字段等的DDL设计。如果我对此是正确的,它解释了当我尝试阅读microsoft文档并理解各种数据时的许多不和谐访问API。你能解释一下这里发生了什么,“架构”的定义真的有那么大的不同吗?

2 个答案:

答案 0 :(得分:3)

是的,遗憾的是,“架构”一词在数据库供应商中已经过载。

SQL-99 Complete, Really”说:

  

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”将引用表,视图,过程,函数等的逻辑结构。