数据库,schema,catalog三者的涵义(简单描述)

你是否经常见到schema,catalog这些单词,在数据库的背景下是什么意思呢?

 

 

两篇参考:http://www.iteye.com/problems/9738 
http://luckybat.iteye.com/blog/259976

 

taopian (高级程序员) 2009-01-07 写道
schema是对一个数据库的结构描述。在一个关系型数据库里面,schema定义了表、每个表的字段,还有表和字段之间的关系。

catalog是由一个数据库实例的元数据组成的,包括基本表,同义词,索引,用户等等。

 

 

luckybat 写道
在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。


同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的schema的操作根权
下,每个用户只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的数据(即schema用户自己的数据)。引
自:http://utong.itpub.net/post/3610/58061

 

 

我另外结合MySQL官方的MySQL administrater数据库管理工具理解一下所谓的schema,catalog

 

mysql administrater 管理界面

 

我点了那个catalogs,下面就出来了所有的database。

 

想了一下,我这样来总结:

 

数据库:指的是说MySQL(或者说Oracle等)

 

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

 

catalog:
指的是所有的database目录,就像上图显示的那样,将MySQL原来的(mysql,infomation_schema)及偶后来create
database ****创建的的database的集合。(这个怎么取名字呢,不知道,以后或许就知道了)