Oracle数据库对象分析
Posted 任长江
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库对象分析相关的知识,希望对你有一定的参考价值。
一、表:
1、 CREATE:如果想要创建表,需要具备两个条件,首先需要有CREATE TABLE的权限,其次,需要有存储空间;创建表有两种方式:直接通过CREATE TABLE语句,指明表名和列名创建,同时可以通过子查询的方式进行创建。
2、 ALTER:通过ALTER进行的操作一般有一下几种操作:追加新列:修改列:删除列;重命名列:重命名表名;
3、 DELETE、DROP与TRUNCATE:DELETE、DROP和TRUNCTE都有删除效果,但是,它们在实际上是有很大不同的,首先DELETE和TRUNCTE可以将表中数据清空,而DROP是将整个表删除,DELETE可以回滚,DROP可以闪回,而TRUNCTE不可以回滚,因为DELETE不会释放表存储空间,而TRUNCTE释放表存储空间,而对于DROP删除的表,也并没有直接删除,而是进入了相当于一个回收站的地方,通过show recyclebin还可以查询到。
二、视图:
视图是一个虚表,它实际上就是一个存储起来的SELECT语句,并且给这个SELECT语句起了一个别名,这样视图将常用的中间查询结果存放起来就简化了复杂的查询。虽然说视图可以对表进行修改,但是不建议这样做,毕竟在视图中使用DML不容易控制。删除视图不会删除视图的基表(视图建立依赖的表)。
三、序列:
序列主要是为记录产生唯一的数值,因此可以用来提供主键。对于序列的增删改查操作语句分别为:CREATE SEQUENCE、DROP SEQUENCE、ALTER SEQUENCE、SELECT 字段 FROM USER_SEQUENCES。对于序列的使用需要注意:在序列中有两个伪列NEXTVAL和CURRVAL,分别返回序列的下一个和当前值,但是由于指针指向了序列首记录之前,所以NEXTVAL应在CURRVAL之前指定。
四、索引
因为索引时对于于表的,可以存储在与表不同的磁盘和表空间中,因此,索引的删除和损坏不会对表产生影响,但是如果删除表,会同时删除基于表建立的索引。需要注意的是建立索引可以通过指针提高Oracle的查询速度,但是,不一定建立索引就一定可以提高查询速度,一般如果表很小或者经常更新产生索引的列,在这种情况下不建议建立索引。其实我们在定义主键约束和唯一性约束时系统就会自动为该列创建索引,当然我们也可以手动为某一列创建索引。
五、同义词
同义词简单理解就是为对象起一个别名,使用同义词一般有两个目的:方便访问其他用户的对象和缩短对象名字的长度。以上是关于Oracle数据库对象分析的主要内容,如果未能解决你的问题,请参考以下文章