oracle中 Schema.TableName,schema是怎么回事?

wangjiamin 2005-03-31 03:14:15
我原来用sql server,里面没有明确的schema概念。
1 一个表,视图等对象是否必须属于一个schema(一个oracle用户)?
我觉得是。如果创建对象时候没有写schema,就是当前登陆用户。对么?

2 常用情况下,是不是不是用普通数据库用户来区分schema,而是单独根据系统创建schema(没有登陆权限),例如 SCM,HR等以系统区分。

两个schema下面,可以有完全相同的表名字,但内容不同。

我觉得这样合理,是这样么?

3 一个用户可以创建另一个用户的表、视图等对象,也可以访问他们的对象,对么?
例如,用户sys1登陆,create table SCM.NewTable(...)

最后一个问题,这时候sys1,和scm权限之间关系是什么?

...全文
576 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nebulaly 2005-03-31
  • 打赏
  • 举报
回复
每个用户账号都有schema

leborety 2005-03-31
  • 打赏
  • 举报
回复
我没看懂你的意思

就是,表是属于用户的,表和用户可以属于不同的表空间。
其他用户如果需要查询此用户的表,需要此用户授于查询权限,如:grant select on tab to user
wangjiamin 2005-03-31
  • 打赏
  • 举报
回复
3 不是那样,能解释一下么?

以系统标识做schema,就应该不能登陆啊,然后用别的用户创建、访问不对么?(Sys用户也不成么)
leborety 2005-03-31
  • 打赏
  • 举报
回复
1.对
2。是
3。不是

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