美文网首页
oracle对象

oracle对象

作者: 谢成强 | 来源:发表于2017-10-19 12:01 被阅读0次

回顾

键保留表

举例:

A表:id是主键, name, pid外键 B表:id主键 name

select A.name,B.name from A,B where A.pid=B.id

结论

  1. 多的一方是键保留表

  2. 两张表消笛卡尔积,笛卡尔积主键所在的表是键保留表。

昨日遗留

同义词(了解)

概念

​ 可以理解为近义词;放在Oracle中就是起别名。同义词是基对象的别名,表、视图、物化视图全部可以起别名。

创建语法


create [public] SYNONYM synooym for object;

--synonym表示同义词的名称,object是要创建的对象名称,public是权限范围

案例 :创建一个私有同义词


--不加[public]就代表私有

create synonym owner for t_owners;

--可以用来替代原表对象

select * from owner;

--但是更换用户后无法访问,因为是私有的。如果是公有大家都可以看到。

oracle中varchar是常用varchar2的同义词;可以给同义词再创造同义词

  • 私有同义词:当前用户可以使用,dba权限用户必须使用 用户.同义词 的格式来访问;

  • 公有同义词:其他用户都可以访问。

索引(重点)

索引技术只用于查询!可以提高查询效率,体现在大数据量场景(100W以上,且某字段容易被查询)

索引就是把某一列的值和某一行数据建立映射关系的过程。

通过索引可以快速查找到数据的物理地址rowid;索引是一种特殊的数据,需要占用存储空间。

创建索引

​ 在表的设计阶段创建,后期有需求还可以追加索引。在建表时如果指定了主键,Oracle会自动创建索引,即主键自带索引


--创建索引语法

create index 索引名 on 表名(列名)

​ 在查询建立索引的列名为使用的就是索引。


--插入一百万条数据,SQL/PL语法

begin

for x in 1..1000000

loop

insert into 表名 values(数据);

end loop;

commit;

end;

索引的分类
  1. 唯一索引

--语法 加关键字unique

create unique index 索引名称 on 表名(列名);

--唯一索引时要比普通索引快一些的

  1. 复合索引

基于几列数据建立的索引叫做唯一索引


--语法

create index 索引名 on 表名(列1名,列2名。。。)

--小细节:列名的顺序必须和查询顺序相同

和唯一索引相比,速度稍有降低。

  1. 反向索引(了解)

​ 当字段值本身为连续的值,建立普通索引生成的树是歪的,所以需要把它随机化,即把它的顺寻的2进制倒过来再转为10进制创建索引。


--语法,加关键字reverse

create index 索引名称 on 表名(列名) reverse;

  1. 位图索引(了解)

​ 使用场景:位图索引适合创建在低基数列上位图索引不直接存储 ROWID,而是存储字节位到 ROWID 的映射

​ 优点:减少响应时间,节省空间占用


--语法,关键字bitmap

create bitmap index 索引名称 on 表名(列名);

索引的注意事项

相关文章

  • oracle对象

    回顾 键保留表 : 举例: A表:id是主键, name, pid外键 B表:id主键 name select A...

  • Oracle对象类型

    PL/SQL允许定义一个对象类型,这有助于在Oracle的数据库中设计的面向对象。对象类型可以包装复合类型。 创建...

  • oracle总结

    Oracle1、对象关系型数据库管理系统 ORDBMS美国Oracle公司推出,在中国注册 “甲骨文” 开启服...

  • oracle面向对象写法

  • oracle锁机制控制

    Oracle 多粒度锁机制介绍 根据保护对象的不同,Oracle数据库锁可以分为以下几大类: (1) DML lo...

  • Oracle数据库对象

    数据库对象简介 Oracle 数据库对象又称模式对象。 数据库对象是逻辑结构的集合,最基本的数据库对象是表。 序列...

  • 00_Oracle入门

    Oracle 是一个对象关系型数据库管理系统(ORDBMS)。 Oracle 数据库的主要特点: 1、支持多用户、...

  • Java与Python实现最实际与高效生成数据库高级声明式SQL

    一、简介 1、前言与初衷 由于最近工作一直用Oracle,故对Oracle数据库研究为对象。 根据工作业务需求实际...

  • oracle创建对象为什么需要加表空间和schema

    权限管理 首先需要说一下oracle的权限管理,oracle权限分为系统权限和对象权限:系统权限:操作数据库系统的...

  • 用pl/sql实现oracle数据的导出和导入

    一、PL/SQL工具实现oracle数据导出 1. 数据对象导出工具->导出用户对象,弹出如下界面:选择用户,选择...

网友评论

      本文标题:oracle对象

      本文链接:https://www.haomeiwen.com/subject/fwkuuxtx.html