视图、序列、同义词、索引
1、 视图
视图是从一个表或多个表中导出的虚表,它与常规表不同之处在于它并不存储数据—它只是在一个存储的查询中定义.视图同真实表一样,也包含一系列带有名称的列和数据。
视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句.
视图向用户提供基表数据的另一种表现形式
视图分为简单视图还有复杂视图
所谓简单的视图是只引用一个表,并且它只从基础表中检索数据,不允许修改其中的数据;
复杂的视图是引用多个表,视图越复杂、视图内再查询的表达式就越多越复杂.
创建视图的语法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];
注意:在创建视图时应先赋予创建视图的权限,create view或create any view权限
//切换到管理员然后赋予权限
SQL> grant create any view to redarmy;
SQL> grant create view to redarmy;
为什么使用视图?
控制数据访问:提供了一种安全机制,通过视图显示数据时,屏蔽用户不应该知道的数据.
简化查询:select语句构造了一个复杂的查询语句,每次使用必须都得调用它,根据复杂查询的语句创建一个试图,来简化查询。
创建视图时在子查询中给列定义别名
SQL> create view usersview as select username name,password pass from users;
//查询视图
SQL> select * from usersview;
//检索视图的定义
SQL> select * from user_views;
复杂视图:
是通过多个表的连接查询获得的,又称为连接视图
SQL> create view empdept as (select e.*,d.dname,d.loc from emp e inner join dept d on e.deptno=d.deptno);
使用CREATE OR REPLACE VIEW 子句修改视图
SQL> create or replace view usersview as(select * from users);
//创建带有函数,groupby子句的视图
SQL> create or replace view gde as ( select deptno,count(*) cou from emp group by deptno);
//创建连接视图 带有函数 group by子句 order by 子句
SQL> create view gdeo as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno order by e.deptno;
//在上面的基础上带有having子句
SQL> create view gdeoh as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno having count(*)>3 order by e.deptno;
删除视图的操作
Drop view 视图名;
2、 序列
序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。
自动提供唯一的数值
共享对象
主要用于提供主键值
将序列值装入内存可以提高访问效率
创建序列:
1、 要有创建序列的权限 create sequence 或 create any sequence
2、 创建序列的语法
CREATE SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 中存放序列的当前值
NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效
//修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存
alter SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中
修改序列的注意事项:
必须是序列的拥有者或对序列有 ALTER 权限
只有将来的序列值会被改变
改变序列的初始值只能通过删除序列之后重建序列的方法实现
删除序列
使用DROP SEQUENCE 语句删除序列
删除之后,序列不能再次被引用
1、 视图
视图是从一个表或多个表中导出的虚表,它与常规表不同之处在于它并不存储数据—它只是在一个存储的查询中定义.视图同真实表一样,也包含一系列带有名称的列和数据。
视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。
向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句.
视图向用户提供基表数据的另一种表现形式
视图分为简单视图还有复杂视图
所谓简单的视图是只引用一个表,并且它只从基础表中检索数据,不允许修改其中的数据;
复杂的视图是引用多个表,视图越复杂、视图内再查询的表达式就越多越复杂.
创建视图的语法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view
[(alias[, alias]...)]
AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY [CONSTRAINT constraint]];
注意:在创建视图时应先赋予创建视图的权限,create view或create any view权限
//切换到管理员然后赋予权限
SQL> grant create any view to redarmy;
SQL> grant create view to redarmy;
为什么使用视图?
控制数据访问:提供了一种安全机制,通过视图显示数据时,屏蔽用户不应该知道的数据.
简化查询:select语句构造了一个复杂的查询语句,每次使用必须都得调用它,根据复杂查询的语句创建一个试图,来简化查询。
创建视图时在子查询中给列定义别名
SQL> create view usersview as select username name,password pass from users;
//查询视图
SQL> select * from usersview;
//检索视图的定义
SQL> select * from user_views;
复杂视图:
是通过多个表的连接查询获得的,又称为连接视图
SQL> create view empdept as (select e.*,d.dname,d.loc from emp e inner join dept d on e.deptno=d.deptno);
使用CREATE OR REPLACE VIEW 子句修改视图
SQL> create or replace view usersview as(select * from users);
//创建带有函数,groupby子句的视图
SQL> create or replace view gde as ( select deptno,count(*) cou from emp group by deptno);
//创建连接视图 带有函数 group by子句 order by 子句
SQL> create view gdeo as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno order by e.deptno;
//在上面的基础上带有having子句
SQL> create view gdeoh as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno having count(*)>3 order by e.deptno;
删除视图的操作
Drop view 视图名;
2、 序列
序列: 是oacle提供的用于产生一系列唯一数字的数据库对象。
自动提供唯一的数值
共享对象
主要用于提供主键值
将序列值装入内存可以提高访问效率
创建序列:
1、 要有创建序列的权限 create sequence 或 create any sequence
2、 创建序列的语法
CREATE SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 中存放序列的当前值
NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效
//修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存
alter SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中
修改序列的注意事项:
必须是序列的拥有者或对序列有 ALTER 权限
只有将来的序列值会被改变
改变序列的初始值只能通过删除序列之后重建序列的方法实现
删除序列
使用DROP SEQUENCE 语句删除序列
删除之后,序列不能再次被引用
发表评论
-
oracle入门12
2011-04-17 16:37 563存储过程 存储过程是一种命名pl/sql程序块,它可以被 ... -
oracle入门11
2011-04-17 16:37 595游标: 游标(cursor)可以被看作指向结果集(a se ... -
oracle入门10
2011-04-17 16:36 480PL/SQL编程 PL/SQL是oracle的专用语言,它 ... -
oracle入门08
2011-04-17 16:35 594数据完整性 数据库 ... -
oracle入门07
2011-04-17 16:34 569创建与管理表 数据库中对象:有表、视图、索引、序列、同义词 ... -
oracle入门06
2011-04-17 16:33 5541、事务概念: 概念:在数据库中事务是工作的逻辑单元,一个事 ... -
oracle入门05
2011-04-17 16:33 587DML(Data Manipulation Language ... -
oracle入门04
2011-04-17 16:32 548子查询 子查询概念 :当一个查询的结果是 ... -
oracle入门03
2011-04-17 16:31 368分组函数的介绍 分组函 ... -
oracle入门02
2011-04-17 16:31 5211、 oracle端口号修改问题 如果用户要修改oracle ... -
oracle入门01
2011-04-17 16:30 6331、 安装成功后进入DOS ...
相关推荐
Oracle入门体会Oracle入门体会Oracle入门体Oracle入门体会会
Oracle_基本知识介绍 Oracle入门(精华) Oracle入门(精华)
Oracle9.0入门 从实践中学习oracle sql oracle数据库基础
ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程ORACLE 数据库入门 教程
Oracle入门,英文版 Oracle入门,英文版
《Oracle 入门心得》PDF高清电子书 入门心得
教程名称:“Oracle入门很简单”视频教程与源文件(全22集)课程目录:【】Oracle入门很简单-源文件【】Oracle入门很简单【】Oracle入门很简单01-05集【】Oracle入门很简单06-10集【】Oracle入门很简单11-15集【】...
oracle入门
Oracle入门与精通,属于文档,PPT类型,的,主要目的在于Oracle的学习
ORACLE入门心得
Oracle从入门到精通.pdf 很经典的一本书,很适合Oracle学习的初学者; 资源与大家共享啊!
《Oracle入门很简单》的教材PPT 本书带课件。 浅显易懂,零门槛Oracle学习,真的很简单 亲切自然,老鸟带领菜鸟,快速掌握Oracle数据库 15.5小时多媒体语音视频讲解(视频在优酷上有!)
1 Oracle9.0入门_01_基础篇 2 Oracle9.0入门_02_安装9i 3 Oracle9.0入门_03_数据库服务器的管理 4 Oracle9.0入门_04_SQL ...9 Oracle9.0入门_09_PLSQL 10 Oracle9.0入门_11_深入9i核心 11 Oracle9.0入门_12_备份与恢复
Oracle 入门文档 Oracle笔记 一、oracle的安装、sqlplus的使用 Oracle笔记 二、常用dba命令行 Oracle笔记 三、function 、select Oracle笔记 四、增删改、事务 Oracle笔记 五、创建表、约束、视图、索引、序列、...
Oracle入门很简单[张朝明].part2.共2部分,这是第2部分。 本书从初学者的角度出发,由浅入深、循序渐进地介绍了oracle数据库开发的基础知识。书中对数据库基本理论及其在数据库开发过程中的应用也有详细介绍。书中也...
Oracle入门的详细必备教程,手把手交,私聊还有视频!!!
《Oracle从入门到精通》PDF版本下载
30分钟就让你oracle入门PPT,基础训练~~~~~~~~
经证明,最适合: Oracle入门,第一步:Oracle Concepts
oracle 入门知识 解压密码忘了 oracle 入门知识 解压密码忘了