oracle中的schema和表空间

网友投稿 1292 2022-09-29

oracle中的schema和表空间

oracle中的schema和表空间

我一直搞不清oracle里面的schema和表空间。尤其是不知道这个schema是个啥。一般,我们创建表空间,将数据表建在其中,然后导出导入,好像指定的也是这个同名的schema:

--创建一个表空间workcreate tablespace work datafile 'D:\YbjzCheck\db\work.ora' size 500m autoextend on;--创建数据库用户workCREATE USER work identified by work DEFAULT TABLESPACE work;grant connect, resource to work;

--导出schema=work的数据expdp 'sys/password@PDBYbjzCheck as sysdba' directory=dbbak dumpfile=PDBYbjzCheck.expdp logfile=PDBYbjzCheck.log schemas=work

难道 schema 就是 表空间?

现在看起来应该不是。我还没有找到确切的答案,只能按照个人的理解来回答:

表空间是一个存储概念,而schema是一个数据结构定义的概念。表空间负责存储,schema定义的是表的字段、字段类型,等等。

如果我没有理解错,则一个schema可以对应多个表空间。而表空间也可以存放来自多个schema的表、视图等数据库对象。

注意到,使用表空间work的数据库用户也名叫work,由于我们在创建表空间过程中,并没有一个语句创建所谓的schema,难道数据库用户就是schema?

也不是。但是,schema的确跟用户是一对一的关系,系统应当是在创建用户的时候,自动创建的schema。

用户是用来连接数据库对象。而模式是用来创建管理对象的。模式跟用户在oracle 是一对一的关系。

至于为啥是这样的设计,不晓得。

不用猜,看看下面材料就清楚:​​​2019-04-19 schema vs tablespace vs user 模式、表空间、用户的联系与区别​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:浅析小程序怎么实现登录功能(微信小程序怎么实现登录)
下一篇:手把手教你怎么部署微信小程序并上线(微信小程序怎么上线发布)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~