黑马程序员c语言教程:视图 序列 索引概念_黑马程序员c语言教程

2020-02-28 其他范文 下载本文

黑马程序员c语言教程:视图 序列 索引概念由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“黑马程序员c语言教程”。

视图 序列 索引 视图的概念

--创建视图 是一个逻辑概念,本身没有数据,还是来源于表

--视图的优点 简化查询 创建视图

create view empincomeview as select e.empno, e.ename, e.sal, e.sal*12 annalsal, sal*12+nvl(comm, 0)income, d.dname from emp e, dept d where e.deptno = d.deptno;

--查询员工编号 名称 工资 年薪 年收入 部门名称信息

* 第 1 行出现错误: ORA-01031: 权限不足--需要有create view权限

用户管理中 权限管理 需要管理员登录进行授权

C:>sqlplus /as sysdba

SQL> grant create view to scott;创建视图的权限给scott用户 操作视图

SQL> select * from tab;

TNAME TABTYPE CLUSTERID

-----------------------------------------------

DEPT TABLE

TEST2 TABLE

STUDENT TABLE

EMPINCOME TABLE

EMPINCOMEVIEW VIEW select * from empincomeview;

--视图的优点

简化复杂查询(封装 复杂sql语言)限制数据访问 银行系统视图呈现,而且只读视图, 通过存储过程和存储函数来做

通过视图修改表中的数据,不建议,有很多限制

提供数据的相互独立

同样的数据,可以有不同的显示方式

但视图不能提高性能视图的几个注意点

--视图 with check option

create view view1

as

select * from emp where deptno=10

with check option;

insert into view1 values(***,***,...., 10);

insert into view1 values(***,***,...., 20);

--通过视图只能看到10号部门的员工信息,不能插入20号部门员工

--视图with read only;

create or replace view empincomeview2

as

select e.empno, e.ename, e.sal, e.sal*12 annalsal, sal*12+nvl(comm, 0)income, d.dname

from emp e, dept d

where e.deptno = d.deptno

with read only;

--修改视图 视图只能替换,不能修改

--区分复杂视图和简单视图 没有太多实际意义,关键是求解问题--视图操作的限制

结论:一般不通过视图做insert/update/delete操作

视图的目的:就是简化查询的....====================--创建序列

create sequence myseq;序列基本概念 放在内存中速度快

auto_increment

[ 1 , 2, 3, 4......20 ]

tableA 序列的应用

--创建表

create table tableA

(tid number,tname varchar2(40));

--从序列中取nextval,产生tableA的主键值

insert into tableA values(myseq1.nextval, 'aa');

序列的两个属性 NEXTVAL CURRVAL nextval应在currval之前被指定

select myseq.currval from dual;

SQL> select myseq.currval from dual;

select myseq.currval from dual

*

第 1 行出现错误:

ORA-08002: 序列 MYSEQ.CURRVAL 尚未在此会话中定义

select myseq.nextval from dual

select myseq.currval from dual 删除序列

--drop sequence myseq;序列需要注意的问题

多个表共用一个序列,造成序列不连续

回滚会造成,造成序列不连续

系统异常,内存序列丢失,造成序列不连续

================== 有关索引小专题 0 索引原始知识

索引和表 是 单独存放

索引对dba和开发人员,使用起来是透明的,只要创建索引 索引基本原理 图示 10号 20号部门

表记录

索引表

算法

--------▲

b+树--------★

--------▲

--------`(*∩_∩*)′

--------▲

--------★

--------▲

`(*∩_∩*)′

--------`(*∩_∩*)′

`(*∩_∩*)′建立索引

create index myindex on emp(deptno);create index myindex2 on emp(deptno, job);索引说明

主键本身就是索引

唯一约束也是自动索引

=========

同义词

create synonym em for emp;

管理给scott用户查询权限

ALTER USER “HR” ACCOUNT UNLOCK GRANT SELECT ON “HR”.“EMPLOYEES” TO “SCOTT”

select * from hr.employees;SQL> select count(*)from hr.employees;

为hr.employees创建一个别名

create synonym hremp for hr.employees;* 第 1 行出现错误: ORA-01031: 权限不足

---dba管理员分配权限

grant create synonym to scott;GRANT CREATE ANY SYNONYM TO “SCOTT” select count(*)from hremp;

图像界面熟悉 PK 命令行工具

《黑马程序员c语言教程:视图 序列 索引概念.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
黑马程序员c语言教程:视图 序列 索引概念
点击下载文档
相关专题 黑马程序员c语言教程 视图 序列 黑马 黑马程序员c语言教程 视图 序列 黑马
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文