美文网首页
数据库对象:视图、序列、索引、同义词

数据库对象:视图、序列、索引、同义词

作者: 滴滴滴9527 | 来源:发表于2018-07-28 19:32 被阅读0次

一、视图

1、定义

视图是基于一个或多个表的虚拟表,它本身不包含任何数据,只是一个查询语句的结果.
视图的数据源有3种情况:单一表查询结果、多表查询结果、视图查询结果(很少使用)

CREATE [OR REPLACE]  VIEW  view_name
AS 查询语句

大多数时候使用这种简化的语法就可以了,其它还可以设置视图为只读形式等,设置check option等,不过一般很少用.
注意:在当前用户下创建视图需要 CREATE VIEW 系统权限

2、示例
单表:
CREATE OR REPLACE  VIEW  my_view1
AS select p.pid, p.name, p,price from product p;

多表:
CREATE OR REPLACE  VIEW  my_view2
AS select p.pid, p.name, p,price, c.cid, c.cname
  from product p, category c 
  where p.cid = c.cid;
3、视图进行DML操作的限制

一些复杂的视图是不能进行 DML操作的,例:
1)、具有集合操作符(UNION、UNION ALL、INTERSECT、MINUS)
2)、具有分组函数(MIN、MAX、SUN、AVG、COUNT等)
3)、具有GROUP BY、CONNECT BY、START WITH等子句
4)、具有DISTINCT关键字
5)、具有连接查询
6)、具有ROWNUM伪列

二、序列

1、定义

可供多个用户用来产生唯一数值的数据库对象,主要用来提供主键值.
在MySQL中有自增长auto_increment,而Oracle中没有自增长,但是可以通过建立序列来实现自增长的功能.

大多数时候我们都会通过工具来创建序列,这里介绍PLSQL Developer中创建序列.
name:序列的名称
Min value、Max value:最小值、最大值
Start with:第一个值
Increment by:步长,每次增加几
Cache size:缓存
Cycle :是否循环,因为序列主要用来提供主键,主键不能重复,所以一般是不循环

2、使用

nextval:取得序列下一个值
currval:取得序列当前值,不能单独使用,必须先使用nextval ,再使用currval

insert into product(pid, name)  values(seq_my.nextval , '测试商品');  
select seq_my.nextval, seq_my.nextval from dual;

三、索引

1、定义

索引和书籍目录原理类似,是为了提高数据查询速度的对象
索引表的维护由Oracle自己维护,我们只需要在合适的列上创建索引即可

2、创建示例

1)、单列索引:基于表中单个列建立的索引

create index my_index on product(name);

2)、复合索引:基于表中两个或者多个列的索引

create index my_index on product(name, price);

四、同义词(别名)

1、定义

同义词就是别名,可以为表、字段名建立别名,主要是为了简化书写
在当前用户下创建同义词需要 create synonym 权限

2、语法
create [ public ] synonym 名称 for object;    

public 表示这是一个共有同义词,任何用户都可以使用这个同义词

3、示例
创建:
create public synonym my_p for product;

使用:
select * from my_p;

相关文章

  • MySQL

    数据库对象:表、视图(view)、序列(sequence)、索引(index)、同义词(synonym) DDLd...

  • Oracle学习笔记(六)

    数据库对象:表、视图、索引、序列、同义词、存储过程、存储函数、包头、包体。 存储过程和存储函数是指在数据库中提供所...

  • 数据库对象:视图、序列、索引、同义词

    一、视图 1、定义 视图是基于一个或多个表的虚拟表,它本身不包含任何数据,只是一个查询语句的结果.视图的数据源有3...

  • DDL 数据库表定义语言

    数据库定义语言,用于创建、修改、删除数据库对象,如表、视图、索引、序列等。createalterdroprenam...

  • 2018-09-01

    sequence 序列、synonym同义词、DBLink连接、索引index、view视图、数据建模、PL/SQ...

  • 2018-06-28 第五十三天 oracle

    一、数据库对象 oracle 的数据库对象:表、用户、约束、索引、序列、视图 (一)关于用户的操作 --创建一个新...

  • 视图、序列、索引、同义词

    create view empvie10创建一个视图asselect emopno,ename,jobfrom...

  • Postgresql查看数据库中有哪些序列

    --查看数据库中有哪些序列--r =普通表, i =索引,S =序列,v =视图,m =物化视图, c =复合类型...

  • 创建和维护表

    数据库对象:表,视图,约束,索引,同义词,触发器,存储过程,函数等。 1.创建表 使用子查询语法创建表 2.修改表...

  • 创建和维护表

    数据库对象:表,视图,约束,索引,同义词,触发器,存储过程,函数等。 1.创建表 使用子查询语法创建表 2.修改表...

网友评论

      本文标题:数据库对象:视图、序列、索引、同义词

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