1、事务:有一组命令组成的逻辑单元,保证所有操作要么全部成功要么全部失败。
以下情况事务结束:1)显式提交(commit) 2)显式回滚(rollback) 3)ddl语句隐身提交 4)正常结束程序提交 5)非正常结束程序回滚
事务特点:ACID特性
1)原子性 2)一致性 3)隔离性 4)持久性
命令:commit 提交 rollback 回滚 set autocommit on 自动提交(回滚无效)
2、索引:快速访问数据,一个单列最多只能建一个索引
访问数据的方法:全表扫描、通过rowid(行号)、索引
索引分类:1)B树索引:(balance平衡索引)每个节点查询速度一样,默认为b树索引,唯一索引和复合索引同时也是b树索引。
2)唯一索引(unique):索引列没有重复值
3)反向键索引(reverse):反转索引列的数据值。适应建在列值连续增长的列上。不能做范围查询。
4)位图索引(bitmap):适应于列值很少的列上。占用空间小、减少响应时间,不适应频繁更改的表
5)其他索引:组合索引、函数索引
命令: 1)创建索引:create [unique|bitmap] index 索引名 on 表名(列名) [reverse]
2) 重建索引:alter index 索引名 rebulid
3)合并索引:alter index 索引名 coalesce
3、视图:虚拟表不占空间,数据存储在基表中。
语法:create [or replace替换] [force强制] view 视图名 as sql语句 [with check option约束][with read only只读]
force强制创建带错误视图:无论基表是否存在、列是否有效、表是否有权限 sql语句中可以带order by字句
with check option只能插入或更新可以访问的行
对视图的修改只能对一个基表并且不能违反约束不包含聚合函数
作用:保证数据安全性、隐藏数据的复杂性、简化命令、与基表定义的修改隔离、可以灵活的重命名列
物化视图:具有物理存储空间的特殊视图。有两个概念:查询重写和物化视图同步,同步刷新有on commit(基表更改即同步到视图)和on demand(手动)两种方式,刷新方式有complete(完全)、force(默认方式,优先fast)、fast(增量)、never(不刷新)四种
创建物化视图(需要有相应权限):1)创建物化日志:create materialized view log on 表名 with rowid;
2)创建物化视图:create materialized view 视图名 build immediate refresh fast on commit enable query rewrite as sql语句
4、序列: 用来生成连续的整数值的列值,可以升序或降序。
语法:create sequence 序列名 [start with 初始数字][increment by 增长值][maxvalue 最大值][minvalue 最小值]
可以用nextval查询下一个序列值和currval查询当前序列值,伪列的值存储在虚拟表dual中
查询序列:select sequence_name,increment_by from user_sequences
5、同义词:对象的别名,不占用空间
用途:简化sql语句、隐藏对象名称和所有者、为远程对象提供位置透明性、提供对数据库对象的公共访问。
分类:私有同义词、公有同义词
1)私有同义词:只能被当前模式用户访问必须有create [any] synonym权限
creae synonym 同义词名称 for 对象名
2)公有同义词:可以被所有的用户访问,必须有create public synonym权限
create public synonym 同义词名 for 对象名
6、分区表:将一个表分成几部分存储在不同的表空间成为一个个分区。
有点:改善表的查询性能、表更容易管理、便于备份和恢复、提高数据安全性
分区方法:范围(range)、列表(list)、散列(hash)、复合、间隔、虚拟列分区
语法:create table 表名(字段1,字段2,..) patiton by range(分区字段) (partition p1 values less then (值),partition p2 ....)
查询分区表:select from 表名 partition(p1)
命令:
alter user scott account unlock 解除对scott用户的锁定
alter user scott identified by 密码 设置scott用户的密码
grant connect,resource to scott 为scott用户授权
select username,account_status from dba_users 查用户的锁定状态
select object_name,object_type from user_objects 查用户所有对象及类别
select rowid,rownum from dept 查dept表的伪列rowid和rownum,序列中的nextval和currval都是伪列,可查不可修改
select table_name,index_name,column_name from user_ind_columns 查被索引字段
create unique index dept_index on dept(dname) 在dept表中创建dname的唯一索引
create index emp_reserve on emp(empno) reverse; 在emp表中创建empno的反向索引
alter table emp drop constraint pk_emp cascade drop index; 删除主键索引
create view v3 as select
from dept where loc='BOSTON' with check option constratint ycq; 在dept表创建v3视图,并添加约束禁止修改loc列
grant create materialized view,query rewrite,create any table,select any table to scott;授予scott有创建物化视图和任意表的权限
select 序列名.nextval,序列名.currval,user,sysdate from dual 查询下一个和当前序列号及当前用户和系统时间
grant create any synonym to scott; 授予scott用户有创建任意同义词的权限
create synonym e for emp; 为emp表创建私有同义词e
create public synonym a for emp; 为emp表创建公有同义词a
create table student (id int,name char(10)) partition by range (id) (partition p1 value less than ('10'),partition p2 value less than ('20'),partition p3 value less than ('30'),partition p4 value less than (maxvalue)); 创建student表,id小于10的为第一分区表...

