数据库对象

一、Oracle同义词的使用

定义:同义词是现有对象的一个别名

作用:

–简化SQL语句

–隐藏对象的名称和所有者

–提供对对象的公共访问

同义词共有两种类型:

•公有同义词可被所有的数据库用户访问。

•私有同义词只能在其模式内访问,且不能与当前模式的对象同名。

1)、公有同义词的创建:

 create public synonym table_name for user.table_name;

 其中第一个user_table和第二个user_table可以不一样。

2)、删除公有同义词

drop public synonym table_name;

3)、删除私有同义词

drop synonym countrie;

--创建或替换一个私有同义词,hr.countries 去一个别名countrie create or replace synonym countrie for hr.countries;

4)、查看所有同义词

select * from dba_synonyms

二、Oracle序列的使用

定义:

•序列是用于生成唯一、连续序号的对象

•序列可以是升序的,也可以是降序的

•使用CREATE SEQUENCE语句创建序列

访问序列

•通过序列的伪列来访问序列的值

–NEXTVAL 返回序列的下一个值

–CURRVAL 返回序列的当前值

1)、创建序列seq_test最小值为一,从一开始,每次增长一

答:create sequence seq_test;

2)、--使用序列中的两个伪列,获取和生成序列值

select seq_test.nextval from dual; --获取序列下一个值 select seq_test.currval from dual; --获取序列当前值

3)、序列的使用(用在对表的数据添加上)

答:insert into test(id,name) values(seq_test.nextval,'张三三'||seq_test.currval); commit;

4)删除序列

答:drop sequence seq_test;

3、Oracle视图的使用

定义:

•视图以经过定制的方式显示来自一个或多个表的数据

•视图可以视为“虚拟表”或“存储的查询”

•创建视图所依据的表称为“基表”

视图的优点:

–提供了另外一种级别的表安全性

–隐藏的数据的复杂性

–简化的用户的SQL命令

–隔离基表结构的改变

–通过重命名列,从另一个角度提供数据

1)、创建视图

--创建视图view_student ,跟使用表一样,但是不存在真实数据还是存在表中,视图只是存放查询|SQL,当查询视图时候,实际上执行的是保存的sql; create or replace view view_student as select * from student s;

2)、查询视图

跟使用表一样 select * from view_student;

3)、删除视图

drop view 视图名

4、Oracle索引的使用

定义:

•索引是与表相关的一个可选结构

•用以提高 SQL 语句执行的性能

•减少磁盘I/O

•使用 CREATE INDEX 语句创建索引

•在逻辑上和物理上都独立于表的数据

•Oracle 自动维护索引

索引分为五种:唯一索引,组合索引,反向索引,位图索引,基于函数的索引

1)创建标准索引

SQL> CREATE INDEX item_index ON itemfile (itemcode)

TABLESPACE index_tbs;

2)重建索引

SQL> ALTER INDEX item_index REBUILD;

3)删除索引

SQL> DROP INDEX item_index;

4)唯一索引

定义:•唯一索引确保在定义索引的列中没有重复值

•Oracle 自动在表的主键列上创建唯一索引

•使用CREATE UNIQUE INDEX语句创建唯一索引

使用:

CREATE UNIQUE INDEX item_index

ON itemfile (itemcode);

5)反向键索引

定义:

•反向键索引反转索引列键值的每个字节

•通常建立在值是连续增长的列上,使数据均匀地分布在整个索引上

•创建索引时使用REVERSE关键字

6)位图索引

定义:

•位图索引适合创建在低基数列上

•位图索引不直接存储ROWID,而是存储字节位到ROWID的映射

•减少响应时间

•节省空间占用

使用:

CREATE BITMAP INDEX bit_index

ON order_master (orderno);

7)基于函数的索引

定义:

•基于一个或多个列上的函数或表达式创建的索引

•表达式中不能出现聚合函数

•不能在LOB类型的列上创建

•创建时必须具有 QUERY REWRITE 权限

使用:

CREATE INDEX lowercase_idx

ON toys (LOWER(toyname));

> SELECT toyid FROM toys

WHERE LOWER(toyname)='doll';

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值