Oracle复习

  • Oracle 12c对系统硬件配置要求中,物理内存建议( )以上。

  • 2gb

  • Oracle 12c数据库服务的启动需要启动( )、( )两种

  • OracleServiceORCL:数据库主服务、OracleOraDB12Home1TNSListener:数据库监听服务

  • oracle10g中的g和coracle12c的c各代表什么意思?

    • g代表网络
    • c代表云计算
  • 请简述一下oracle一般有哪些比较重要的版本?

    • Oracle8:支持面向对象的开发及java工业标准。

      oracle 8i:表示oracle正式向internet上发展,其中i表示internet。

      oracle 9i:oracle8i 是一个过渡版本的数据库,Oracle9i是一个更加完善的数据库版本。

      oracle 10g:其中g表示网格,是业界第一个基于网格计算的关系数据库。

      oracle 11g :是 oracle 10g 的稳定版本。

      oracle 12c: 是2013年oracle最新的数据库版本,其中c代表云计算,同时也支持了大数据的处理能力。

  • 请使用SQL Plus创建一个新表,表名以及字段自己决定

    • create table users(no number(2) primary key,name varchar2(14),sex varchar2(13));
  • 使用( )命令创建新用户,执行该语句的用户必须具有( )权限。

    • create user 、create user
  • ( )是指用户所拥有的所有对象的集合

    • 模式
  • Oracle数据字典由一系列的( )和( )构成,在创建数据库时生成的。

    • 表、视图
  • 数据库与实例是一一对应的,一个数据库对应一个实例

  • 下面属于模式的是:

    • 表、视图、存储过程
  • 请列举创建的表空间的几种类型。

    • · create tablepace qstspace

      datafile’e:\oracle12c\userspace\tbs.dbf’ SIZE 30M;

      · create tablepace qstspace

      datafile’e:\oracle12c\userspace\tbs.dbf’ SIZE 30M

      EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K;

  • 用户是如何分类的。

    • 系统用户
      • 管理员用户
      • 示例方案用户
      • 内置用户
    • 普通用户
  • 关系型数据库的数据结构方面采用( )的形式组织各种类型的数据。

    • 二维表
  • 系统权限的回收使用( )关键字。

  • revoke

  • 请简述数据库的四大特征是什么?

  • 原子性、一致性、隔离性、持久性

  • 请概括说明系统权限和对象权限的主要区别是什么?

    • 系统权限是针对oracle系统操作而言,例如create session,create talbe等;

      对象权限是针对对象操作的,例如:查询select,更新update等;

  • 请概括说明角色的意义是什么?

    • oracle数据库中角色分为系统预定义的角色和用户自定义的角色两类。角色是一类权限的集合,可以先将权限授予角色,然后将角色授予具有相同权限的用户。
  • 数据模型通常由( )、( )和( )三部分组成

  • 数据结构、数据操作、数据约束

  • ( )命令回滚DML语句事务。

  • rollback

  • 以下对INSERT语句,说法错误的是()

    • 在使用INSERT语句执行数据插入时,必须为表中所有列定义数据值
  • 请使用insert into 命令实现数据的批量导入。

    • insert into table_name [(column1[,column2…]) subquery;
  • 怎样使用update命令更新某一个表的多列数据的值,

    请写出示例的sql语句。

    • update employee set comm=200,sal = sal+200 ;
  • Oracle系统是以( )为单位来处理数据,用以保证数据的一致性

    • 事务
  • 根据SQL语言实现功能的不同,Oracle数据库中的SQL语言可以分为( )、( )、( )、事务控制语言、系统控制语言和会话控制语言。

    • 数据定义语言DDL,数据查询语言DQL,数据操纵语言DML
  • 约束保证数据的完整性,事务保证数据的一致性。( )

  • 下面属于事务结束的是

    • 执行COMMIT语句、 执行ROLLBACK语句、 执行一条DDL语句
  • 事务控制包括哪些命令,写出对应的中文和英文

    • 提交事务:commit

      回滚事务:rollback

      设置保存点: savepoint

      回滚到指定保存点: rollback to point_name

  • 数据库并发操作将会带来什么问题?

    • 脏读、不可重复读、幻读
  • ( )函数用于统计记录数。

    • count
  • 对表进行分组使用( )子句。

    • group by
  • HAVING 子句用于分组后对组记录进行筛选。 ( )

  • MIN()和MAX()函数不但可用于数字型数据,而且还可以用于字符型数据和日期型数据。 ( )

  • GROUP BY子句需要写在WHERE子句之后,ORDER BY子句之前。 ( )

  • 外连接与等值连接功能相同,都是用来返回满足连接条件的记录。 ( )

  • 根据子查询在查询语句中的使用位置,子查询是如何进行分类的?

    • 在where子句中使用的子查询

      在having子句中使用的子查询

      在from子句中使用的子查询

      在select子句中使用的子查询

  • intersect和minus的区别是什么?

    • intersect操作符返回两个结果集的交集

      minus操作符返回两个结果集的补集(MINUS语句前面查询有,但MINUS语句后面查询没有的)

  • 请简述 union 与 union all的区别是什么?

    • union操作符返回两个查询结果集的并集,不包括两个结果集重复的部分。

      union all操作符返回两个查询结果集的并集,以及两个结果集的重复部分。

  • 在Oracle数据库中TopN查询通过( )伪列实现。

    • ROWNUM
  • 基于TopN查询相对复杂,Oracle 12c专门提供了( )子句,可以方便地获取指定范围内的查询数据。

    • FETCH
  • ( )是Oracle数据库对象的别名,可以强化对象的安全性。

    • 模式对象
  • Oracle数据库中所有的对象都是模式对象。( )

  • 请简述什么是层次化查询?

  • 层次化查询又称为属性查询,能够将一个表中的数据按照记录之间的联系以树形结构的形式显示出来。

  • 序列有哪两种伪列?分别代表什么意思?

    • 序列有以下两种序列:

      NEXTVAL:返回序列的下一个值;

      CURRVAL:返回序列的当前值,并且只有在发出一个NEXTVAL之后才可以已使用CURRVAL

  • ( )是为了加速对特定对象表数据的访问而创建的数据集。

    • 索引
  • 若索引是通过CREATE INDEX语句创建的,则可以使用( )语句删除该索引。

    • drop index;
  • PL/SQL语句中的变量,使用前不需要提前声明。( )

  • PL/SQL语句块中,通常通过关键字CONSTANT来声明常量。

  • 请简述SQL Plus与PL/SQL的区别。

    • PL/SQL是Oracle对标准sql语言的过程化扩展,是Oracle数据库专用的一种高级程序设计语言;

      SQL Plus是常用的PL/SQL开发工具之一;

  • 请简述数据类型CHAR和VARCHAR的主要区别。

    • char是定长的字符类型,多余的自动用空格补全大小;

      varchar是可变的字符类型;

    • 在PL/SQL中,使用( )语句块实现异常处理,在异常处理之前,首先还需要判断出现的是何种异常。

      • exception
    • 在Oracle中所提供的异常种类很多,为了方便异常处理,可以直接使用( )进行所有异常的捕获。

      • others
    • 用户自定义异常需要使用( )语句进行显示触发,然后再进行异常处理。

      • raise
    • PL/SQL 程序中关于跳转控制的语句是 ( )。

      • goto
    • GOTO语句为无条件转移语句,可以直接转移到指定标号处。( )

    • FOR循环是一种非固定次数的循环结构。( )

    • 请简述PL/SQL中的3种程序控制结构。

      • 选择结构

        if语句和case语句,用于进行条件判断;

        循环结构

        loop循环和for循环

        跳转结构

        指利用goto语句实现程序流程的强制跳转;

    • ORACLE数据库物理结构包括( )。

      • 数据文件、日志文件、控制文件、临时文件
  • ORACLE数据库由三种类型的文件组成:_、_
    • 数据文件、日志文件、控制文件
  • Order by 子句仅对检索数据的显示有影响,并不改变表中行的内部顺序( )。

  • 简述事务的特性及其含义

    • 事务是由一些系列相关的sql语句组成的最小逻辑单元。oracle系统以是事务单位来处理数据,用以保证数据的一致性。对于事务的每一个操作要么全部完成,要么全部不执行。

数据库事务特性

image-20200630201437844

SQL分类

根据SQL语言实现功能的不同,Oracle数据库中的SQL语言可以分为( )、( )、( )、事务控制语言、系统控制语言和会话控制语言。

  • 数据定义语言DDL,数据查询语言DQL,数据操纵语言DML

死锁

当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提
交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态,
此时的现象是这条语句一直在执行,但一直没有执行成功,也没有报错。

用户权限回收

revoke: 回收用户“test02”在scott.emp表上的某些权限

revoke select,insert on scott.emp from test02;

数据库并发操作常见问题

脏读:一个事务对数据的修改在提交之前被其他事务读取

不可重复读:在某个事务读取一次数据后,其他事务修改了这些数据并进行了提交,当该事务重新读取这些数据时会得到与之前不一样的结果。

幻读:同一查询在同一事务中多次进行,由于其他提交事务所做的插入和删除操作,每次返回不同的结果集。

索引使用原则

image-20200630204516502

image-20200630204528768

Truncate与 delete

delete from aa 、truncate table aa

它们都是删除表中的数据,而不能删除表结构,delete 可以删除整个表的数据也可以删除表中某一条或N条满足条件的数据,而truncate只能删除整个表的数据

truncate操作不能回滚、delete操作可以回滚

触发器作用及其分类触发器作用及其分类

完成由数据库的完整性约束难以完成的复杂业务规则的约束,用来监视对数据库的各种操作

根据触发器作用的对象不同,触发器可以分为3类:

DML触发器、替代触发器、系统触发器

根据触发的频率可以分为两类

语句级(statement)触发器、行级(row)触发器

游标

image-20200630210415267

编程1

求部门平均工资

select deptno,avg(sal) from emp group by deptno;

order by 的栏位必须在group by 中有

例如:select name from TABLE group by name ,id order by id asc

函数

image-20200630212855709

在最后加 /

image-20200630213238659

image-20200630213249981

  • 函数的调用

    image-20200630221421913

image-20200630221502239

DML触发器

image-20200630221842384

image-20200630222109284

image-20200630222257462

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值