Oracle 10g的空间管理

一、表空间(包含表、字段、索引)

    1、定义:表空间是一个逻辑概念,实质是组织数据文件的一种途径。

    2、创建表空间

--创建表空间
create tablespace myspace
       datafile 'D:myspace01.dbf' size 10M

    3、修改表空间  

alter  tablespace myspace    
     add  datafile 'D:myspace02.dbf' size 10M

    4、删除表空间

 drop tablespace myspace including contents

   注意:表空间的数据被删除,将不能恢复   

    5、查询表空间与数据字典

      a、dba_data_files    实例中所有数据文件和表空间的信息      

        b、dba_tablespaces 表空间的信息

        c、 dba_free_space  表空间的空闲空间信息

二、SQL语言基础

      1、Oracle 数据类型

          数字数据类型:number可以描述整数或实数     定义方法:number(p,s)  p是精度,最大38位,s 是刻度范围

          字符数据类型:包括char、varchar2 、long、nchar、nvarchar2             

             char :定长字符,空格填位 char(L) 缺省为1 最大32767个字符,作为数据储存在oracle中最大为2000  nchar(L)

                            varchar2 :变长字符 varchar2(L)没有缺省值,最大32767字符, 作为数据储存在oracle中最大为4000  nvarchar(L)

                            long:变量 高达2G 可以表示一个最大长度为32760字节的可以变为字符串

            nchar、nvarchar2国家字符集,与环境变量NLS指定的语言集密切相关。

三、索引

     1、定义:索引是一个单独的、物理的数据库结构,是数据库的一张表中所包含的值的列表,其中注明了表的各个值所在的存储位置。

          可以将索引看做一本书的目录
 
    
      2、索引的类型:
        非聚集索引:复合索引,视图索引,全文索引,XML索引,唯一索引
        聚集索引:主键索引
        主键索引:在数据表中为表定义一个主键就自动创建主键索引,主键索引是唯一索引的特殊类型;
        唯一索引:唯一索引不允许两行具有相同的索引值;
        聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个;
        非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,
                  索引中包含指向数据存储位置的指针。可以有多个,小于249个。
    3、创建索引     
create unique index  索引名
on  表名(列名1、列名2.....)
where 条件

    4、修改索引

--重建
alter index indesex rebuild
--合并
alter index name coalesce

    5、删除索引

        drop index 索引名

四、视图

     1、定义:查询一个或多个表的select 语句的描述 一张虚拟的表 不占用空间储存数据

           2、创建视图

        create [or replace] view 视图名

                 as [query]

                   [select 语句....]

     3、删除视图

        drop view 视图名

五、同义词

    1、定义:数据库方案对象的别名   用于简化对象访问以及提高对象访问安全性(消除模式带给用户的困扰)

    2、分类:私有同义词(默认)、共有同义词

    3、创建同义词

--语法 
create or replace [public] synonym synonym_name for objec_name;

--创建私有同义词 
create or replace synonym emp for scott.emp;

--创建公有同义词
create or replace public synonym emp for scott.emp;

--调用
 --为Scott用户的emp创建同义词
 create public synonym emp for scott.emp;
--定义同义词之后
 select * from emp;
--删除同义词
drop synonym emp

六、序列

    1、定义:数据库对象,可生成唯一的整数 允许同时生成多个序列号 每个序列号唯一

    2、创建序列

create sequence stu_seq
 start with 49    --生成的第一个序列号
 increment by 10  --指定序列号之间的间隔(间隔为10)
 maxvalue 200    --可生成的最大值
minvalue n    --可生成的最小值
cache 10    --缓存
  cycle       --循环

    3、使用序列

--插入数据使用序列
insert into employee values(stu_seq.nextval,'jhh','')
 select * from employee
 

    4、删除序列

drop sequence stu_seq

    5、更改序列

alter sequence seq_name
    increment by n,
    maxvalue n 
    minvalue n;

--实例
alter sequence seq_name maxvalue 90000 cycle;
原文地址:https://www.cnblogs.com/yuxiaoyanran/p/3505847.html