`

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

 
阅读更多

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

1、 视图

* 视图是从一个表或多个表中导出的虚表,它与常规表不同之处在于它并不存储数据它只是在一个存储的查询中定义.视图同真实表一样,也包含一系列带有名称的列和数据。

* 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。

* 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句.

* 视图向用户提供基表数据的另一种表现形式

视图分为简单视图还有复杂视图

所谓简单的视图是只引用一个表,并且它只从基础表中检索数据,不允许修改其中的数据;

复杂的视图是引用多个表,视图越复杂、视图内再查询的表达式就越多越复杂.

创建视图的语法:

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view

[(alias[, alias]...)]

AS subquery

[WITH CHECK OPTION [CONSTRAINT constraint]]

[WITH READ ONLY [CONSTRAINT constraint]];

注意:在创建视图时应先赋予创建视图的权限,create viewcreate any view权限

//切换到管理员然后赋予权限

SQL> grant create any view to redarmy;

SQL> grant create view to redarmy;

为什么使用视图?

* 控制数据访问:提供了一种安全机制,通过视图显示数据时,屏蔽用户不应该知道的数据.

* 简化查询:select语句构造了一个复杂的查询语句,每次使用必须都得调用它,根据复杂查询的语句创建一个试图,来简化查询。

创建视图时在子查询中给列定义别名

SQL> create view usersview as select username name,password pass from users;

//查询视图

SQL> select * from usersview;

//检索视图的定义

SQL> select * from user_views;

复杂视图:

是通过多个表的连接查询获得的,又称为连接视图

SQL> create view empdept as (select e.*,d.dname,d.loc from emp e inner join dept d on e.deptno=d.deptno);

使用CREATE OR REPLACE VIEW 子句修改视图

SQL> create or replace view usersview as(select * from users);

//创建带有函数,groupby子句的视图

SQL> create or replace view gde as ( select deptno,count(*) cou from emp group by deptno);

//创建连接视图 带有函数 group by子句 order by 子句

SQL> create view gdeo as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno order by e.deptno;

//在上面的基础上带有having子句

SQL> create view gdeoh as select e.deptno,count(*) cou from emp e inner join dept d on e.deptno=d.deptno group by e.deptno having count(*)>3 order by e.deptno;

删除视图的操作

Drop view 视图名;

2、 序列

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

l 自动提供唯一的数值

l 共享对象

l 主要用于提供主键值

l 将序列值装入内存可以提高访问效率

创建序列:

1、 要有创建序列的权限 create sequence create any sequence

2、 创建序列的语法

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}];//分配并存入到内存中

* NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用

* CURRVAL 中存放序列的当前值

* NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效

//修改序列的增量, 最大值, 最小值, 循环选项, 或是否装入内存

alter SEQUENCE sequence //创建序列名称

[INCREMENT BY n] //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

[START WITH n] //开始的值,递增默认是minvalue 递减是maxvalue

[{MAXVALUE n | NOMAXVALUE}] //最大值

[{MINVALUE n | NOMINVALUE}] //最小值

[{CYCLE | NOCYCLE}] //循环/不循环

[{CACHE n | NOCACHE}];//分配并存入到内存中

修改序列的注意事项:

l 必须是序列的拥有者或对序列有 ALTER 权限

l 只有将来的序列值会被改变

l 改变序列的初始值只能通过删除序列之后重建序列的方法实现

删除序列

l 使用DROP SEQUENCE 语句删除序列

l 删除之后,序列不能再次被引用

分享到:
评论

相关推荐

    oracle实验9-10-索引与视图-序列和同义词的创建.doc

    Oracle 实验报告 - 索引、视图、序列和同义词的创建 本实验报告旨在介绍 Oracle 中的索引、视图、序列和同义词的概念和应用。通过实验,掌握创建索引、视图、序列和同义词的命令,并理解它们在数据库中的作用。 一...

    orcle索引_视图序列同义词实验

    ### Oracle索引、视图、序列与同义词实验知识点详解 #### 一、Oracle索引的创建与管理 **1.1 创建普通索引** - **实验目标**:掌握如何在Oracle数据库中为特定列创建索引。 - **实验步骤**:在SCOTT模式下,为`...

    视图同义词序列索引1

    总结起来,视图提供了定制化的数据视图,同义词提供了对象的别名,序列生成唯一标识符,而索引则优化了查询性能。在Oracle数据库管理中,这些概念和操作都是不可或缺的组成部分。正确理解和使用它们,能极大地提升...

    Oracle实验3:视图、序列、同义词和索引.docx

    在Oracle数据库管理中,实验3涉及到了几个关键的数据库对象:视图、序列、同义词和索引。这些元素是构建和管理高效数据库系统的重要组成部分。以下是它们的详细解释和示例: 1. **视图(View)**: 视图是从一个或...

    Oraclei视图序列索引和同义词PPT教案.pptx

    Oraclei视图序列索引和同义词PPT教案.pptx

    6索引视图序列同义词锁数据字典动态视图笔记.sql

    小白必看!

    oracle第13讲使用视图、索引、序列和同义词[定义].pdf

    在第13讲中,我们重点关注了四个核心概念:视图、索引、序列和同义词,这些都是数据库管理和优化的重要工具。 1. 视图(View) 视图是数据库中的一个虚拟表,它是由SQL SELECT语句定义的,基于一个或多个实际表(或...

    Sql_Lab4视图、序列、同义词和索引[借鉴].pdf

    本实验主要涉及四个关键概念:视图、序列、同义词和索引。 **视图**是SQL中的一个重要特性,它允许用户创建一个虚拟的表,这个表的数据来源于一个或多个已存在的表,通过查询语句来定义。视图并不存储实际数据,...

    Sql_Lab4视图、序列、同义词和索引[收集].pdf

    在SQL中,视图、序列、同义词和索引是数据库管理中常见的概念,它们分别用于不同的目的,以提高数据管理和使用的效率。 视图(View)是虚拟表,它根据用户的需求,通过查询实际存在的表来构建。视图中的数据并非...

    oracle 同义词和序列

    本文将详细探讨四个关键概念:索引、视图、同义词和序列。 首先,索引是提升查询性能的关键工具。它们为表的特定列提供额外的数据结构,允许数据库更快地定位和检索数据。创建索引分为两种主要方式:企业管理器和...

    索引序列同义词数据字典PPT学习教案.pptx

    【索引序列同义词数据字典】是一个与数据库管理和优化相关的学习课件,主要讲解了Oracle数据库中的一些关键概念和技术,包括临时表、视图、以及索引的使用。 首先,临时表在Oracle数据库中分为两种类型:事务临时表...

    数据库开发 Oracle数据库 SQL开发教程 第16章 序列、索引、同义词(共34页).pdf

    Oracle数据库的SQL开发教程涵盖了广泛的主题,其中包括序列、索引和同义词这些重要的数据库对象。在本章中,我们将深入探讨这些概念及其在数据库管理中的应用。 **序列(SEQUENCE)**是Oracle数据库中用于生成唯一...

    视图与查询oracle

    本文将详细讲解Oracle中的几个关键概念:视图、索引、同义词和序列,以及它们在查询优化和数据管理中的作用。 首先,我们来谈谈索引。索引是一种特殊的数据库结构,它能够显著提升查询速度。Oracle支持多种类型的...

    sql实验答案

    本次实验旨在通过一系列具体的实践操作加深对SQL数据库原理的理解,主要包括索引、视图、同义词以及序列的管理与运用。实验不仅覆盖了基本概念的学习,还涉及到了实际应用中的具体操作。 #### 实验目标 1. **索引...

    青鸟的数据库中表对象的使用介绍

    【青鸟的数据库中表对象的使用介绍】这篇文章主要涵盖了Oracle数据库中几个关键的表对象:同义词、序列、视图、索引和簇。这些对象是数据库设计和实现的重要组成部分,对于理解和操作数据库至关重要。 同义词是...

    ORACLE主要的系统表和系统视图

    - **DBA_OBJECTS/ALL_OBJECTS/USER_OBJECTS**:提供关于数据库中所有对象的信息,包括表、视图、序列、同义词等。 8. **用户和角色** - **DBA_USERS**:提供关于数据库用户的详细信息,包括用户名、默认表空间、...

    Oracle数据库实验五 .docx

    Oracle数据库实验五主要涵盖了几大核心概念:索引、视图、同义词和序列,这些是数据库管理和优化的关键元素。下面将详细解释这些概念及其应用。 1. 索引: 索引是一种数据结构,它能提高对数据库表中数据的检索速度...

    Oracle数据库系统应用开发实用教程文本 ch5实验报告.doc

    本实验报告针对Oracle数据库中的视图、索引、同义词和序列的创建、管理与使用进行了详细阐述,旨在帮助学习者深入理解和掌握这些核心概念。 首先,我们关注的是视图的创建与管理。视图是数据库中的虚拟表,它根据...

    第10章 其他数据库对象.pdf

    根据提供的信息,我们可以深入探讨《第10章 其他数据库对象》中涉及的关键知识点,主要包括视图、序列、索引以及同义词等数据库对象。 ### 视图 视图是数据库中的一种虚拟表,它实际上并不存储数据,而是通过...

Global site tag (gtag.js) - Google Analytics