数据库对象:
能够使用create创建的都可以成为数据库对象。
同义词,序列,视图,索引
同义词: synonym
1.对已有的数据表对象起别名
2.为了更方便让其他用户拿到数据表
3.公开同义词:所有用户都能被访问(这些用户必须拥有查询的权限)(pubilc)
4.私有同义词:只有当前用户所创建的才能访问。(private)
语法:
公开同义词:create public synonym 同义词名称 for 表名
私有同义词:create synonym 同义词名称 for 表名
权限:
grant create public synonym from scott;
grant create synonym from scott;
--给予nb这个用户去查询emp表的权限
grant select on scott.emp on nb;
=========================================================================
序列:sequence
1.与伪列rownum类似,区别在于:rownum属于主动创建,而序列属于手动创建,序列会生成一连串有顺序的数字,默认从1开始。
#2.重点:序列结合触发器trigger来实现主键的标识列。
#3.语法:
create sequence 序列名称;
一般语法
create sequence 序列名称
start with 值 ---序列值从哪里开始
increment by 值 ---序列值每次以指定的值进行增长
maxvalue 值 ---最大值
minvalue 值 --最小值
序列中的两个伪列属性:
curral(获取当前序列的值)
select s_demo1.currval from dual;
nextval(获取当前序列的下一个值)
select s_demo1.nextval from dual;
=========================================================================
视图:一张虚拟表,通过sql语句查询的结构进行保存,视图相当于一个容器(方便查看结果)
1.通过视图保存的结果集必须唯一
2.必须保证字段有名字
#关键字:view
#语法:
create view v_视图名称
as
select|update
例一:
create view v_demo1
as
select emp.*,dept.dname from emp inner join dept on emp.deptno = dept.deptno
--视图给予权限
grant create view to scott;
--删除视图
drop view v_demo2;
索引(标识) index
--数据库中一种特定的排布方式 类似课本的目录(方便查找)
--索引的建立:为了提高查询的效率,创建表时,如果该表中设立了主键约束,自动会给这个主键的字段创建一个唯一索引。
语法:
create index 表名
on 表(字段)
--删除索引
drop index v_demo2;