视图
--视图是对表逻辑抽象
--视图的好处:简化查询
--视图是一种虚表
--视图建立在已有表的基础上,视图赖以建立的这些吧称为基表。
--向视图提供数据内容的语句为select语句,可以将视图理解为存储起来的select语句
--视图向用户提供基表数据的另一种表现形式
--基本语法:
create view 视图名称
as
select 子句eg:create view v1as(select empno,ename,job,sal,sal*12+nvl(comm,0) yearsalfrom empwhere deptno=30)

--创建视图可能出现权限不足
--赋值权限
1.登录管理员-- sqlplus /nolog
2.连接系统表-- connect /as sysdba
3.授权某用户创建视图权限 -- grant create view to scott;

--视图不能修改只能替换
--替换语法create or replace view v1as(select empno,ename,job,sal,sal*12+nvl(comm,0) yearsalfrom empwhere deptno=20)

--视图一般只用来查询数据,不用于修改数据
--视图选项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;
--多个表使用同一序列可能会造成主键不连续问题(裂缝问题)

索引
1.表数据放在表空间,表的数据和该表的索引是单独存储的,删除索引不影响表的数据
2.索引会提高查询速度,本质上是通过指针加快oracle服务器的查询速度

--创建索引
--自动创建索引:在定义primary key和unique约束后系统自动在相应列上创建唯一性索引
--手动创建索引:用户可以在其他列上创建非唯一索引,以加速查询
语法:
create index 索引名 on 表名 (colnum1,colnum2,...)
eg:create index myindex on emp (deptno,job);

--删除索引
drop index 索引名

什么时候创建索引
1.列中数据值分布范围很广
2.列经常在where子句或者连接条件中出现
3.表经常被访问,且数据量很大,访问的数据大概占数据总量的2%-4%(只经常访问表中的小部分数据)

什么时候不创建索引
1.表很小
2.列不经常在where子句或者连接条件中出现
3.查询数据大于2%-4%
4.表经常更新

同义词
--相当于给表起一个别名
--创建同义词
create synonym emptemp for emp;
--删除同义词
drop synonym emptemp;

转载于:https://www.cnblogs.com/zhanggaofeng/p/6270043.html

数据库 Oracle数据库对象二相关推荐

  1. oracle数据库等级,[数据库]Oracle数据库建表并用SQL编程分等级

    [数据库]Oracle数据库建表并用SQL编程分等级 0 2016-06-15 23:00:13 --创建学生表 create table XS_543 ( XH char(6) not null , ...

  2. empinfo Oracle数据库,Oracle数据库中相关技术详细操作

    1.Distinct消除重复行数据:SELECT DISTINCT DEPTNO FROM EMP 2.NULL操作 如果某条记录中有缺少的数据值,就是空值(NULL值).空值不等于0或者空格,空值是 ...

  3. oracle查询并更新数据库,oracle数据库查询和更新

    package sqltest; import java.sql.*; import parameter.BaseCanShu; public class PublicDbOracle { stati ...

  4. 如何启动和关闭oracle数据库,Oracle数据库启动和关闭方式总结

    Oracle数据库启动和关闭的方法很多,下面就为您详细介绍几种常用的Oracle数据库启动和关闭方式,供您参考学习之用. 一.几种Oracle数据库启动方式: 1.startup nomount 非安 ...

  5. 文件管理服务器数据库,Oracle数据库服务器参数文件管理教程

    一.在启动的时候指定参数文件. 在启动数据库的过程中,必须要提供一个准确的初始化参数文件,无论是文本参数文件还是服务器参数文件.在利用Startup命令启动数据库的时候,可以指定其采用的服务器参数文件 ...

  6. linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP

    和相关篇的EXP相对应的用了如下的导入方法. [oracle@localhost ~]$ imp Import: Release 11.2.0.1.0 - Production on Fri Sep ...

  7. oracle数据表丢失数据库,Oracle数据库数据丢失恢复的几种方法总结

    根据oracle数据库的特点和提供的工具,主要方法有以下几种方法: 利用逻辑备份使用import工具丢失数据的表 利用物理备份来通过还原数据文件并进行不完全恢复 利用dbms_logmnr包从redo ...

  8. 如何重装oracle数据库,oracle数据库的重装

    一.卸载 今天准备登录自己的数据库,结果发现出了以下错误,windows环境下的oracle是真的脆弱,我也就不费那劲儿去倒腾了,直接来个重装吧 image.png 第一步:停止所有服务 方法一: 在 ...

  9. delphi导入oracle数据库,Oracle数据库自动备份工具(Delphi源码)

    Oracle数据库自动备份工具(Delphi源码) 下载地址:http://www.blogjava.net/Files/96sd2/OraSvr.rar 『OracleBackupService』简 ...

  10. 安装Oracle数据库(Oracle 数据库的安装和使用指导)

    这里写自定义目录标题 1.数据库安装 下载 二.oracle 数据库安装 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列 ...

最新文章

  1. Android开发--SharedPreferences初步介绍
  2. React 16 Jest单元测试 之 Jest工具
  3. 如何去掉字符串最后的逗号?(亲测)
  4. 前端学习(2637):this
  5. mysql哈希索引 kv_mysql8 参考手册--B树和哈希索引的比较
  6. 5G手机产业链将带动多少A股上市公司?
  7. H264 SPS分析
  8. python:画混淆矩阵
  9. Linux系统彻底卸载MySQL数据库
  10. Docker 基本操作 镜像操作 -- docker镜像命令
  11. 空号检测和手机在网状态查询的区别
  12. 微信小程序中的常用布局方式(总结)
  13. hadoop 下载慢的解决方案
  14. GitHub上的项目受美国出口管制吗?
  15. python输入年份判断生肖_python根据出生年份简单计算生肖的方法
  16. 【MOOC手写体】王文敏教授.《人工智能原理》 第10章 机器学习的任务 Part5 C10.1...
  17. 安超云生态 | 安超云与杉岩数据完成产品互兼容认证 携手打造协同生态
  18. 重装操作系统的20条原则
  19. 4十4十4写成乘法算式_乘法算式怎么写
  20. Nacos百度网盘下载

热门文章

  1. LA 6047 Perfect Matching 字符串哈希
  2. java Statement与preparedStatement的区别
  3. Android ContextCompat 使用详解
  4. Flutter Gzip 编码与解码 Dart Gzip 工具类操作
  5. flutter Toast消息提示框
  6. Javascript如何显示完整的大数加法结果而不是科学计数法形式
  7. Codewars-(RegEx去除html标签)
  8. LeetCode题解-23 合并K个排序链表 Hard
  9. php学习----运算符
  10. Container 布局容器