数据库对象&事务提交

数据库对象&事务提交.

数据库对象概述.


  • oracle数据库对象又称模式对象,是Oracle数据库的组成部分,常用create命令进行创建,使用alter命令修改,用drop执行删除操作;
  • 常见的数据库对象有用户、表、视图、索引、函数、存储过程、触发器、序列、同义词等,以及Oracle特有的表空间。

同义词.


何为同义词.

同义词(Synonym)是数据库对象的一个别名,Oracle可以为表、视图、序列、过程、函数、程序包等数据库对象指定一个别名。

同义词分类.

  • 同义词有两种类型:
    私有同义词:又名 “专用同义词”,创建的私有同义词只能由当前用户使用。
    公有同义词:公有同义词可以被所有用户访问,但要先授予其它用户访问该共有同义词的权限。

同义词作用.

  • 简化sql语句;
    隐藏对象的名称和所有者;
    提供对对象的公共访问权限。

私有同义词.

创建私有同义词.

  • 管理员授予普通用户创建私有同义词权限:grant create synonym to 用户名;
    创建语法:create synonym 别名 for 用户名.表名;
    案例演示:给 scott 用户的 emp 表创建一个私有同义词 sb;
create synonym sb for scott.emp

使用私有同义词.

  • 调用私有同义词:select * from 别名;

共有同义词.

创建共有同义词.

  • 管理员授予普通用户创建共有同义词权限:grant create public synonym to 用户名;
  • 创建语法:create public synonym 别名 for 用户名.表名;
  • 案例演示:给 scott 用户的 emp 表创建一个共有同义词 sb;
create public synonym sb for scott.emp;

使用共有同义词.

  • 调用私有同义词:
    同义词拥有者:
    select * from 别名;
    调用其它用户的共有同义词:
    共有同义词拥有者授予调用者权限: grant all on 表名 to 用户名;
grant all on emp to sb;//授予sb用户访问emp表的所有权限;

删除现有同义词.

  • 删除同义词:
    删除私有同义词:drop synonym 用户名.同义词名字;
    删除共有同义词:drop public synonym 用户名.同义词名字;
  • 注意,普通用户在删除共有同义词的时候需要管理员授予其删除共有同义词的权限:grant drop public synonym to 用户名;

序列.


序列概述.

  • 序列是用于生成唯一、连续序号的对象;
  • 序列可以是升序的,也可以是降序的;
  • 使用 create sequence 语句创建序列。

创建序列.

创建指定参数序列.

create sequence se_01     		  --创建序列名
start with 10                     --设定序列从10开始
increment by 10                   --设定每次增长10(序号之间的间隔是10)
maxvalue 2000                     --设定最大序号为2000
minvalue 10;                      --设定最小序号为10

创建默认序列.

create sequence 序列名

  • 默认序列从1开始增长;
  • 默认序列每次增长1;
  • 默认序列无最大值;

使用序列.

单独访问序列.

  • 访问当前序列值:select 用户名.序列名.currval from dual;
  • 访问序列下一个值:select 用户名.序列名.nextval from dual;

结合表访问序列.

结合表访问序列是将序列的值插入到number类型的字段。如:

insert into tb_0323(sid,sname)
values(用户名.序列名.nextval,'张三');

视图.


  • 视图概念:
  1. 视图以经过定制的方式显示来自一个或多个表的数据;
  2. 视图可以视为“虚拟表”或“存储的查询”;
  3. 创建视图所依据的表称为“基表”;
  • 视图优点:
  1. 提供了另外一种级别的表安全性;
  2. 隐藏数据的复杂性;
  3. 简化的用户的SQL命令;
  4. 隔离基表结构的改变(要访问基表必须通过视图来访问);
  5. 通过重命名列,从另一个角度提供数据(其实就是取别名)。
    案例:
  • 结合emp表和dept表来查询出每个员工的名字+岗位+薪水+部门编号+部门名称,并创建视图。
create view v_01
as
select ename,sal,job,a.deptno,dname from emp  a
inner join dept  b
on a.deptno=b.deptno;

调用视图:select * from 视图名;

索引.


  • 概念:索引是数据库对象之一,用于加快数据的检索,类似于书籍的目录。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用目录可以不用翻阅整本书即可找到想要的信息,但是索引会降低增删改的性能。
  • 索引类型:
    唯一索引;unique
    位图索引;
    组合索引;
    基于函数索引;
    反向键索引。
  • 创建索引语法:create 索引类型 index 索引名a on 表名(列名)
唯一索引:create unique index insex_01 on ta_01(sid)

事务提交.


  • 显式提交:使用 commit 命令来提交所有未提交的更新操作就是显示提交。
  • 隐式提交:有些命令,如create、drop、alter、grant、revok等命令,以及退出sqlplus都是隐含commit操作,而无须手动指定commit操作。只要使用这些命令,系统就会提交以前的更新操作,就像使用了commit命令一样。
  • 不嫌弃就点个小手手吧
    不嫌弃就点个小手手吧!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值