重庆思庄Oracle、Redhat认证学习论坛
标题: Oracle基础知识杂谈(3) [打印本页]
作者: sun4tokyo 时间: 2013-2-19 16:50
标题: Oracle基础知识杂谈(3)
视图
1.分类
1)简单视图: 一个表无函数无分组
2)复杂视图: 多个表或则有函数或则有分组
2.如何创建视图?语法
create or replace view v_SALGRADE as
select
"GRADE","LOSAL","HISAL"
from SALGRADE
3.简单视图是可以支持dml操作的?
往视图(表)中插入数据
insert into v_salgrade values(1,1,1);
删除视图(表)中的数据
delete from v_salgrade t where t.rowid='AAAHacAALAAAACKAAF'
4.避免对视图进行dml操作
WITH READ ONLY;
5.删除视图
drop view v_SALGRADE;
6.表和视图的区别和联系
区别
1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,试图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
联系
视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系
序列
1.什么是序列?(对照ppt)
2.如何创建序列?语法
create sequence SEQ_LESSION
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 1000;
3.如何查询序列?
下次值: select seq_lession.nextval from dual;
当前值: select seq_lession.currval from dual;
4.序列的用途?
充当主键(自增长)
insert into salgrade t values(seq_lession.nextval,1,1);
5.什么是裂缝?口诉
造成裂缝的原因
1)回滚
2)系统异常
3)多个表同时使用同一序列
6.在数据字典中查看序列
select * from dba_SEQUENCES where dba_SEQUENCES.sequence_owner='JGRING';
7.如何删除一个序列?
DROP SEQUENCE seq_lession;
索引
1.什么是索引?(结合图书馆借书口述)
2.在索引中存储的是什么?
索引存储的是关键字和真正的数据指针
3.索引的分类
1)逻辑分类
{
a.单一
b.非单一
c.唯一
d.函数
}
2)物理分类
{
B-tree
Bit-map
}
t
t t
T t t t
t 索引项(索引项头、<索引列长度、索引列值>、rowid)
姓名 性别
张三 男
李四 女
王五 男
赵六 未知
男 1<rowid> 0<rowid> 1<rowid>
女 0<rowid> 1<rowid> 0<rowid>
未知 0<rowid> 0<rowid> 1<rowid>
4.如何查询索引?在什么表空间?
select index_name,table_name,tablespace_name,index_type,uniqueness,status
from dba_indexes
where owner='JGRING'
5.如何创建索引?
create INDEX JGRING.LOSAL_INDEX
on JGRING.SALGRADE(LOSAL)
pctfree 25
storage (initial 30k)
tablespace LESSION_INDEX;
6.如何删除索引?
drop index JGRING.LOSAL_INDEX;
同义词(别名 alias)
1.什么是同义词?
2.同义词的好处?隐藏对象信息、别名便于记忆
3.如何创建同义词?
CREATE SYNONYM seq_lession_alias
FOR seq_lession;
欢迎光临 重庆思庄Oracle、Redhat认证学习论坛 (http://bbs.cqsztech.com/) |
Powered by Discuz! X3.2 |