ORACLE 数据库、表空间、SCHEMA、数据文件的概念

      在Oracle中,结合逻辑存储与物理存储的概念,我们可以这样来理解数据库、表空间、SCHEMA、数据文件这些概念:
      数据库是一个大圈,里面圈着的是表空间,表空间里面是数据文件,那么schema是什么呢?schema是一个逻辑概念,是一个集合,但schema并不是一个对象,oracle也并没有提供创建schema的语法。

schema:
      一般而言,一个用户就对应一个schema,该用户的schema名等于用户名,并作为该用户缺省schema,用户是不能创建schema的,schema在创建用户的时候创建,并可以指定用户的各种表空间(这点与PostgreSQL是不同,PostgreSQL是可以创建schema并指派给某个用户)。当前连接到数据库上的用户创建的所有数据库对象默认都属于这个schema(即在不指明schema的情况下),比如若用户scott连接到数据库,然后create table test(id int not null)创建表,那么这个表被创建在了scott这个schema中;但若这样create kanon.table test(id int not null)的话,这个表被创建在了kanon这个schema中,当然前提是权限允许。
      创建用户的方法是这样的:
      create user 用户名 identified by 密码
      default tablespace 表空间名
      temporary tablespace 表空间名
      quota 限额  (建议创建的时候指明表空间名)
由此来看,schema是一个逻辑概念。
      但一定要注意一点:schema好像并不是在创建user时就创建的,而是在该用户创建了第一个对象之后才将schema真正创建的,只有user下存在对象,他对应的schema才会存在,如果user下不存在任何对象了,schema也就不存在了;

 

数据库:
     在oracle中,数据库是由表空间来组成的,而表空间里面是具体的物理文件---数据文件。我们可以创建数据库并为其指定各种表空间。

 

表空间:
     这是个逻辑概念,本质上是一个或者多个数据文件的集合。

 

数据文件:
     具体存储数据的物理文件,是一个物理概念。

     一个数据文件只能属于一个表空间,一个表空间可以包含一个或多个数据文件。一个数据库由多个表空间组成,一个表空间只能属于一个数据库。

 

     若还不理解,下面是我从网上摘的一个比喻,很形象的解释了什么是Database,什么是Schema,什么是Table,什么是列,什么是行,什么是User,不妨一看。
     “我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间,Table可以看作是每个Schema中的床,Table(床)被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了,然后床上可以放置很多物品,就好比 Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床, User就是每个Schema的主人,(所以Schema包含的是Object,而不是User),user和schema是一一对应的,每个user在没有特别指定下只能使用自己schema(房间)的东西,如果一个user想使用其他schema(房间)的东西,那就要看那个schema(房间)的user(主人)有没有给你这个权限了,或者看这个仓库的老大(DBA)有没有给你这个权限了。换句话说,如果你是某个仓库的主人,那么这个仓库的使用权和仓库中的所有东西都是你的(包括房间),你有完全的操作权,可以扔掉不用的东西从每个房间,也可以放置一些有用的东西到某一个房间,你还可以给每个User分配具体的权限,也就是他到某一个房间能做些什么,是只能看(Read-Only),还是可以像主人一样有所有的控制权(R/W),这个就要看这个User所对应的角色Role了。”---摘自网络

 

  • 11
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老哥讲数据库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值