05-Oracle中的对象(视图,索引,同义词,系列)
本章主要内容:
1.视图管理:视图新增,修改,删除;
2.索引管理:索引目的,创建,修改,删除;
3.同义词管理:同义词的作用,创建,修改,使用及删除;
4.系列管理:系统作用,系列创建、修改、使用及删除;
什么是视图
视图的优点
SQL语句管理视图
创建语句
CREATE VIEW VIEW_NAME AS SELECT * FROM BASE_TABLE
[WITH READ ONLY]
[WITH CHECK OPTION]
使用视图进行操作
select column_list from VIEW_NAME
删除视图
Drop VIEW_NAME
视图举例
CREATE OR REPLACE VIEW V_EMP1ASSELECT * FROM EMP;
SELECT * FROM USER_VIEWS; --查看用户的视图
DESC V_EMP1 --查看视图的结构
INSERT INTO V_EMP (empno,ename,sal) VALUES (51,’HR’, 4000);
往视图插入数据,实际将数据插入到了基表
SELECT * FROM EMP; --查询看一下插入成功没
CREATE OR REPLACE VIEW V_EMP2ASSELECT * FROM EMP WHERE sal>2500;
INSERT INTO V_EMP2 (empno,ename,sal) values(51,’HR’, 2100); --OK
插入也能成功,可以查一下基表,但是查询该视图却看不到数据
SELECT * FROM V_EMP2 --看不到往视图插入的数据,造成错觉
CREATE OR REPLACE VIEW V_EMP2ASSELECT * FROM EMP WHERE sal>2500WITH CHECK OPTION --不符合视图条件的数据不让插
INSERT INTO V_EMP2 (empno,ename,sal) VALUES (52,’HR’, 2100); --失败
CREATE OR REPLACE VIEW V_EMP_DEPTASSELECT empno,ename,sal,d.deptno,d.dname FROM EMP e INNER JOIN DEPT d ON e.deptno = d.deptno;
INSERT INTO V_EMP_DEPT VALUES(‘1005’,’TOM’,3100,’52’, ‘SALES’);
失败,多表连接的视图不让插入和修改CREATE OR REPLACE VIEW V_READ ASSELECT * FROM EMP WITH READ ONLY; --只读的视图,不能插入、修改、删除记录
索引的管理
索引的原理
CREATE INDEX IDX_EMP on EMP (deptno,mgr);
索引的管理
•创建不唯一索引
CREATE INDEX index_name on TABLE_NAME(index_column) TABLESPACE SYSTEM STORAGE ( initial 20 k next 20 k pctincrease 75) pctfree 0 ;
•创建唯一索引
CREATE UNIQUE INDEX idx_emp_ename on EMP(empno) TABLESPACE users STORAGE ( initial 20 k next 20 k pctincrease 75) 、pctfree 0 ;
•创建位图索引
CREATE bitmap INDEX on EMP(sex); --可能的值少,重复多
•删除索引
DROP INDEX index_ename;
索引的管理
User_indexes:存放用户所创建的索引信息
User_ind_columns:存放用户索引的字段信息查询ida表的索引信息
select index_name,column_name,column_position from user_ind_columns where table_name=‘IDA'
同义词管理
同义词用途
序列的管理
语法:CREATE SEQUENCE sequence_name[INCREMENT BY n]
[START WITH n][{MAXVALUE n}][{MINVALUE n}]
[{CYCLE |NOCYCLE}][{CACHE n|NOCACHE}];
INCREMENT BY:指定步长 。
START WITH:指定初始值 。
MAXVALUE:指定序列可生成的最大值。
MINVALUE:指定序列的最小值。CYCLE--配置序列在达到界限值时重复编号NOCYCLE--达到界限值时不重复编号,一直累加,不循环,这是默认值。
CACHE--定义在内存中保留的序列编号块的大小,默认值为20.NOCACHE--强制数据词典对于生成的每个序列编号进行更新,保证在生成的编号中没有空缺,但这样会降低性能.
•创建一个序列
CREATE SEQUENCE myseq INCREMENT BY 1 START WITH 1 MAXVALUE 1.0E28 MINVALUE 1 NOCYCLE CACHE 20NOORDER;CREATE TABLE AA (id number(10,0) not null, aa varchar2(10));
使用序列
insert into AA values(myseq.NEXTVAL, 'first');
insert into AA values(myseq.NEXTVAL, 'second');
SELECT * FROM AA;
SELECT myseq.CURRVAL from dual;
•删除一个序列
•与序列有关的数据字典
本人从事软件项目开发20多年,2005年开始从事Java工程师系列课程的教学工作,录制50多门精品视频课程,包含java基础,jspweb开发,SSH,SSM,SpringBoot,SpringCloud,人工智能,在线支付等众多商业项目,每门课程都包含有项目实战,上课PPT,及完整的源代码下载,有兴趣的朋友可以看看我的在线课堂
讲师课堂链接:https://edu.csdn.net/lecturer/893
05-Oracle中的对象(视图,索引,同义词,系列)相关推荐
- Oracle数据库之对象视图、索引、序列、同义词
Oracle数据库总结: Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表和管理表 Oracle数据库之对象视图.索引.序列.同义词 视图: 语法: create ...
- 【DB笔试面试614】在Oracle中,和视图相关的查询转换有哪些?
♣题目 部分 在Oracle中,和视图相关的查询转换有哪些? ♣答案部分 (一)简单视图合并 1CREATE OR REPLACE VIEW VW_SVM_LHR AS SELECT * FROM S ...
- 9、oracle数据库下的视图和同义词
ORACLE下的视图和同义词 1.视图 视图就是一个查询的结果,可能包含一张表或者多张表的信息,创建视图其目的在于,便于查看表中的信息.视图只是在逻辑上存在. 1.1创建/修改视图 创建视图一定要有C ...
- Oracle其它数据库对象:视图、序列、同义词
SQL> --视图: 由一个或者多个表组成的逻辑表 SQL> -创建一个视图,包含了10,20的员工信息 SQL> --创建一个视图,包含了10,20的员工信息 SQL> ed ...
- Oracle中查询用户表/索引/视图的创建语句
1.查询当前用户下表的创建语句 select dbms_metadata.get_ddl('TABLE','ux_future') from dual; 2.查询其他用户下表的创建语句 select ...
- oracle grant view access,oracle中v$access视图介绍
如果想了解如果杀掉一个正在运行的存储过程,请查询这篇文章: oracle杀掉一个正在运行的数据对象: 外链网址已屏蔽 可以利用此视图的v$session视图配合使用,来杀掉一个正在运行的数据库对象(比 ...
- oracle中or会使索引,为何查询条件中多了 OR 选项,索引就走全扫描?
ORACLE 11204, SOLARIS 如下:原始写法,where 条件中,有 OR 条件,这时,索引 IDX_BD_LOTMASTER_NO 走全索引扫描,导致效率非常低, -bash-3.2$ ...
- oracle中using btree,mysql 索引中的USING BTREE 的意义
索引是在存储引擎中实现的,因此每种存储引擎的索引都不一定完全相同,并且每种存储引擎也不一定支持所有索引类型. 根据存储引擎定义每个表的最大索引数和最大索引长度.所有存储引擎支持每个表至少16个索引,总 ...
- oracle中v$database视图详解
SQL> desc v$database 名称 是否为空? 类型 ----------------- -------- ------------ DBID ...
- Oracle中的视图和同义词
视图 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据.视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表.视图来源于表,所有对视图数据的修改最 ...
最新文章
- 洛谷P1182 数列分段Section II 二分答案
- 《软件技术基础》实验指导 实验五
- rfid6-写成platform驱动
- D-Link登录时密码错误输入三次而无法登录问题的处理
- 魅族16s封胶事件结果:属极个别封胶漏点 双方协商执行一赔二
- 让员工一再上当的5种社会工程骗局
- pat1070. Mooncake (25)
- 数字电路基础知识(二)
- 2020大数据技术体系结构图,你值得拥有
- JAVA学习48_Eclipse错误: 找不到或无法加载主类或项目无法编译10种解决大法!
- ROS moveit cartesian_demo 机械臂笛卡尔空间路径速度限制
- 2021华为鸿蒙发布会直播,2021 华为智能协作春季发布会直播(视频)
- centos系统 yum 安装php-redis扩展
- 急刹车是否踩离合器?别犹豫,踩。
- 三种方式修改 MySQL 数据库名
- Seaborn系列| 绘制相关性热图(仅显示下三角相关性)
- 2021年,我们 CSDN App做了什么?
- WIN10 双显示器设置
- ssm基于BS架构的校园爱心捐赠与物品交换平台的设计与实现毕业设计源码
- cimcoeditv5怎样模拟刀路_cimco edit v5怎么不显示刀具运动轨迹