Oracle-视图,约束
试图:试图是数据库对象之一视图在sql语句中体现的角色与表一致,但它不是一张真是存在的表,只是对应了一个查询语句的结果集
当试图对应的子查询中含有函数或者表达式时,那么必须指定别名
试图根据对应的子查询分为:简单试图,复杂试图,连接试图
简单试图:对应的子查询不含有函数,表达式,去重,分组
复杂试图:不是简单实体的都是复杂试图
连接试图:对应的子查询有多表连接查询,连接试图算作复杂试图
简单试图可以进行DML操作,但是复杂试图不允许进行DML操作。
对试图进行DML操作就是对试图数据来源的基础表进行操作
虽然可以对简单试图进行DML操作,但是DML操作也不能违反基表的约束
是简单试图的不当DML操作会污染基础表数据:对简单试图今次那个DML操作后,视图对基础表做出对应操作,但是影响的数据视图对其不可见时,就是对基础表的数据污染删除不存在数据污染情况
为视图添加检查选项可以避免对基础表产生数据污染,检查选项要求对试图进行DML操作后该记录试图对其可见,否则不允许操作。
对试图添加只读选项后,该试图不允许进行DML操作。
数据字典,数据字典是一系列的表,这些表的数据时由数据库自行维护,记录的时一些清单信息,方便随时查看。
USER_OBJECTS:记录用户创建说有数据库对象
USER_VIEW:记录用户创建的所有试图
USER_TABLES:记录用户创建的所有的表
序列
序列也是数据库对象之一,序列的作用是根据指定的规则生成一系列数字,序列通常是为了某张表的主键字段提供值使用
主键:通常每张表都会有主键字段,该字段的值要求非空且唯一,使用该字段来确定表中的每一条记录使用
序列提供了两个伪列:
nextval:获取序列的下一个数字,第一次获取时返回的时start with 指定的数字,以后则是最后获取的数字加上步长的到的,nextval会导致序列发生步进,且不可回退
CURRVAL:获取序列当前数字,即:最后一次生成的数字,新创建的序列需要至少调用一次nextval以后才可以使用currval不会发生序列的步进.
索引:索引时数据库对象之一,作用是加快查询效率索引的创建与使用时数据库自行完成的,经常出现在where中的字段,或者去重,排序,关联条件的字段可以添加索引
唯一性约束,唯一性约束要求该字段在整张表中每条记录的值都不允许重复,null除外。
主键约束,主键约束要求字段非空且唯一,且一张表只能有一个主键约束。
Oracle-视图,约束的更多相关文章
- Oracle视图分类及各种操作讲解(超级好文)
目录:一.视图的定义: 二.视图的作用: 三.创建视图: 1.权限 2.语法 3.1 创建简单视图 3.2 创建连接视图 3.2.1 连接视图定义 3.2.2 创建连接视图 3.2.3 ...
- Oracle -----视图
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- Oracle视图详解
转载自:http://blog.itpub.net/29785807/viewspace-1270120/ 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本 ...
- oracle视图总结
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- oracle视图总结(转)
视图简介: 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改.视图基于的表称为基表.视图是存储在数据字典里的一条select语句. 通过创建视图可以提取数 ...
- Oracle 视图 (待更新, 缓存)
参考: 视图.索引.存储过程优缺点: http://www.cnblogs.com/SanMaoSpace/p/3147059.html oracle视图总结(转):http://tianwei013 ...
- Oracle视图(和Mysq一样l)
本章内容: Oracle视图介绍与创建.Oracle视图的查询与修改.Oracle的复杂视图 1. Oracle视图介绍与创建 (1)了解常见的数据库对象都有哪些 (2)了解什么是视图以及为什么要使用 ...
- (转)oracle视图详解
Oracle视图详解 一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执 ...
- ORACLE 视图的 with check option
ORACLE 视图的 with check option 我们来看下面的例子: create or replace view testview as select empno,ename from e ...
- ORACLE视图添加备注
ORACLE视图添加备注 版权声明:本文为博主原创文章,未经博主允许不得转载. create or replace view oes_material_series_ref as select t.p ...
随机推荐
- Java变量, 常量和作用域
目录 变量 作用域 局部变量 实例变量 类变量 常量 命名规范 视频课程 变量 变量就是可以变化的量 Java是一种强类型的语言, 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元, 其 ...
- Java - happens-before
Java - happens-before JSR-133对 happens-before 关系的定义如下: 如果一个操作 happens-before 另一个操作,那么第一个操作的执行结果将对第二个 ...
- JAVA - 请说明”static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?
请说明"static"关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法? "static"关键字表明一个成 ...
- 使用JavaCV实现读取视频信息及自动截取封面图
概述 最近在对之前写的一个 Spring Boot 的视频网站项目做功能完善,需要利用 FFmpeg 实现读取视频信息和自动截图的功能,查阅资料后发现网上这部分的内容非常少,于是就有了这篇文章. 视频 ...
- Python3 filter()函数和map()函数
filter(function or None,iterable) 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换. 该接收两个参数,第 ...
- oracle-安装与访问、卸载
安装oracle 官网(http://oracle.com/ )下载oracle -->Oracle Database -->点击接受Accept --> 下载11g(Downloa ...
- Python: list列表的11个内置方法
先来逼逼两句: 在实际开发中,经常需要将一组(不只一个)数据存储起来,以便后边的代码使用.在VBA中有使用数组,可以把多个数据存储到一起,通过数组下标可以访问数组中的每个元素.Python 中没有数组 ...
- JS中通过id或者class获取文本内容
一.JS通过id获取文本内容 二.JS通过class获取文本内容
- NC20565 [SCOI2009]生日礼物
NC20565 [SCOI2009]生日礼物 题目 题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有 \(N\) 个,分为 \(K\) 种.简单的说,可以将彩带考虑为 \(x\) ...
- Systemverilog-- OOP--对象的拷贝
目录 浅拷贝: 定义拷贝函数: 拷贝函数总结: 浅拷贝: Packet p1; Packet p2; p1 = new; p2 = new p1; 在创建p2对象时,将从p1拷贝其成员变量例如 i ...