日期:2014-05-16  浏览次数:20422 次

简单描述schema,catalog

schema: ?? (直接翻译)模式;计划;图解;概要?? 我自己的理解在数据库里:表空间

catalog:? ? (直接翻译) 目录 产品目录 编目??


schema:

指的是说当偶create database caiceclb时,caiceclb就是一个schema

在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。
不 同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的schema的操作根权 下,每个用户只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的数据(即schema用户自己的数据)。引 自:http://utong.itpub.net/post/3610/58061


catalog:

指的是所有的database目录


两者关系:

从概念上说,一个数据库系统包含多个 Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数据库对象(表、视图、字段等),反过来讲一个数据库对象必然 属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该数据库对象的完全限定名称从而解决命名冲突的问题了;例如数 据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。这里还有一点需要注意的是,SQL标准并不要求每个数据库对象的 完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名。(摘自:http://tony-0529.iteye.com/blog/722315)