×

Loading...
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。
Ad by
  • 最优利率和cashback可以申请特批,好信用好收入offer更好。请点链接扫码加微信咨询,Scotiabank -- Nick Zhang 6478812600。

你应该先看看oracle 对schema, user的定义再“扯”, shema 和user在oracle中是完全不同的,无论是定义还是使用(从7.3 就没有变过,7.3之前我不清楚),

“二者在使用上是如此相似”“实质上的区别并不大”是因为没有弄明白oracle对这两者的定义/使用。再看看SQL Server 的重新定义,现在是和oracle的定义是相同的

The behavior of schemas changed in SQL Server 2005. Schemas are no longer equivalent to database users; each schema is now a distinct namespace that exists independently of the database user who created it. In other words, a schema is simply a container of objects. A schema can be owned by any user, and its ownership is transferable.
http://technet.microsoft.com/en-us/library/ms190387(v=sql.105).aspx
Report

Replies, comments and Discussions:

  • 工作学习 / 学科技术讨论 / 请教Oeacle专家:谁能给解释一下Oracle中,user和schema究竟有何不同?二者在使用上是如此相似,为什么不干脆用一个词?
    • 不是专家,个人理解:user是用户的ID,而schema是用户的workspace,虽然创建起来是同名的,但是user也可以授权其他的user访问自己的schema。打个形象的比方,user是你的windows系统登录帐户,而schema是你的my document文件夹。供参考。
      • 谢谢,解释的好像很准确贴切,又通俗易懂。我的意思是,既然二者在使用上基本没什么区别,没神马不干脆,不如说用‘schema'’代替user,以及,登陆Oracle只需每个人的schema就行,forget那个user什么的,岂不更简单?
        • user还是有必要区别于的schema的,主要体现在限制或赋予用户权限的功能上,正如楼下几位先生所讨论的,我以为@testabc朋友引用的比较准确。
          举个最直观的栗子:试想若没有user/schema的区分,当一个数据库的开发/调用涉及到team work的时候该当如何保证合作的效率?您不妨也考虑一下有没有更好的方案。切磋。
    • user: collection of privileges用于权限的控制, schema: collection of objects(tables,views, indexes, procedure, packages, etc)
      select * from scott.tab1这里的scott是schema不是user.
    • Oracle 中的这个定义的确是有点儿扯,不论从什么角度分析,实质上的区别并不大。这就是为什么在SQL Server中重新定义了 Schema 的含义。
      • 你应该先看看oracle 对schema, user的定义再“扯”, shema 和user在oracle中是完全不同的,无论是定义还是使用(从7.3 就没有变过,7.3之前我不清楚),
        “二者在使用上是如此相似”“实质上的区别并不大”是因为没有弄明白oracle对这两者的定义/使用。再看看SQL Server 的重新定义,现在是和oracle的定义是相同的

        The behavior of schemas changed in SQL Server 2005. Schemas are no longer equivalent to database users; each schema is now a distinct namespace that exists independently of the database user who created it. In other words, a schema is simply a container of objects. A schema can be owned by any user, and its ownership is transferable.
        http://technet.microsoft.com/en-us/library/ms190387(v=sql.105).aspx
        • 背定义谁不会呀。Oracle 中的User 和 Schema 的定义都讨论了N年了,尤其是面试的时候常问。知道为什么这个问题在面试中为什么会被问吗?知道Oracle 的手册怎么区别 Oracle Schema 和 SQL Server Schema 吗?
    • 都不知道这两个有什么相似之处呢,学习了.
      • 这话挺‘哽’,那你给说说shema和user用起来在哪里不一样?
        • USER与schema完全就是两个不同的概念
          USER是每个用户的帐号。而schema是包或文件夹。只是当系统创建新帐号时也给这个帐号创建一个同名的schema。

          看来LZ是个IT newbie.
          • 简洁的正解。