数据库 Oracle数据库对象二
视图 --视图是对表逻辑抽象 --视图的好处:简化查询 --视图是一种虚表 --视图建立在已有表的基础上,视图赖以建立的这些吧称为基表。 --向视图提供数据内容的语句为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数据库对象二相关推荐
- oracle数据库等级,[数据库]Oracle数据库建表并用SQL编程分等级
[数据库]Oracle数据库建表并用SQL编程分等级 0 2016-06-15 23:00:13 --创建学生表 create table XS_543 ( XH char(6) not null , ...
- empinfo Oracle数据库,Oracle数据库中相关技术详细操作
1.Distinct消除重复行数据:SELECT DISTINCT DEPTNO FROM EMP 2.NULL操作 如果某条记录中有缺少的数据值,就是空值(NULL值).空值不等于0或者空格,空值是 ...
- oracle查询并更新数据库,oracle数据库查询和更新
package sqltest; import java.sql.*; import parameter.BaseCanShu; public class PublicDbOracle { stati ...
- 如何启动和关闭oracle数据库,Oracle数据库启动和关闭方式总结
Oracle数据库启动和关闭的方法很多,下面就为您详细介绍几种常用的Oracle数据库启动和关闭方式,供您参考学习之用. 一.几种Oracle数据库启动方式: 1.startup nomount 非安 ...
- 文件管理服务器数据库,Oracle数据库服务器参数文件管理教程
一.在启动的时候指定参数文件. 在启动数据库的过程中,必须要提供一个准确的初始化参数文件,无论是文本参数文件还是服务器参数文件.在利用Startup命令启动数据库的时候,可以指定其采用的服务器参数文件 ...
- linux下imp导入oracle数据库,Oracle数据库Linux下的导入IMP
和相关篇的EXP相对应的用了如下的导入方法. [oracle@localhost ~]$ imp Import: Release 11.2.0.1.0 - Production on Fri Sep ...
- oracle数据表丢失数据库,Oracle数据库数据丢失恢复的几种方法总结
根据oracle数据库的特点和提供的工具,主要方法有以下几种方法: 利用逻辑备份使用import工具丢失数据的表 利用物理备份来通过还原数据文件并进行不完全恢复 利用dbms_logmnr包从redo ...
- 如何重装oracle数据库,oracle数据库的重装
一.卸载 今天准备登录自己的数据库,结果发现出了以下错误,windows环境下的oracle是真的脆弱,我也就不费那劲儿去倒腾了,直接来个重装吧 image.png 第一步:停止所有服务 方法一: 在 ...
- delphi导入oracle数据库,Oracle数据库自动备份工具(Delphi源码)
Oracle数据库自动备份工具(Delphi源码) 下载地址:http://www.blogjava.net/Files/96sd2/OraSvr.rar 『OracleBackupService』简 ...
- 安装Oracle数据库(Oracle 数据库的安装和使用指导)
这里写自定义目录标题 1.数据库安装 下载 二.oracle 数据库安装 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列 ...
最新文章
- Android开发--SharedPreferences初步介绍
- React 16 Jest单元测试 之 Jest工具
- 如何去掉字符串最后的逗号?(亲测)
- 前端学习(2637):this
- mysql哈希索引 kv_mysql8 参考手册--B树和哈希索引的比较
- 5G手机产业链将带动多少A股上市公司?
- H264 SPS分析
- python:画混淆矩阵
- Linux系统彻底卸载MySQL数据库
- Docker 基本操作 镜像操作 -- docker镜像命令
- 空号检测和手机在网状态查询的区别
- 微信小程序中的常用布局方式(总结)
- hadoop 下载慢的解决方案
- GitHub上的项目受美国出口管制吗?
- python输入年份判断生肖_python根据出生年份简单计算生肖的方法
- 【MOOC手写体】王文敏教授.《人工智能原理》 第10章 机器学习的任务 Part5 C10.1...
- 安超云生态 | 安超云与杉岩数据完成产品互兼容认证 携手打造协同生态
- 重装操作系统的20条原则
- 4十4十4写成乘法算式_乘法算式怎么写
- Nacos百度网盘下载