微前端架构如何改变企业的开发模式与效率提升
1390
2022-09-29
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~