数据库schema与catalog的理解

来源:互联网 发布:学生开淘宝店怎么样 编辑:程序博客网 时间:2024/05/31 19:02

按照SQL标准的解释,在SQL环境下Catalog和Schema都属于抽象概念,可以把它们理解为一个容器或者数据库对象命名空间中的一个层次,主要 用来解决命名冲突问题。从概念上说,一个数据库系统包含多个Catalog,每个Catalog又包含多个Schema,而每个Schema又包含多个数 据库对象(表、视图、字段等),反过来讲一个数据库对象必然属于一个Schema,而该Schema又必然属于一个Catalog,这样我们就可以得到该 数据库对象的完全限定名称从而解决命名冲突的问题了;例如数据库对象表的完全限定名称就可以表示为:Catalog名称.Schema名称.表名称。这里 还有一点需要注意的是,SQL标准并不要求每个数据库对象的完全限定名称是唯一的,就象域名一样,如果喜欢的话,每个IP地址都可以拥有多个域名。


====我的理解 ====

原来的理解是数据库下面就是数据表了,现在的理解是在数据库和数据表之间还有个schema,我是以仓库做参考来理解的,数据库相当于仓库,schema则相当于仓库里面的库房(或者说房间),而表相当于货架(货架上一行行的就当是记录吧,呵呵)。如果我是仓库管理员,那么就会有所有仓库里库房的钥匙(即管理整个数据库的权限),那么如果我想把其中的某个库房给其他人管的话,我只需要把这个库房的门钥匙给他就成(即管理schema的权限)。如果只是看的话,我可以给他打开这个库房门上小窗的钥匙(想想电影里经常出现的给牢里犯人送饭的那个小窗


0 0
原创粉丝点击