数据库中Schema和Database有什么区别
3个回答
展开全部
在mysql中创建一个schema好像就跟创建一个database是一样的效果,在sql
server和orcal数据库中好像又不一样.
目前我只能理解,在mysql中
schema<==>database。
数据库中user和schema的关系
假如我们想了解数据库中的user和schema究竟是什么关系,首先必须了解一下数据库中user和schema到底是什么概念。
在sql
server2000中,由于架构的原因,user和schema总有一层隐含的关系,让我们很少意识到其实user和schema是两种完全不同的概念,不过在sql
server2005中这种架构被打破了,user和schema也被分开了。
首先我来做一个比喻,什么是database,什么是schema,什么是table,什么是列,什么是行,什么是user?我们可以可以把database看作是一个大仓库,仓库分了很多很多的房间,schema就是其中的房间,一个schema代表一个房间,table可以看作是每个schema中的床,table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了j。,然后床上可以放置很多物品,就好比table上可以放置很多列和行一样,数据库中存储数据的基本单元是table,现实中每个仓库放置物品的基本单位就是床,
user就是每个schema的主人,(所以schema包含的是object,而不是user),其实user是对应与数据库的(即user是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个schema(房间)的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给user分配具体的权限,也就是他到某一个房间能做些什么,是只能看(read-only),还是可以像主人一样有所有的控制权(r/w),这个就要看这个user所对应的角色role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。
server和orcal数据库中好像又不一样.
目前我只能理解,在mysql中
schema<==>database。
数据库中user和schema的关系
假如我们想了解数据库中的user和schema究竟是什么关系,首先必须了解一下数据库中user和schema到底是什么概念。
在sql
server2000中,由于架构的原因,user和schema总有一层隐含的关系,让我们很少意识到其实user和schema是两种完全不同的概念,不过在sql
server2005中这种架构被打破了,user和schema也被分开了。
首先我来做一个比喻,什么是database,什么是schema,什么是table,什么是列,什么是行,什么是user?我们可以可以把database看作是一个大仓库,仓库分了很多很多的房间,schema就是其中的房间,一个schema代表一个房间,table可以看作是每个schema中的床,table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了j。,然后床上可以放置很多物品,就好比table上可以放置很多列和行一样,数据库中存储数据的基本单元是table,现实中每个仓库放置物品的基本单位就是床,
user就是每个schema的主人,(所以schema包含的是object,而不是user),其实user是对应与数据库的(即user是每个对应数据库的主人),既然有操作数据库(仓库)的权利,就肯定有操作数据库中每个schema(房间)的权利,就是说每个数据库映射的user有每个schema(房间)的钥匙,换句话说,如果他是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是他的(包括房间),他有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,呵呵,和现实也太相似了吧。我还可以给user分配具体的权限,也就是他到某一个房间能做些什么,是只能看(read-only),还是可以像主人一样有所有的控制权(r/w),这个就要看这个user所对应的角色role了,至于分配权限的问题,我留在以后单独的blog中详述。比喻到这里,相信大家都清楚了吧。
展开全部
可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间。
详细请参照:
http://blog.chinaunix.net/u1/56222/showart_1860672.html
--
以上,希望对你有所帮助。
详细请参照:
http://blog.chinaunix.net/u1/56222/showart_1860672.html
--
以上,希望对你有所帮助。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
概论第四版中增加了create
schema
(第三版好像没有这个内容),但是却没有提到create
database。相反目前在大多数DBMS中(如SQL
Server2000、Mysql等)都有create
database语句用来新建数据库,而create
schema
在SQL
Server2000中确实也有但好像用处不大,不过也可能是我对SQL
server2000中的create
schema理解的不对,看过它的
联机帮助
也看的不太明白。所以就不太明确create
schema和create
database到底是什么关系?
回复:schema是一个
名字空间
,创建在某个database下的;一个database下可以包含多个schema。
schema的好处有三点:
1.
多个用户使用同一个数据库而不会相互影响。
2.
对数据库中的对象进行逻辑分组,更便于管理。
3.
各个应用分别使用各自的模式,以避免命名冲突。
另外。关于schema、database的定义各个数据库产品解释和实现不尽相同,需要
具体情况具体分析
。
schema
(第三版好像没有这个内容),但是却没有提到create
database。相反目前在大多数DBMS中(如SQL
Server2000、Mysql等)都有create
database语句用来新建数据库,而create
schema
在SQL
Server2000中确实也有但好像用处不大,不过也可能是我对SQL
server2000中的create
schema理解的不对,看过它的
联机帮助
也看的不太明白。所以就不太明确create
schema和create
database到底是什么关系?
回复:schema是一个
名字空间
,创建在某个database下的;一个database下可以包含多个schema。
schema的好处有三点:
1.
多个用户使用同一个数据库而不会相互影响。
2.
对数据库中的对象进行逻辑分组,更便于管理。
3.
各个应用分别使用各自的模式,以避免命名冲突。
另外。关于schema、database的定义各个数据库产品解释和实现不尽相同,需要
具体情况具体分析
。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询