第二章:Oracle数据库应用
一:.Oracle数据库应用知识体系图
二:表空间和用户权限管理
- 表空间:
表空间是数据逻辑结构的一个重要组件,表空间可以存放各种应用对象,如表,索引。而每个表空间由一个或者多个数据文件组成
2.表空间的分类可以分成三类:
永久性表空间 一般保存表,视图,过程和索引等的数据。SYSTEM,SYSAUX,USERS,EXAMPLE,表空间是默认安装的
临时性表空间 只用用于保存系统中短暂 的活动的数据,如排序数据等
撤销表空间 用来帮助回退未提交的事务数据,已提交的数据在这里是不可以恢复的。一般不需要建临时和撤销表空间,除非把他们转移到其他磁盘中以提高性能。 - 表空间的目的:
(1.)对不同用户分配不同的表空间,对不同模式对象分配不同的表空间,方便对用户数据的操作,对模式对象的管理,
(2.)可以将不同数据创建在不同的磁盘中,有利于磁盘管理空间,有利于提高i/o性能,有利于备份和数据恢复等。一般在完成的时候Oracle会自动创建多个表空间,
3.创建表空间语法
(1.)CREATE TABLESPACE NAME
DATAFILE ‘filename’[size integer] [k|m]
[qutoextend [off|on]];
Name:是需要创建的表空间名称
Datafile:指定表空间一个或多个数据,多个数据之间用逗号隔开
Filename:数据文件的路径和名称
Size:指定文件大小,用K指定千字节大小,用M指定兆字节大小
Autoextend:子句用来自动拓宽数据文件和禁用 - 创建一个自动增长的表空间worktbs的SQL语句如下:
Create tablespace worktbs
Datafile ‘D:\oracle\worktbs01.dbf’
Size 10m autoextend on; - 删除表空间:
drop tablespace name
including contents - 创建用户语法如下:
(1.)CREATE USER martin 用户名
Identified by 123456 密码
Default tablespace worktbs 文件名
Temporary tablespace temp;
(2.修改密码)
Alter user martin
Identified by 654321;
三:数据库权限管理
(1.)授予权限语法如下:
Grant 权限|角色 to 用户名;
示例:用户martin授予connect和resource两个角色
Grant connect,resource to martin
(2.)撤销权限语法如下:
Revoke 权限|角色 from 用户名;
撤销两个角色
Revoke connect,resource from martin;
(3.)允许用户查看emp表中的记录
Grant select on scott.emp to martin;
(4.)允许用户更新emp中的记录
Grant update on scott.emp to martin;
依次类推,删除和查询
四:创建序列
(1.)示例:创建序列,从序号10开始,每次增加1,最大为2000,不循环,在增加会报错,缓存30个序列号。
Create sequence seq1
Start with 10
Increment by 1
Maxvalue 2000
Nocycle 10
Cache 30;
(2.)更改序列
Alter sequence [schema.] sequence_name
[increment by integer]
[maxvalue integer|momaxvalue]
[minvalue integer|nominvalue]
[cycle|nocycle]
[cache integer|nocache];
(3.)删除序列:删除seq1
Drop sequence seq1;
(4.)使用序列
Select sys_guid() from dual;
五:同义词用途
私有同义词,和共有同义词
创建私有同义词:
Create sysnonym 同义词名 for 对象名称
创建同义词:sy_emp
Create synonym sy_emp for a_hr.emp
创建共有同义词:
Crate public synonym 名称 for 对象;
Create public synonym public_sy_emp for emp;
删除同义词:
删除私有同义词
Drop synonym 需要删除的名称;
删除共有同义词:
Drop public sysnonym 需要删除的名称
六:索引
(1.)索引分类表
物理分类 逻辑分类
分区或非分区索引 单例或组合索引
B树索引(标准索引) 唯一或非唯一索引
正常或反向建索引 基于函数索引
位图索引
(2.)创建普通索引
Crate index 索引名称 on 索引表名 多索引名称 索引空间
(3.)示例:在salgrade表中,为级别编号grade列创建唯一索引,
Create unique index index_unique_grade on salgrade(grade);
(4.)反向索引示例
在emp表中编号为empno列建反向索引
Create index index_reverse_empno on emp (empno) reverse;
(5.)位图索引优点:
对于大批及时查询,可以减少响应时间
相比其他索引技术,占用空间比较少
即使配置低,也能获得显著的性别
(6.)删除索引:
Drop index 索引名;
(7.)重建索引
Alter index 索引名 rebuild noreverse;
七:分区表
(1.)优点
改善表的查询性能
表更容易管理
便于备份和恢复
提高数据安全性
(符合以下条件可以建成区分表1.数据量大于2G,数据的划分明显)
(2.)分区表的分类
范围分区,列表分区,散列分区,复合分区,间隔分区(优点:分区划分清楚,明细),虚拟化分区。
(3.)创建间隔分区语法:
Alter table 分区表名称 add partition 分区名 ralue less than (maxrelue);