Oracle 数据库对象

目录

数据库对象

案例

1.序列

2.视图

3.索引


数据库对象


1.能够使用数据定义语言中的create关键来创建的都可以成为数据库对象。
2.Oracle中最基础的数据库对象:表,视图
3.其他:函数,存储过程,触发器,序列,同义词,索引等等。
4.四个数据库对象:同义词,序列,视图,索引

#同义词 synonym
1.对已有的数据表对象起别名。
2.作用:方便其它用户访问
3.同义词:公开同义词    私有同义词
4.公开同义词:所有用户都能被访问(这些用户必须拥有查询的权限)
5.私有同义词:只有当前用户所创建的才能访问。
6.语法
公开同义词:  create public synonym 同义词名称 for 表;
私有同义词:  create  synonym 同义词名称 for 表;

1.2.1 私有同义词
        只能被当前用户访问,而且不能与当前模式的对象相同,就是有的对象有这名字了就不能取了。

    **创建私有同义词
        create sysnonym aa for scott.emp;--aa为名字,可自定义,执行如果出现权限不足错误,可以使用管理员给予权限

    **给予权限:使用sys登录后,手动点击user找到scott用户,点击编辑,给系统权限加:
        create synonym--创建私有同义词
    
    **查看同义词
        select * from aa;--使用同义词得到emp表数据,后期有需求再用,先理解制作方式。

    1.2.2 公有同义词
        由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。
    **创建公有同义词
        create public synonym bb for scott.emp;--会提示权限不足
 

案例

1.序列

 
--创建一个序列
create sequence s_demo1;
 
--认识序列中2个伪列属性
--1.获取当前序列的值 currval
--2.获取当前序列的下一个值 nextval
 
select s_demo1.nextval from dual;
 
select s_demo1.currval from dual;
 
--复制表的结构
create table tb_demo1
as
select empno,ename,sal from emp where 1=0;
 
--查询
select* from tb_demo1;
--创建序列
create sequence s_demo2
start with 100
increment by 2
maxvalue 10000
minvalue 100
--通过nextval为tb_demo1表中的empno属性复制
insert into tb_demo1
values(s_demo2.nextval,'康康',1);
insert into tb_demo1
values(s_demo2.nextval,'康康2',2);
insert into tb_demo1
values(s_demo2.nextval,'康康3',3);
 
select * from tb_demo1;

2.视图

 
#视图:一张虚拟表,通过sql语句查询的结构进行保存,
#视图相当于一个容器,作用:方便查看结果。
#关键字:view
#语法
create view v_视图名称
as
select|update...
#注意2点:(1)通过视图保存的结果集必须唯一(2)必须保证字段有名字
 
create view v_demo1
as
select emp.*,dept.dname from emp inner join dept on emp.deptno = dept.deptno
 
create view v_demo2
as
select max(sal) as "最高工资" from emp;
 
 
select * from v_demo2;
 
drop view v_demo2;

3.索引

-索引 index
--数据库中一种特定的排布方式  类似课本的目录
--索引的建立:为了提高查询的效率,我们创建表,如果该表中设立了主键约束,自动会给这个主键的字段创建一个唯一索引。
 
create index 索引名称
on 表(字段)
 
 
create index i_demo1
on emp(ename)
 
 
select * from emp where ename like 'S%';
 
--删除索引
drop index i_demo1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值