刚接触oracle,有点蒙
以前在做网站的时候,用sql2000,给客户建立一个数据库,data1,之后建立一个用户user1,把data1的权限给user1后,就可以了的
结构是:数据库(date1)
                表 tab1
                   字段 id,username,pwd,levels,Tusername
                表 news
                   字段 id,title,infos,content
                表 partd
                   字段 id,partd,title是这样的结构看着挺方便的做oracle的时候,别人和我说没有数据库,都是用户?
给我的感觉是:
先建立一个用户Ouser1
之后在这个用户下建立表Otab1
                      字段 id,username,pwd,levels,Tusername
                    表 news
                      字段 id,title,infos,content
是这样的吗?
还有表空间所有的表都在表空间里,之后用户管理表空间?
那这个 表空间 是不是就是数据库的概念,也是要 先建立表空间,之后 才能建立表?

解决方案 »

  1.   

    看来转数据库确实很痛苦,概念。SQL server里的数据库,在oracle里是用户,术语叫schema,即一个用户所有对象的集合。表空间不是schema,一个用户可以有多个表空间;反过来也一样。oracle里用户必须获取表空间(物理层即数据文件)配额或unlimited tablespace权限,才能在表空间中建表。
      

  2.   

    oracle数据库是指一组位于磁盘上的数据文件的集合
    oracle实例是指一组后台进程和一组内存组件
    数据库和实例一起称为oracle服务器一般ORACLE安装完可以选择自动建立一个默认的数据库
    如果在上面建立应用,一般可能通过如下几步
    1、建立单独的表空间,用来存储准备新建用户的对象;
    2、创建新用户,可以指定默认表空间为第一步所在的表空间;
    3、给新用户授权
    4、连接新用户,在该用户下创建对象(如表、视图、存储过程等)
      

  3.   

    那是不是我可以这么理解
    先建立用户user1,之后建立表空间tabspace1,之后表空间授权给用户user1,之后才可以建立表表是包含在表空间里的可以这么理解吗
      

  4.   

    可以这么理解,至于先建表空间还是先建用户,无所谓。但是建立用户后,必须为其指定可用表空间(可为新建的,可为已有的),或者授予其unlimited tablespace权限(可无限制使用所有表空间)。从逻辑结构来说,表确实包含在表空间里。从物理结构上来说,表里的数据块存储在表空间所属数据文件里。