oracle 实例 表空间 用户 方案 表 数据的关系例子

我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了,然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西,如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了.换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了.
借用上面的很好的例子:一个运行着的数据库程序就是一个实例(电脑上可以运行多个数据库).实例就像一个大仓库.由于仓库太大,我们租给不同的企业,每个企业根据自身的需求划定仓库的一片区域,这片区域称为表空间.企业允许员工在自己这片区域的仓库的房间内放自己的东西.每位员工只有一个房间,当放上你的一件东西后这个房间就属于你,并且以你的名字自动命名.你就是用户,而房间就是方案(schema).你可以在你的房间(方案)里置办不同的器具放不同类的东西如:鞋柜 衣橱 床等等(这些对应着表 索引 视图 触发器等等).你在这些器具里面放的具体的东西比如鞋子 衣服就是数据了.
posted on 2017-02-24 09:08  abelian  阅读(261)  评论(0编辑  收藏  举报