Chinaunix

标题: 关于postgresq模式的概念. [打印本页]

作者: lwxkbob    时间: 2005-11-15 12:01
标题: 关于postgresq模式的概念.
看了书很是迷糊.
不知道到底有什么作用,哪位大哥指点一下好吗?
作者: 夜猫子    时间: 2005-11-16 10:47
当初我接触到这个概念也挺模糊的,到现在为止也不清楚创建“模式”的原始动机,不过实际的使用以后觉得还是挺方便的。
举例来说,我有chinaunix.net这个域,另外还有几个子域名(bbs、linux、blog等等)
我会建立一个数据库叫chinaunix.net,然后分别建立模式bbs、linux、blog来存放每个子域名的数据,这样在管理上我感觉会比较清晰,不用建立许多的库。
我感觉postgresql的思路是,尽量的让一个库容纳足够多的表,但是用模式来把这些表划分到不同的空间下。简单的理解来说,我把模式理解成为一个文件夹。
作者: ashchen    时间: 2005-11-16 11:45
恶读一下手册~~~~
作者: lwxkbob    时间: 2005-11-17 08:20
标题: 看了好几遍了,还是不很懂.
经过上面老兄介绍,脑子里有了点概念了.谢谢
作者: flowingtree    时间: 2005-11-22 16:54
夜猫版主所言的应该是好处之一吧

我认为模式

最方便的是给不同的用户分配不同的权限

而且这才是模式的主要目的吧

[ 本帖最后由 flowingtree 于 2005-11-22 16:56 编辑 ]
作者: 夜猫子    时间: 2005-11-22 20:22
>最方便的是给不同的用户分配不同的权限
有一点不同的看法,放到多个数据库里(mysql mssql的做法),分别给予权限,还是放到一个数据库的几个模式之下,分别给予权限,归根结底是控制存放位置的粒度的不同,从权限上来看,没什么不同的。

其实对于模式这个概念,我得承认我其实还是模糊的,只是说现在在用,也知道怎么创建模式、访问不同模式下的数据,只是说到了知其然,还不知其所以然,如果高人能够解惑,拜谢,再拜谢。
作者: flowingtree    时间: 2005-11-23 09:01
原帖由 夜猫子 于 2005-11-22 20:22 发表
>最方便的是给不同的用户分配不同的权限
有一点不同的看法,放到多个数据库里(mysql mssql的做法),分别给予权限,还是放到一个数据库的几个模式之下,分别给予权限,归根结底是控制存放位置的粒度的不同, ...



汗,我更是不解,说到"位置的粒度",可以看出版主老兄能够从本质看问题,赞一个! (不过我没有读过这个概念,呵呵)

不过如果我不用模式的话,得给客户建数千个数据库,觉得很凌乱啊

所以打算站在版主的身后,一同等待高手解惑  谢,再谢

[ 本帖最后由 flowingtree 于 2005-11-23 09:12 编辑 ]
作者: Magicloud    时间: 2005-12-01 15:55
类似的有oracle的模式,也不知道啥意思……
作者: flowingtree    时间: 2005-12-04 00:30
手册如是说:

我们需要模式的原因有好多:



1,允许多个用户使用一个数据库而不会干扰其它用户。

2,把数据库对象组织成逻辑组,让它们更便于管理。

3,第三方的应用可以放在不同的模式中, 这样它们就不会和其它对象的名字冲突。
作者: ncowboy    时间: 2005-12-15 19:59
我觉得,仅仅是对于数据库的对象的一个逻辑范围而已。其实,sqlserver,oracle都有模式。并不应该惊奇啊。
作者: flowingtree    时间: 2005-12-17 20:37
标题:
嗯.
一个字不让发的!
作者: 茶与客为    时间: 2005-12-19 13:55
谢谢,  收益多多~




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2