数据库 Oracle数据库对象二
视图
--视图是对表逻辑抽象
--视图的好处:简化查询
--视图是一种虚表
--视图建立在已有表的基础上,视图赖以建立的这些吧称为基表。
--向视图提供数据内容的语句为select语句,可以将视图理解为存储起来的select语句
--视图向用户提供基表数据的另一种表现形式
--基本语法:
create view 视图名称
as
select 子句 eg:
create view v1
as
(
select empno,ename,job,sal,sal*+nvl(comm,) yearsal
from emp
where deptno=
)
--创建视图可能出现权限不足
--赋值权限
.登录管理员-- sqlplus /nolog
.连接系统表-- connect /as sysdba
.授权某用户创建视图权限 -- grant create view to scott;
--视图不能修改只能替换
--替换语法
create or replace view v1
as
(
select empno,ename,job,sal,sal*+nvl(comm,) yearsal
from emp
where deptno=
)
--视图一般只用来查询数据,不用于修改数据
--视图选项
with read only--只读选项(不能插入数据)
with check option--检查select子句的where条件是否满足
序列
--为多个表提供自增字段,一般用来生成主键
--序列一般放在内存中,速度快
序列的属性一nextval返回序列中下一个有效的值,任何用户都可以引用它
序列的属性--currval存放序列的当前值
--创建序列
create sequence 序列名
[increment by n]--每次自增n,默认值是1
[start with n]--从n开始,默认值是1
[{maxvalue n | nominvalue}]--最大值(默认没有最大值)
[{minvalue n | nominvalue}]--最小值(默认没有最小值)
[{cycle | nocycle}]--是否循环,默认不循环
[{cache n | nocache}]--是否放置到内存中
检索序列
首次使用序列必须先使用序列的nextval属性
ed:
create sequence myseq;--创建序列
select myseq.nextval from dual;--必须先访问nextval
select myseq.currval from dual;--再访问currval
--从序列中取nextval的值,产生tableA表的主键
insert into tableA values(myseq.nextval,'aa');
--删除序列
drop sequence myseq;
--多个表使用同一序列可能会造成主键不连续问题(裂缝问题)
索引
.表数据放在表空间,表的数据和该表的索引是单独存储的,删除索引不影响表的数据
.索引会提高查询速度,本质上是通过指针加快oracle服务器的查询速度
--创建索引
--自动创建索引:在定义primary key和unique约束后系统自动在相应列上创建唯一性索引
--手动创建索引:用户可以在其他列上创建非唯一索引,以加速查询
语法:
create index 索引名 on 表名 (colnum1,colnum2,...)
eg:create index myindex on emp (deptno,job);
--删除索引
drop index 索引名
什么时候创建索引
.列中数据值分布范围很广
.列经常在where子句或者连接条件中出现
.表经常被访问,且数据量很大,访问的数据大概占数据总量的2%-%(只经常访问表中的小部分数据)
什么时候不创建索引
.表很小
.列不经常在where子句或者连接条件中出现
.查询数据大于2%-%
.表经常更新
同义词
--相当于给表起一个别名
--创建同义词
create synonym emptemp for emp;
--删除同义词
drop synonym emptemp;
数据库 Oracle数据库对象二的更多相关文章
- spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置
spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...
- 面试题: 数据库 oracle数据库 已看1 意义不大 有用
Oracle数据库面试题总结 2017年04月27日 22:41:44 阅读数:9271 1.SQL语句分类 DQL(数据查询语言)select DML(数据操作语言)insert.delete.up ...
- 数据库 Oracle数据库对象一
常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出的逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询的效率 同义词:给对象起别名 create table语句 --c ...
- 数据库 | Oracle数据库查表空间使用情况
平时在使用Oracle的时候,如果业务中的数据量激增.数据量变大,很有可能就会有表空间不足的情况,需要重点关注.今天我们分享下如何查看表空间的使用情况. 一.如何查看使用状况 我们废话不说,先直接贴上 ...
- 数据库 Oracle数据库性能优化
--在Oacle数据库涉及到全表扫描的SQL查询(top,count)中, --现场用户删除表中大部分数据,只保留1W条数据,但是查询仍然很慢,检查磁盘IO,发现磁盘IO不是很高 --经过分析Oacl ...
- 数据库 oracle数据库基本知识
sqlplus登录 普通用户登录 c:\>sqlplus 请输入用户名:scott 请输入口令: sqlplus scott/ quit退出 管理员登录 sqlplus /nolog 连接数据库 ...
- Oracle数据库的入门之一
Oracle的介绍: Oracle Database,又名Oracle RDBMS,或简称Oracle.是甲骨文公司的一款关系数据库管理系统.它是在数据库领域一直处于领先地位的产品.可以说Oracle ...
- oracle数据库的完整性约束规则详解
CSDN日报20170303--<百亿互金平台救火故事> 程序员2月书讯 社区有奖问答--一起舞动酷炫的iOS动画 基于Spark的分布式深度学习和认知计算 oracle数据库的完 ...
- MySQL数据库和Oracle数据库的区别
Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...
随机推荐
- Python 面向对象编程 继承 和多态
Python 面向对象编程 继承 和多态 一:多继承性 对于java我们熟悉的是一个类只能继承一个父类:但是对于C++ 一个子类可以有多个父亲,同样对于 Python一个类也可以有多个父亲 格式: c ...
- win10 你没有足够的权限执行此操作。
win10 你没有足够的权限执行此操作. CreateTime--2018年4月21日08:21:31 Author:Marydon 鼠标悬浮到windows图标上,右键-->选择:以命令提 ...
- adb--monkey 压力测试工
android压力测试命令monkey详解 http://www.jb51.net/article/48557.htm 作者: 字体:[增加 减小] 类型:转载 这篇文章主要介绍了android mo ...
- 编程算法 - 翻转单词顺序 代码(C)
翻转单词顺序 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 输入一个英文句子, 翻转句子中单词的顺序, 但单词内字符的顺序不变. 首先翻转(r ...
- UML基础——统一建模语言简介
到了21世纪——准确地说是2003年,UML已经获得了业界的认同.在我所见过的专业人员的简历中,75%都声称具备UML的知识.然而,在同绝大多数求职人员面谈之后,可以明显地看出他们并不真正了解UML. ...
- http协议中各个响应状态200_301_404_500等返回值含义快速一览
一.定义 从HTTP的定义可以看出,HTTP协议是互联网上进行数据通信的基础协议,用来交换或传输超文本.超文本是一种结构化的文本,在包含文本的节点之间使用逻辑链接(也叫超链接). 二.概述 HTTP是 ...
- Android 使用Post方式提交数据
在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持. 在HTTP通信中使用最多的就是GET和POS ...
- AngularJS 中的作用域
问题引入 使用 Angular 进行过一段时间的开发后,基本上都会遇到一个这样的坑: 123456789101112 <div ng-controller="TestCtrl" ...
- IOS基于XMPP协议开发--XMPPFramewok框架(二):服务器连接
连接服务器前需准备事项: 1.搭建好XMPP服务器 2.设置服务器地址和端口 [_xmppStream setHostName:@"127.0.0.1"]; [_xmppStrea ...
- 禁止apache显示目录索引 apache禁止列目录
禁止Apache显示目录索引的常见的3种方法. 要实现禁止Apache显示目录索引,只需将Option中的Indexes去掉即可. 禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止 ...