数据库对象(oracle)

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

同义词

synonym 关键词
1.对已有的数据表对象起别名。
2.作用:方便其它用户访问
3.同义词:公开同义词    私有同义词
4.公开同义词:所有用户都能被访问(这些用户必须拥有查询的权限)
5.私有同义词:只有当前用户所创建的才能访问。
6.语法
公开同义词:  create public synonym 同义词名称 for 表;
私有同义词:  create  synonym 同义词名称 for 表;
--需求:给scott用户的emp表创建一个公开同义词,以允许其他用户进行访问。
create public synonym sb for emp;

select * from sb;

select * from xb;
--创建私有同义词
create  synonym sb2 for emp;

序列

sequence关键词
#1.序列:与伪列rownum类似,区别在于:rownum属于自动创建,而序列属于手动创建,序列会生成一连串有顺序的数字,默认从1开始。
#2.重点:序列结合触发器trigger来实现主键的标识列。
#3.语法
create sequence 序列名称;--简单语法
--一般语法
create sequence 序列名称
start with 值--序列值从哪里开始
increment by 值 --序列值每次以指定的值进行增长
maxvalue 值 --最大值
minvalue 值 --最小值

--创建一个序列
create sequence s_demo1;
start with 100  从100开始
increment by 2  每次更新2行
maxvalue 10000  最大值
minvalue 100    最小值

--认识序列中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);

视图

视图:一张虚拟表,通过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;
 

索引

index 关键词
--数据库中一种特定的排布方式  类似课本的目录
--索引的建立:为了提高查询的效率,我们创建表,如果该表中设立了主键约束,自动会给这个主键的字段创建一个唯一索引。

create index 索引名称
on 表(字段)


create index i_demo1
on emp(ename)


select * from emp where ename like 'S%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值