`

oracle总结(九)

阅读更多
视图、序列、同义词、索引

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 view或create 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提供的用于产生一系列唯一数字的数据库对象。
 自动提供唯一的数值
 共享对象
 主要用于提供主键值
 将序列值装入内存可以提高访问效率
创建序列:
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}];//分配并存入到内存中
修改序列的注意事项:
 必须是序列的拥有者或对序列有 ALTER 权限
 只有将来的序列值会被改变
 改变序列的初始值只能通过删除序列之后重建序列的方法实现
删除序列
 使用DROP SEQUENCE 语句删除序列
 删除之后,序列不能再次被引用



分享到:
评论

相关推荐

    oracle总结oracle总结面试必备

    九、并发控制 Oracle提供了多种并发控制机制,如锁定、多版本并发控制(MVCC)、行级锁定和事务管理。理解这些机制如何工作,以及如何避免死锁和竞态条件,是确保系统稳定性和数据一致性的重要知识。 十、安全性 ...

    大牛总结 Oracle性能优化

    九、实时监控与调优 持续监控数据库性能,使用AWR、ASH(Active Session History)等工具进行性能分析,及时发现和解决问题。 Oracle性能优化是一个持续的过程,需要综合考虑业务需求、硬件资源、数据库设计、SQL...

    Oracle数据库知识点总结 Oracle数据库架构与组件学习攻略

    Oracle数据库知识点总结 章节目录 一、Oracle数据库概述 二、Oracle数据库架构与组件 三、SQL语言基础 四、PL/SQL编程 五、数据库对象管理 六、数据备份与恢复 七、性能优化与安全管理 八、如何学习Oracle数据库 九...

    oracle优化方法总结

    以上就是对Oracle数据库常用优化方法的总结,每一种方法都需要根据实际环境进行细致的分析和实践,才能找到最适合的优化策略。在日常运维中,我们应持续学习和探索,以应对不断变化的业务需求和挑战。

    oracle增删改查及入门及注意事项总结

    #### 九、总结 本文总结了Oracle数据库的一些基本概念和操作技巧,包括环境搭建、表的创建与管理、SQL基础操作、字符集问题以及常见错误的解决方法。对于初学者来说,掌握这些内容将有助于快速上手Oracle数据库,并...

    个人经验总结:Oracle数据库SCN号详解

    ### 个人经验总结:Oracle数据库SCN号详解 #### 一、引言 在Oracle数据库管理与维护过程中,了解SCN(System Change Number)的概念及其作用至关重要。SCN是Oracle数据库内部用于跟踪数据库状态变化的一个重要机制,...

    Oracle调优总结

    Oracle 调优总结 Oracle 调优是数据库管理员和开发人员日常工作中的一个关键部分。只有当数据库的性能达到最佳状态时,才能确保业务的顺利运行。下面总结了 Oracle 调优的一些关键点: 一、了解表结构和索引情况 ...

    oracle九大性能视图

    ### Oracle九大性能视图解析 在Oracle数据库管理与优化的过程中,了解并掌握关键的性能视图对于提升系统性能至关重要。本文将重点介绍Oracle中的九大性能视图及其应用场景,并结合具体的示例来帮助读者更好地理解...

    oracle进阶 工作中最常用的知识点总结

    本资料“Oracle进阶 工作中最常用的知识点总结”深入探讨了Oracle数据库的核心概念和技术,对于想要提升Oracle技能的专业人士来说,是一份极具价值的学习资源。 一、Oracle数据库体系结构 Oracle数据库由多个组件...

    Oracle SQL性能优化技巧大总结

    ### Oracle SQL性能优化技巧大总结 #### 一、选择最有效率的表名顺序 **背景**:在基于规则的优化器(RBO)中,Oracle解析器处理FROM子句中的表名是从右向左的。为了提高查询效率,需要合理安排表的顺序。 **技巧...

    Oracle数据库学习日记-实用性最强的Oracle学习总结.docx

    #### 九、Java操作Oracle **9.1 jdbc.odbc桥连接,不能远程连接** - **用途:** 通过ODBC桥连接到本地Oracle数据库。 - **操作步骤:** 1. 加载ODBC驱动。 2. 获取连接。 **9.2 jdbc.Oracle连接,允许远程连接**...

    oracle非常全和完整的总结文档最新

    本文档“oracle非常全和完整的总结文档”涵盖了Oracle数据库系统的多个核心概念和技术,旨在为读者提供一个全面的学习资源。以下是对文档内容的详细概述: 一、Oracle数据库体系结构 Oracle数据库采用客户端/服务器...

    彻底看懂Oracle License 许可机制 - Oracle购买前必读.docx

    #### 九、总结 Oracle License的复杂性使得企业在选择和购买过程中需要仔细考虑自己的业务需求和技术环境。正确理解和选择合适的License类型不仅能够帮助企业避免潜在的法律风险,还能确保获得Oracle提供的高质量...

    ORACLE数据库学习总结

    ### ORACLE数据库学习总结 #### 一、数据库简介与安装 **1、Oracle与SQL Server比较的优点:** - **跨平台支持:** Oracle支持多种操作系统平台,如Windows、Linux、Unix等,而SQL Server主要支持Windows系统。这...

    Oracle数据库的优化学习总结

    九、内存管理 内存管理涉及SGA的各个组件,如数据缓冲区、重做日志缓冲区和共享池的大小。正确设定这些参数可以减少磁盘I/O,提高数据库响应速度。 十、回滚段优化 回滚段管理事务的撤销信息,其大小和数量应根据...

    Oracle连接字符串

    九、OracleConnection 连接字符串 OracleConnection 连接字符串使用 Oracle 的 Provider,连接字符串格式如下: Data Source=MyOracleDB;Integrated Security=yes 这种连接方式使用 Oracle 的 Provider,指定...

    oracle向达梦数据库迁移

    迁移完成后,总结经验教训,评估迁移过程的效率和效果,为未来的类似项目提供参考。 这个迁移过程涉及到数据库管理、数据处理、编程等多个领域,需要对Oracle和DM8都有深入的理解,才能确保迁移的成功和系统的稳定...

    Oracle 学习与总结.rar

    Oracle的学习与总结涵盖了多个方面,包括基础概念、安装配置、SQL语言、表空间管理、索引、触发器、存储过程、数据库安全、备份恢复、性能优化等关键知识点。 一、基础概念 Oracle数据库的核心概念包括实例...

    Oracle 字符集详解

    Oracle字符集是数据库管理...总结,Oracle字符集是数据库管理的关键部分,理解和正确配置字符集能确保数据的准确性和系统的稳定性。在实际操作中,需根据具体需求选择适当的字符集,并注意字符集变更可能导致的风险。

Global site tag (gtag.js) - Google Analytics