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 ...
随机推荐
- 使用C#和MonoGame开发俄罗斯方块游戏
小的时候就看到有同学使用C语言在DOS下做过一款俄罗斯方块的游戏,当时是启用了DOS的图形化模式,感觉也挺有意思.最近上海疫情封控在家,周末也稍微有点空余时间,于是使用Visual Studio 20 ...
- vscode带命令行参数进行调试
vscode带命令行参数进行调试 2.输入代码 { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.mic ...
- mysql外键创建不成功/失效
当前mysql版本:SELECT VERSION();结果为:5.5.40. 在复习mysql外键约束时创建表格:stu与grade,目标:grade的id随着student的id级联更新,且限制删除 ...
- Java_选择结构
if单选择结构 if(布拉尔表达式){ //如果布拉尔表达式为true将执行的语句 } if双选择结构 if(布拉尔表达式){ //如果布拉尔表达式的值为true }else{ //如果布拉尔表达式的 ...
- 树莓派使用Docker部署EdgeX(jakarta版本)
使用Docker部署EdgeX 老师安排我搞边缘计算,搞了很久都没能明白边缘计算是什么,甚至对其兴趣不大,前一阵弄好了lorawan网关,该做网关内部的边缘计算了,发现自己已经慢慢地学了进去,总是想要 ...
- 机器学习-学习笔记(二) --> 模型评估与选择
目录 一.经验误差与过拟合 二.评估方法 模型评估方法 1. 留出法(hold-out) 2. 交叉验证法(cross validation) 3. 自助法(bootstrapping) 调参(par ...
- SpringBoot整合RabbitMQ实战附加死信交换机
前言 使用springboot,实现以下功能,有两个队列1.2,往里面发送消息,如果处理失败发生异常,可以重试3次,重试3次均失败,那么就将消息发送到死信队列进行统一处理,例如记录数据库.报警等 环境 ...
- javaEE-IDEA创建项目-使用Mybatis
新建项目 点Next之后给项目命名 创建如下文件夹以及文件 修改pom.xml, 加入 <dependencies> <!-- junit单元测试 --> <depend ...
- mybatis查询mysql 数据库中 BLOB字段,结果出现乱码
起因 mybatis-plus 通过Mapper 查询数据,映射出来的BLOB字段中的yml数据中文是乱码的 --- DefaultValue: '' Formula: '' HintContent: ...
- ssh-修改ssh服务端口号
在启动selinux的状态下修改ssh的端口号 0.启动selinux setenforce 1 getenforce 1.修改sshd_config的Port为2234 查看2234 ...