转载于:https://blog.51cto.com/13502820/2105325

Oracle事务和常用数据库对象相关推荐

  1. db2主键自增和oracle,oracle_浅析常用数据库的自增字段创建方法汇总,DB2复制代码 代码如下:CREATEnbsp - phpStudy...

    浅析常用数据库的自增字段创建方法汇总 DB2 CREATE   TABLE  T1 ( id  INTEGER   NOT   NULL  GENERATED ALWAYS  AS   IDENTIT ...

  2. mysql常用数据库对象

    复习: (1)DDL :数据定义语言 create ,alter ,drop(2)DQL :数据查询语言 select 单表查询 :select .. from 表名[where] ..[group ...

  3. oracle 事务实现原理,数据库事务的实现原理

    1. 前言 都知道数据库事务有ACID特性(原子性.一致性.隔离型.持久性),本文简单聊一下它们的实现原理. 2. 日志文件 2.1. redo log redo log叫做重做日志,是用来实现事务的 ...

  4. greenplum查询表结构java_Greenplum小把戏 - 几个常用数据库对象大小查询SQL

    1.查询表大小: postgres=# \d List of relations Schema | Name | Type | Owner | Storage --------+----------- ...

  5. Oracle/MSSQL/Mysql 常用数据库的字段类型及大小

    Oracle/MSSQL/Mysql 常用数据库的字段类型及大小 ORACLE的数据类型 常用的数据库字段类型如下:   字段类型   中文说明   限制条件   其它说明   CHAR  固定长度字 ...

  6. 再过五分钟,你就懂Oracle的数据库对象了

    数据库的功能就是组织管理和存储各种数据库对象.数据库中的对象是我们进行数据管理的基本.本篇会回顾一下数据库对象的一些基本知识,让我们更加清晰的了解这些Oracle数据库对象. 1. 表(Table) ...

  7. 简述oracle的主要数据库对象,Oracle数据库数据对象分析

    Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...

  8. Oracle 数据库、实例、表空间、用户、数据库对象

    Oracle是一种数据库管理系统,是一种关系型的数据库管理系统.通常情况了我们称的"数据库",包含了物理数据.数据库管理系统.内存.操作系统进程的组合体,就是指这里所说的数据库管理 ...

  9. Oracle中的数据库对象

    原文地址:https://www.cnblogs.com/linhuide/p/5804878.html 参考地址:http://www.cnblogs.com/lovemoon714/archive ...

最新文章

  1. 好程序员分享24个canvas基础知识小结
  2. python使用fpdf生成各种样式pdf表格数据
  3. My First Blog on cnblogs (现代程序设计 Homework-01)
  4. sklearn中的分类决策树
  5. nginx,tomcat,apache三者分别用来做什么,有何区别
  6. Python 将视频 截取 成图片 附cv2处理教程
  7. Unix——《Unix网络编程》配置unp.h头文件
  8. java httppost 400_java – HTTP状态400 – 必需字符串参数’walletName’不存在
  9. MantisBT安装部署(XAMPP)邮件配置 中文配置
  10. RobotStudio软件:ABB机器人弧焊焊接起始点接触寻位虚拟仿真方法
  11. 三子棋 小游戏 C++
  12. Android去除对话框边距,去除TextView默认内边距
  13. 怎样开好项目启动大会
  14. android拍照保存照片方向,android 拍照的照片方向问题,读取图片EXIF信息
  15. 铁柱学习node.js
  16. matlab solve 解的范围,matlab怎么解方程,如何规定解的范围?
  17. 什么叫组网_组网是什么意思
  18. 史上最全Maven教程(二)
  19. 2011-2020年北京大学数字普惠金融指数(PKU-DFIIC)
  20. [转]Linux 2.6.19.x 内核编译配置选项简介

热门文章

  1. C/C++ VS java
  2. Robotics Research Laboratory
  3. 小程序学习---开启小程序之旅(项目、配置、页面、数据绑定)
  4. mysql 密码重置
  5. Thymeleaf 学习笔记 (5)
  6. php excel类 ,phpExcel使用方法介绍
  7. DotNet 项目开发文档的自动生成和相关工具的使用
  8. 良田高拍仪集成vue项目
  9. Webpack 4.0 打包 Vue 应用时出现无法使用Vue-loader问题及解决方法
  10. Shell中的/dev/null 21 与 21 /dev/null 与/dev/null 的区别