小弟初学oracle,但是在表空间,用户,表这三者之间的关系,有点模糊,希望大牛指导下!

解决方案 »

  1.   

    表空间:一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(TABLESPACE)。一个表空间可将相关的逻辑结构组合在一起。
    表:表(table)为数据库中数据存储的基本单位,其数据按行、列存储。每个表具有一表名和列的集合。每一列有一个列名、数据类型、宽度或精度、比例。一行是对应单个记录的列信息的集合。
    用户:即user,通俗的讲就是访问oracle数据库的“人”。在oracle中,可以对oracle用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema)、权限、角色、存储设置、空间限额、存取资源限制、数据库审计等。
      

  2.   

    我也只有大半年的经验,以下我现在的理解:表空间:创建表空间会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间;用户:创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象;表:是数据记录的集合;创建过程:  表空间--->用户--->表;所属关系:  表空间 包含 用户 包含 表;
      

  3.   

    表空间  和  用户  都是 system objects 平级 归属于数据库表是schema objects  归属于用户表和用户是从属关系表和表空间没关系  表中数据装载在表空间的data文件上用户和表空间没关系  用户的属性“默认表空间”和表空间是多对一关系
      

  4.   

    那表属于表空间,但是不同的用户有不同的表,这样有点迷糊啊!比如说一张emp表属于scott用户,但是却属于xxxspace 表空间,那现在admin用户对xxxspace 表空间操作时能操作emp表吗?
      

  5.   

    你应该找一本oracle的书,看一下,你就明白了,oracle的体系结构
    block < extent < 段表空间是有多个段组成的,一个段可能又分了多个区间,一个区间有多个oracle 数据块而用户,也有用户对应的user表空间(这个是系统默认的空间)举个例子:
    create user zsd
      identified by ""
      default tablespace PUB_ZSD_SPACE(这个是你想用户放置的表空间)
      temporary tablespace TEMP01(临时空间就是临时放置的表空间)
      profile DEFAULT;如果你在这个用户下,建立一个表zsd_test那么这张表就会放在和用户表空间一样的地方
    create table zsd_test(
      EMPLOYEE_ID VARCHAR2(32),
      IAM_UID     VARCHAR2(32)
    )
    tablespace PUB_ZSD_SPACE  
      pctfree 10
      initrans 1
      maxtrans 255
      storage
      (
        initial 2M
        minextents 1
        maxextents unlimited
      );你看,两个表空间是一致,工作上这些应该够用了,希望能对你有帮助。