美文网首页
索引,序列,视图

索引,序列,视图

作者: bigpeng个人博客 | 来源:发表于2018-08-25 15:49 被阅读0次

1、数据库索引
索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果时需要读取的数据量,类似于在书籍中我们利用索引可以不用翻阅整本书即可找到想要的信息。
如果数据表有 PK/Unique 两种约束 , 索引自劢创建 , 除此以外 , 索引必须手劢创建

Create [UNIQUE]  index 索引名 
on 表名 (列名)  
tablespace  表空间
例:
create index INDEX_T_APPLOG_SEQNUM on t_user (userCode)  tablespace CRM_INDEX

2、序列
是oacle提供的用于产生一系列唯一数字的数据库对象。

一般用来创建自增长主键。

语法:
CREATE SEQUENCE sequence  //创建序列名称
[INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
[START WITH n]    //开始的值,递增默认是minvalue 递减是maxvalue
[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中

示例:
Create sequence seq_cdpt
Increment by 1
Start with 1
Maxvalue 999999
Minvalue 1
Nocycle
nocache

3、视图
用以存储一条sql语句(单表或多表)查询结果的虚表。 视图只有逻辑定义。每次使用的时候,只是重新执行SQL。

创建语法:

create [ or replace ] [ force ] view [schema.]view_name
                      [ (column1,column2,...) ]
                      as 
                      select ...
                      [ with check option ]                      [ constraint constraint_name ]
                      [ with read only ];

tips:
 1 or replace: 如果存在同名的视图, 则使用新视图"替代"已有的视图
 2 force: "强制"创建视图,不考虑基表是否存在,也不考虑是否具有使用基表的权限
 3 column1,column2,...:视图的列名, 列名的个数必须与select查询中列的个数相同;   
如果select查询包含函数或表达式, 则必须为其定义列名.  
此时, 既可以用column1, column2指定列名, 也可以在select查询中指定列名.
 4 with check option: 指定对视图执行的dml操作必须满足“视图子查询”的条件即,  
对通过视图进行的增删改操作进行"检查",要求增删改操作的数据,  
 必须是select查询所能查询到的数据,否则不允许操作并返回错误提示.   
默认情况下, 在增删改之前"并不会检查"这些行是否能被select查询检索到. 
 5 with read only:创建的视图只能用于查询数据, 而不能用于更改数据.

创建时报没有权限解决方式

--赋予创建任意视图的权限
grant create any view to xp;

1)优点:

  1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。
  2. 可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。
  3. 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。
  4. 从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。

2)视图占用空间吗?

普通视图不占用空间,固化视图占用空间。

3)视图可以加快查询吗

不能。

相关文章

  • 索引,序列,视图

    1、数据库索引索引是数据库对象之一,用于加快数据的检索,类似于书籍的索引。在数据库中索引可以减少数据库程序查询结果...

  • 视图 序列 索引

    创建一个视图v_emp10,通过该视图只能查看10号部门的员工编号,员工姓名,职位。 创建一个视图,通过该视图可以...

  • 视图、序列、索引

    视图 视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示。视图对应于一个SELECT语句,结果集被賦予...

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

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

  • 视图、序列和索引

    视图 练习1.1 创建一个视图,通过该视图可以查询到工资在2000-5000内并且姓名中包含有A的员工编号,姓名,...

  • 17/12/14 视图and序列、索引

    17/12/14 视图and序列、索引 视图 视图:是一个命名的查询,用于改变基表数据的显示,通过视图能简化查询;...

  • 2018-09-01

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

  • MySQL

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

  • DDL 数据库表定义语言

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

  • NO.47 视图、序列、索引 、 约束

    为方便测试,创建表emp,包含以下信息: 视图VIEW 视图是数据库对象之一,在SQL语句中体现的角色与表一致。但...

网友评论

      本文标题:索引,序列,视图

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