📄 李强.txt
字号:
1,给一个表创建视图,该试图不包含约束为not null的列,怎么给该视图插入数据?对于not null约束的列,可以给个常量作为该列的默认值。
create view lq_view --视图
as
select name,sex,loc from lq ;
create trigger lq_lq_view --instead of 触发器
instead of insert
on lq_view
for each row
declare
pi int:=1;
begin
insert into lq values(pi,:new.name,:new.sex,:new.loc);
end;
insert into lq_view values ('lili','男','深圳');
2,创建一个序列
create sequence oopp_xu
increment by 1
start with 10
minvalue 1
order;
3,用scott用户登陆,建一张表,至少包含id,name,sex,date列,插入1000000条数据,为了防止表名重复,建议大家用自己的名字做表名。用练习2创建的序列给该表的id加值,列id为该表的主键
给name列创建B树索引,按该列查询
给sex列创建位图索引,按该列查询
给date列创建函数索引,按该列查询
把查询的结果也写到你的答案里
create table oopp
(id int,name varchar2(20),sex char(2),age number,riqi date);
insert into oopp values(1,'dd','na',23,'17-8月-1982');
insert into oopp values(2,'ddd','nv',23,'15-8月-1982'); --创建表 oopp
declare
i int;
begin
for i in 1..1000000 loop
insert into oopp values (oopp_xu.nextval,'ccv','na',24,'17-8月-1985');
end loop;
end;
create index ind_name on oopp(name);
create bitmap index ind_sex on oopp(sex);
create index funidx_riqi on oopp(to_char(riqi,'dd-mm-yyyy'));
4,根据练习3的三种查询结果,创建三个视图,然后对这三个视图做相应的查询
5,看书的索引那章,把创建索引的要求写下来(如:不同索引的差别,那些列应该创建索引,创建什么索引等等)
单列索引是基于单个列所创建的,复合索引是基于两列或者多列所创建的。
唯一索引是索引列值不重复的索引,非唯一索引是索引列值可以重复的索引。
B树索引可以是单列索引或复合索引、唯一或非唯一索引。
创建位图索引时,ORACLE 会对整个表进行扫描,并为索引列的每个取值建立一个位图。
函数索引既可以采用普通的B树索引,也可以采用位图索引。
在选择该为哪些表创建索引时,如下:
一般不需要为很小的表创建索引。
对于比较大的表来说,如果经常查询的纪录数目小于表中所有纪录数目的15%,则可以考虑为该表建立索引。这个百分比并不是绝对的,他主要取决于进行一次全表的扫描速度。全表扫描的速度越快,这个百分比月低,否则索性就使用全表扫描而不是创建索引。
在选择该为表中的哪些列建立索引时,如下:
应当为大部分列值不重复的列建立索引。
对于取值范围(基数)很大的列(如姓名列),应当创建B树索引;对于取值范围 (基数)很小的列,(如性别),应当创建位图索引。
对于包含很多个NULL值,但是经常需要查询所有非NULL值纪录的列,应当建立索引。同时,为了利用索引,还需要对查询条件进行适当的调整。
对于包含很多NULL值,但是不会经常查询所有NULL值的列,没有必要创建索引。
不能在LONG或BLOB等大对象数据类型的列上创建索引。
对于经常要进行连接(jion)查询的多个表来说,在用于连接的列上创建索引能够显著提高查询速度。
ORACLE会自动为具有PRIMARY KEY 约束和UNIQUE约束的列建立索引,但是却不会自动为POREIGN KEY 列创建索引,所以有时用户需要为连接查询中使用的外键列创建索引。
在选择该为表创建多少个索引时,如下:
用户必须在表的查询速度(索引越多查询越快)和表的更新速度(索引越多更新越慢)之间找到一个合适的平衡点。比如,如果在大部分情况下只需要对表进行只读操作,就可以为它创建更多的索引以提高查询速度;相反,如果在大部分情况下不需要对表进行更新操作,那么应当为它少创建一些索引,一提高更新速度。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -