数据库,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的集合。(这个怎么取名字呢,不知道,以后或许就知道了)

.bat中怎样注释一段话

方案一:
::利用转义符号^
优点是无任何显示,缺点是每行都要加^(而且最后一行一定不能加),比较适用于注释行数少时
pause>nul

方案二:
rem 同样是用转义符号^
优点是大部分时候比较简单省事,缺点同上
pause>nul

方案三:
if 1==0 (
利用恒不等的判断语句
个人认为是有长注释时的最优方案,不解释
)
pause>nul

echo 方案四:
(利用屏蔽错误回显的方法。
优点是注释比较零碎且行数少时效率比方案五高,但行数多时比较难说,而且有可能出错
)2>nul
pause>nul

方案五:
goto 1
利用跳转让电脑不执行注释内容。
优点是绝不出错,但是效率低,频繁使用时更低
:1
pause>nul