数据库对象包括:?
一、ORACLE数据库的模式对象的管理与维护
本节的主要内容是关于ORACLE数据库的模式对象的管理与维护,这些模式对象包括:表空间、表、视图、索引、序列、同义词、聚集和完整性约束。对于每一个模式对象,首先描述了它的定义,说明了它的功能,最后以基于SQL语言的实例说明如何对它们进行管理于维护。
1.1 表空间
由于表空间是包含这些模式对象的逻辑空间,有必要先对它进行维护。
创建表空间
SQL>CREATE TABLESPACE jxzy
>DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
>ONLINE;
修改表空间
SQL>ALTER TABLESPACE jxzy OFFLINE NORMAL;
SQL>ALTER TABLESPACE jxzy
>RENAME DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’
>TO ‘/usr/oracle/dbs/jxzynew.dbf’
>ONLINE
SQL>CREATE TABLESPACE jxzy ONLINE
删除表空间
SQL>DROP TABLESPACE jxzy
>INCLUDING CONTENTS
1. 2 表维护
表是数据库中数据存储的基本单位,一个表包含若干列,每列具有列名、类型、长度等。
表的建立
SQL>CREATE TABLE jxzy.switch(
>OFFICE_NUM NUMBER(3,0) NOT NULL,
>SWITCH_CODE NUMBER(8,0) NOT NULL,
>SWITCH_NAME VARCHAR2(20) NOT NULL);
表的修改
SQL>ALTER TABLE jxzy.switch
>ADD (DESC VARCHAR2(30));
表的删除
SQL>DROP TABLE jxzy.switch
>CASCADE CONSTRAINTS
//删除引用该表的其它表的完整性约束
1. 3 视图维护
视图是由一个或若干基表产生的数据集合,但视图不占存储空间。建立视图可以保护数据安全(仅让用户查询修改可以看见的一些行列)、简化查询操作、保护数据的独立性。
视图的建立
SQL>CREATE VIEW jxzy.pole_well_view AS
>(SELECT pole_path_num AS path,
pole AS device_num FROM pole
>UNION
>SELECT pipe_path_num AS path,
> well AS device_num FROM well);
视图的替换
SQL>REPLACE VIEW jxzy.pole_well_view AS
>(SELECT pole_path_num AS path,
pole AS support_device FROM pole
>UNION
>SELECT pipe_path_num AS path,
well AS support_device FROM well);
视图的删除
SQL>DROP VIEW jxzy.pole_well_view;
1.4 序列维护
序列是由序列发生器生成的唯一的整数。
序列的建立
SQL>CREATE SEQUENCE jxzy.sequence_cable
>START WITH 1
>INCREMENT BY 1
>NO_MAXVALUE;
建立了一个序列,jxzy.sequence_cable.currval返回当前值,jxzy.sequence_cable.nextval 返回当前值加1后的新值
序列的修改
SQL>ALTER SEQUENCE jxzy.sequence_cable
>START WITH 1 //起点不能修改,若修改,应先删除,然后重新定义
>INCTEMENT BY 2
>MAXVALUE 1000;
序列的删除
SQL>DROP SEQUENCE jxzy.sequence_cable
1. 5 索引维护
索引是与表相关的一种结构,它是为了提高数据的检索速度而建立的。因此,为了提高表上的索引速度,可在表上建立一个或多个索引,一个索引可建立在一个或几个列上。
对查询型的表,建立多个索引会大大提高查询速度,对更新型的表,如果索引过多,会增大开销。
索引分唯一索引和非唯一索引
索引的建立
SQL>CREATE INDEX jxzy.idx_switch
>ON switch(switch_name)
>TABLESPACE jxzy;
索引的修改
SQL>ALTER INDEX jxzy.idx_switch
>ON switch(office_num,switch_name)
>TABLESPACE jxzy;
索引的删除
SQL>DROP INDEX jxzy.idx_switch;
1. 6 完整性约束管理
数据库数据的完整性指数据的正确性和相容性。数据完整型检查防止数据库中存在不符合语义的数据。
完整性约束是对表的列定义一组规则说明方法。ORACLE提供如下的完整性约束.
a. NOT NULL 非空
b. UNIQUE 唯一关键字
c. PRIMATY KEY 主键一个表只能有一个,非空
d. FOREIGA KEY 外键
e.CHECK 表的每一行对指定条件必须是true或未知(对于空值)
例如:
某列定义非空约束
SQL>ALTER TABLE office_organization
>MODIFY(desc VARCHAR2(20)
>CONSTRAINT nn_desc NOT NULL)
某列定义唯一关键字
SQL>ALTER TABLE office_organization
>MODIFY(office_name VATCHAR2(20)
>CONSTRAINT uq_officename UNIQUE)
定义主键约束,主键要求非空
SQL>CREATE TABLE switch(swit