oracle笔记

来源:互联网 发布:steam mac windows 编辑:程序博客网 时间:2024/06/06 01:59

使用Oracle 管理和查询数据笔记

第一章:Oracle 11g 基础入门

Oracle 11g体系结构:

1.进程结构:

用户进程:客户端的请求

服务器进程:与用户进程一一对应,用来响应客户端的请求

后台进程:附加的进程

2.内存结构:

系统全局区(SGA):是共享的,实例与SGA是一一对应的(数据缓冲区;重做日志缓冲区;sql共享池)

程序全局区(PGA):每个服务器进程所对应的缓冲区

不是共享的

3.逻辑结构:

数据块

数据区间

数据段

表空间

数据库

4.物理结构:

物理块

数据文件.dbf

重做日志文件*.log

控制文件*.ctl

5.总体结构:

基本术语:Oracle实例;Oracle数据库;Oracle服务器(一个Oracle数据库对应一个Oracle实例,数据库与实例是一对多的关系)

操作ORACLE数据库的工具

 ORACLE SQL*PLUS 字符界面 ORACLE自带

     sqlplusw.exe windows窗口下的sqlplus

     sqlplus.exe   DOS下的sqlplus           

         

 用户名scott 密码tiger 普通用户

 system    manager   超级用户

 sys  change_on_install  超级用户 比system权限还要大

ORACLE中字段的数据类型

   字符型    char        范围  最大2000个字节 定长

               char(10)   '张三后添空格6个把10个字节补满  '张三      '

                 性别 char(2)   ''

                 

              varchar2    范围  最大4000个字节 变长

                 varchar2(10)  '张三'      在数据库中'张三'

                 

             大对象 字符型大对象 >4000字节 最大4G

               CLOB (Character Large OBject)     

     

   数字     number     范围  10-38次方 到1038次方           

              可以表示小数 也可以表示整数   

             number(4)   最大表示4位整数  -9999 到 9999

             number(5,2)   表示5位有效数字 2位小数的 一个小数  -999.99 到 999.99

                   

             

   日期     date      包含年月日和时分秒  7个字节

   图片     blob      二进制大对象    图像/声音  4G

/*

  事务 transaction

     事务起始于DML语句,终止于commit提交或DDL/DCL语句

     事务终提交还有一种情况是正常断开连接(exit语句)

     rollback 事务回滚

*/

--打开自动提交事务  (默认状态为off)

set autocommit on ;

/*

  视图 view :

  1 建议命名规则:v$_开始

  2 视图可以简化查询

  3 视图查询安全性更高,隐藏不想显示的列

  4 表结构修改后,视图就得修改,增加了维护的难度

  5 可以通过视图更新表数据,但不建议使用

*/

create view v$myview as select name from t10 ;

/*

  序列 sequence :

     序列号,在每次取的时候自动增加(第一次使用是初始值)

     start with number : 从多少开始增长

     increment by number : 每次增长多大

     nomaxvalue : 没有最大值,不限制最在值

     nocycle : 不循环

     cache number : 预先在内存里存放一些sequence , 这样存取速度快.

     nocache: 数据库突然不正常down(shutdown abort)cache中的sequence就会丢失。 所以可以在create sequence的时候用nocache防止这种情况

     

  使用序场所:

  1. insert语句 values

  2. update语句 set

  

*/ 

--创建序列

/*需要有 create sequence 或 create any sequence权限*/

create sequence seq_up1 start with 1 increment by 1 nomaxvalue nocycle  cache 10;

/*

  主键约束/唯一约束 系统会自动建立索引,SYS_开始

  1. 为一个表的列或组合列建立索引后,读取的速度加快

  2. 但写的速度却减慢了,因为插入,修改和删除数据后,还要更新索引

  3. 索引也需要空间,系统要占用大约为表1.2倍的硬盘和内存空间来保存索引,增加了空间负担

  

  索引创建的原则

  1. 在大表上建立索引才有意义

  2. where子句或是连接条件上经常引用的列上建立索引

  3. 索引的层次不要超过4

  

  提高查询效率是以消耗一定的系统资源为代价的,索引不能盲目的建立,这是考验一个dba是否优秀的很重要的指标

  

  索引分类:

  1. 按照数据存储方式,分为B*,反向索引,位图索引

  2. 按照索引列的个数分为,单列索引,复合索引

  3. 按照索引列值的唯一性,分为唯一索引和非唯一索引

  此外还有函数索引,全局索引,分区索引等.

*/

原创粉丝点击