索引
分为聚集索引,非聚集索引。
1.B-tree 索引
包含唯一索引
	唯一索引与主键的区别:主键是唯一标识一行的,一张表中只能有一个主键,而唯一索引可以有多个。

2.反向索引
反向索引:反转了b*tree索引码中的字节,是索引条目分配更均匀,多用于并行服务器环境下,用于
		  减少索引叶的竞争。
3.降序索引
降序索引:8i中新出现的索引类型,针对逆向排序的查询。

4.位图索引
  位图索引:使用位图来管理与数据行的对应关系,多用于OLAP系统。 适用于列的数值比较少的,比如sex 性别只有男,女。
位图索引主要用于决策支持系统或静态数据,不支持行级锁定。位图索引最好用于低cardinality列(即列的唯一值除以行数为一个很小的值,接近零),例如又一个“性别”列,列值有“Male”,“Female”,“Null”等3种,但一共有300万条记录,那么3/3000000约等于0,这种情况下最适合用位图索引。

5.函数索引
函数索引:这种索引中保存了数据列基于function返回的值,在select * from table where function(column)=value这种类型的语句中起作用。 

-----------------------------------------------------------------------------
触发器
有3种触发器
1.DML触发器(insert ,update ,delete)
从行为上说包括事前触发和事后触发
从触发频率包括行级触发和语句触发
2.instead of 替代触发器 (由于在Oracle里,不能直接对由两个以上的表建立的视图进行操作。所以给出了替代触发器。它就是Oracle专门为进行视图操作的一种处理方法)
3.系统级触发器 (它可以在Oracle数据库系统的事件中进行触发,如Oracle系统的启动与关闭等)

一个触发器的例子,触发器的名字为TriggerTest,是一个事后触发器,tt是表明,当你对该表进行更新时,就执行触发器里的操作。

create or replace trigger TriggerTest
  after update on tt                 --事前触发,将after改成before
  for each row
declare
  -- local variables here
begin
  insert into student values(1,'aa',11);
end TriggerTest;