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 ...
随机推荐
- Volcano社区v1.6.0版本正式发布
摘要:Volcano社区v1.6.0版本正式发布.此次版本增加了弹性作业管理.基于真实负载的动态调度. 基于真实负载的重调度.Volcano Job插件--MPI等多个新特性. 本文分享自华为云社区& ...
- 2.NoSQL之Redis配置与优化
一.关系型数据库与非关系数据库 关系型数据库: 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录. sQL语句(标准数据查询语言)就是一种基于关系型数据库的语言, ...
- C语言学习之我见-malloc和free内存申请及释放函数
malloc函数负责向计算机申请确定大小的内存空间. free函数负责释放malloc的申请空间. (1)函数原型 void free(void *_Memory); void * malloc(si ...
- java中的方法重载(overload)
什么时候方法重载:当两个方法的功能是相似的,可以考虑使用方法重载.若两个方法根本没有关系,无必要使用方法重载. 什么时候代码会发生方法重载:三个条件:1,在同一个类中.2,方法名相同.3,参数列表相同 ...
- vue2升级vue3:vue2 vue-i18n 升级到vue3搭配VueI18n v9
项目从vue2 升级vue3,VueI18n需要做适当的调整.主要是Vue I18n v8.x 到Vue I18n v9 or later 的变化,其中初始化: 具体可以参看:https://vue- ...
- HDLBits->Circuits->Arithmetic Circuitd->3-bit binary adder
Verilog实例数组 对于一个定义好的简单module,例如加法器之类,如果我们要对其进行几十次几百次的例化,并且这些例化基本都是相同的形式,那么我们肯定不能一个个的单独对其进行例化,此时我们就可以 ...
- 论文阅读 Exploring Temporal Information for Dynamic Network Embedding
10 Exploring Temporal Information for Dynamic Network Embedding 5 link:https://scholar.google.com.sg ...
- 一文精通HashMap灵魂七问,你学还是不学
如果让你看一篇文章,就可以精通HashMap,成为硬刚才面试官的高手,你学还是不学? 别着急,开始之前不如先尝试回来下面几个问题吧: HashMap的底层结构是什么? 什么时候HashMap中的链表会 ...
- 一个bug肝一周...忍不住提了issue
导航 Socket.IO是什么 Socket.IO的应用场景 为什么选socket.io-client-java 实战案例 参考 本文首发于智客工坊-<socket.io客户端向webserve ...
- 想看,但电脑没网怎么办,python教你保存整本成TXT~
各位大佬好鸭!又是我小熊猫啦咱这次直接上代码 开始之前先解释下: 模块: requests >>> pip install requestsparsel >>> p ...