当前位置: 首页 > news >正文

Oracle-视图与索引

视图

简介

视图是一种虚表

视图建立在已有表的基础上,视图赖以建立的的这些表成为基表

向视图提供的数据的内容的语句的select 语句,可以将视图理解为存储起来的select 语句

视图向用户提供基表数据的另外一种表现形式

视图的好处

控制数据访问

简化查询

避免重复访问相同的数据

语法

语法: create or replace view 视图名 as 查询语句;

 [with check option]   -- 指出在视图上进行的修改 要符合子查询所指定的条件
                              要求增删改操作的数据必须是select查询所能查到的数据,否则 不允许操作
     
     [with read only]   --  说明 该视图是只读视图, 不能通过视图进行增删改,只能进行查询

示例

-- 查询 姓名,年级名称,电话     用视图
--创建视图
create or replace view view_grade_student
asselect name,stuname,phonefrom student s,grade gwhere s.GID=g.id;-- 查询视图中的数据
select * from  view_grade_student;--  赵丽丽 电话 000 ,  update  	update student set phone='112333' where  stuname='赵丽丽';--  创建视图, 带着 检查  with check optioncreate or replace view view_grade
asselect * from grade where id in (5005,1,5)with check option;   select * from  view_grade;update  view_grade  set name='444' where id=4;   --因为view_grade 中 不存在 id=4的记录,因此 基本不会更新update  view_grade  set name='444' where id=5;   --  因为view_grade 中 存在 id=5的记录,因此会更新,同时 基表 也会更新-- 创建 视图, 带着 只读  with read onlycreate or replace view view_grade
asselect * from grade where id in (5005,1,5)with read only;  --只读update  view_grade  set name='444' where id=5; 	   --无法对只读视图执行 DML 操作  

 

索引

简介

索引: index

用于 加快数据的检索,类似于书籍的索引,不用翻阅整本书找到想要的消息

用户无法看到索引,只用来加速查询

索引是简历在表上的可选对象,
索引的关键在于通过一组排序后的索引键来取代默认的全表扫描的检索方式,
从而提高检索效率


当创建或删除一个索引时不影响基本的表

索引一旦建立,在表上进行DML操作时,oracle 会自动管理索引
,  删除索引后,不会对表产生影响


oracle 创建主键时,会自动在该列上 创建索引

语法 

语法:
   create index 索引名index_
     on  表名 (列名 [desc|asc]); 

示例

create index index_emp_ename
on emp ('ename');  -- 对 emp 的ename 创建索引 

http://www.lryc.cn/news/274322.html

相关文章:

  • 在Linux写自己的第一个程序“hello Linux”
  • 【AI视野·今日Robot 机器人论文速览 第六十八期】Tue, 2 Jan 2024
  • 图像识别快速实现
  • 一文详解动态 Schema
  • Web网页开发-总结笔记2
  • C#的StringBuilder方法
  • 美格智能5G RedCap模组SRM813Q通过广东联通5G创新实验室测试认证
  • MVCC 并发控制原理-源码解析(非常详细)
  • 通过国家网络风险管理方法提供安全的网络环境
  • input中typedate的属性都有那些
  • 将PPT4页并排成1页
  • iPhone 恢复出厂设置后如何恢复数据
  • 欧洲最好的AI大模型:Mistral 7B!(开源、全面超越Llama 2)
  • Python | 诞生、解析器的分类版本及安装
  • vim学习记录
  • bat脚本:将ini文件两行值转json格式
  • scratch绘制小正方形 2023年12月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析
  • 【产品应用】一体化伺服电机在管道检测机器人中的应用
  • Django在urls.py利用函数path()配置路由时传递参数给调用的视图函数的方法
  • Ubuntu20 编译 Android 12源码
  • RFID传感器|识读器CNS-RFID-01/1S在AGV小车|搬运机器人领域的安装与配置方法
  • 用友U8 Cloud smartweb2.RPC.d XML外部实体注入漏洞
  • 220.【2023年华为OD机试真题(C卷)】考勤信息(滑动窗口算法-JavaPythonC++JS实现)
  • 2024最新SLAM实习、秋招面经(百度、华为、小米、蔚来、理想、美团、阿里菜鸟……)
  • Html5实用个人博客留言板模板源码
  • 解码 Elasticsearch 查询 DSL:利用 Elasticsearch 中的 has_child 和 has_parent 查询进行父子文档搜索
  • 架构(1)
  • 第8课 将推流端与播放端合并为一对一音视频聊天功能
  • 如何保障集团下达的政策要求有效落地
  • 霍尔传感器测速测距实验——STM32驱动(课程设计)