数据库Schema的解释

编了这么长时间的程,由于没有使用Oracle(我一般使用MySQL和PostgreSQL,所以对于现在越来越多出现的schema有点怵(其实主要还是在使用PostgreSQL时遇到),虽然在编程序时也或多或少地接触,心里也有了模糊的概念,但说到对其概念十分清晰,还有点问题,于是到网上找了找其解释,觉得下面的解释最为精准,虽然有着典型的Oracle风格。

 

==== 摘自网络的解释 ====

在一个数据库中可以有多个应用的数据表,这些不同应用的表可以放在不同的schema之中,同时,每一个schema对应一个用户,不同的应用可以以不同的用户连接数据库,这样,一个大数据库就可以根据应用把其表分开来管理。 不同的schema之间它们没有直接的关系,不同的shcema之间的表可以同名,也可以互相引用(但必须有权限),在没有操作别的schema的操作根权下,每个用户只能操作它自己的schema下的所有的表。不同的schema下的同名的表,可以存入不同的数据(即schema用户自己的数据)。把schem翻译成 “方案”还是比较合理的(我个人倒是一直把它翻成模式)。

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

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




本文转自 firehare 51CTO博客,原文链接:http://blog.51cto.com/firehare/585358,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值