oracle的表空间、schema、user

站在oracle使用者的角度,一不小心总是被表空间、schema、user搞迷糊了。例如,用户A,查询用户B的数据:
select * from B.table;
其中的这个B是表示表空间还是用户名呢?(以前的自认为)

网上查了资料,才发现,原来这个B指的是schema。这就冒出了一个很少用的概念schema。

user(用户) 和 schema(方案) 概念好容易混淆。我也就简单理解一下:

user:代表的是数据库权限的集合;
schema:代表的是各种数据库对象的集合,包含 tables,views,indexs,procedures等等。所以一个数据库对象的完整名字应该是schema.obj(如B.table),不加schema前缀默认使用该用户缺省schema,即 select * from table 完整语法是 select * from A.table。

所以 user 与 schema 结合,就真正组成了我们一直认为的 user。

一个schema一般对应一个user,且名字相同,并做为此用户的缺省schema。oracle数据库中不能新建一个schema,只能通过新建用户来新建一个schema,即schema的个数同user的个数相同,名字相同且一一对应。

一个用户有一个缺省的schema,与自己的名字相同,在我们访问某个数据库对象时如果没指明属于哪一个schema,系统就会自动给我们加上缺省的schema名。所以,如果需要访问别的schema的数据,那就需要对方授权。

参考链接:

https://www.cnblogs.com/tesila/archive/2016/09/30/5923922.html
https://www.cnblogs.com/shenyuelan/p/3307765.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值