数据库-----catalog与schema简介

时间:2024-10-30 07:03:54

在SQL环境下Catalog和Schema都属于抽象概念,主要用来解决命名冲突问题

 

一个数据库系统包含多个Catalog,每个Catalog包含多个Schema,每个Schema包含多个数据库对象(表、视图、字段等)

 

如数据库对象表的全限定名可表示为:Catalog名.Schema名.表名

 

SQL标准并不要求每个数据库对象的完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名

 

从实现的角度来看,各种数据库系统对Catalog和Schema的支持和实现方式千差万别,比较简单而常用的实现方式是使用数据库名作为Catalog名,使用用户名作为Schema名,具体可参见下表:

供应商

Catalog支持

Schema支持

Oracle

不支持

Oracle User ID

MySQL

不支持

数据库名

MS SQL Server

数据库名

对象属主名,2005版开始有变

DB2

指定数据库对象时,Catalog部分省略

Catalog属主名

Sybase

数据库名

数据库属主名

Informix

不支持

不需要

PointBase

不支持

数据库名