oracle数据库对象

1.view视图

视图view:从一张表或多张表中抽出的逻辑上相关的数据集合
优点:限制数据访问、简化查询、数据独立性、避免重复访问相同的数据
要创建视图首先应该要有权限:【grant create view to 用户名】
* 嵌入子查询创建视图语法:
【create view 视图名v_name
as select * from 表名】
重建:
【create or replace view…】
简单视图:基表数量为1,不包含函数,不包含分组数据,支持DML操作
对简单视图进行DML操作时更改的是基表的数据,不能违反约束
复杂视图:基表数量为1或多,包含函数,包含分组数据,不支持DML操作
* 删除视图:
【drop view 视图名】
删除视图只是删除视图的定义,不影响基表
* 查看视图定义
text列是视图定义,字符类型为long
set long 90000000
【select view_name , text , type_text
from user_views】
扩展:物化视图,与视图不同,是将基表的内容筛选出来并存储了,会占用内存,不会因基表改变而实时改变,

2.sequence序列
  • 序列用途优点:
    生成规律的数值
    自动提供唯一的数值
    共享对象
    主要用于提供主键值
    可代替应用程序生成序号
    将序列缓存到内存中,可以提高访问效率
    序列可被多个表或多个列使用
  • 创建序列:
    【create sequence 序列名seq_name
    increment by 间隔数
    start with 初始值
    maxvalue 最大值/nomaxvalues
    minvalue 最小值/nominvalues(针对的是循环的最小值,如果不设置最小值循环会从1 开始)
    cycle循环/nocycle
    cache 缓存个数/nocache(缓存个数必须少于一个循环里的数值个数)】
  • 序列的伪列
    序列名.nextval:返回下一个可用的序列值
    序列名.currval:返回当前的序列值
  • 序列的使用
    【insert into表名
    values(seq_name.nextval)】
    断号:
    发生回滚(rollback)
    系统崩溃(缓存的数据全部丢失)
    序列用于其它表
  • 修改序列
    必须是序列的拥有者或对序列有alter权限且不能修改初始值
    【alter sequence 序列名
    increment by …】
    删除序列对已使用的序列值无影响
    【drop sequence 序列名】
3.索引index:

提高查询性能,类似于目录
一个列只能有一条索引,一条索引可有多个列
* 索引创建:
自动创建:在定义主键或唯一约束后系统自动再相应的列上创建唯一性索引(复合主键有复合索引,该索引上有两个列)
手动创建:用户在其他列上创建非唯一的索引以加快查询
在一列或多列上创建索引:
【create index 索引名ind_name
on 表名(列名1,列名2)】
一条索引包含rowid和键值列
* B-tree索引,适合用于事务型系统OLTP
事务型:事务小,处理的数据量少,需要很快的处理速度,读一致
对表执行select 操作时,会先到索引里去查询键值列,进而得到rowid确定要输出的行
例如:name sex idcard
b-tree索引——————————————>idcard(选择性高)
在这里插入图片描述
* bitmap位图索引,适合用于分析型系统OLAP
分析型:数据量大,不要求快速度
对位图索引来说,update和delete操作会造成很大的维护代价,需要锁上整张表,因此要小心使用
【create bitmap index 索引名ind_name
on 表名(列名)】
例如:name sex idcard
bitmap索引——————————————>sex(选择性低)
* 函数索引
【create index ind_name
on 表名(avg(sal))】
* 删除索引:
【drop index 索引名】
在这里插入图片描述

4.同义词synonym

给对象起一个别名,方便其他用户访问或缩短名字长度
* 创建同义词
【create synonym 别名 for 原名】
或【create public synonym 别名 for 原名】给其他用户赋权
【grant select on 表名 to 用户】
* 删除同义词
【drop synonym 别名】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值