Oracle数据库期末复习知识点整理
- 格式:docx
- 大小:35.38 KB
- 文档页数:18
第一章1.简要说明例程与数据库之间的联系和区别?ORACLE数据库是安装在磁盘上的ORACLE数据库文件和相关的数据库管理系统的集合。
磁盘上比较重要的文件包括数据文件,控制文件,重做日志文件,初始化参数文件,口令文件,归档重做日志文件。
例程是由在内从中的一组后台进程和内存结构组成。
2.说明数据库、表空间和数据文件之间的关系?ORACLE数据库的逻辑结构和物理结构的对应关系,一个ORACLE数据库可以拥有多个表空间,每个表空间有多个段组成,每个段由若干个区间组成,每个区间包含多个ORACLE 数据块,每个ORACLE数据块包含多个OS屋里磁盘快。
表空间有多个物理文件支持,具体存储表空间中的个对象。
3.比较表和视图二者间的异同?视图中没有数据,仅仅是一条SQL语句,查询语句检索出来的数据以表的形式表示;视图的定义存储在数据字典中,视图的查询基于表;视图没有直接的相关物理数据,不能像表那样被索引。
第二章1.写出以scott用户登录到数据库orcl,然后查看该用户可以访问的表,视图的相关命令?CONN scott/tiger@orclSELECT * FROM tab;2.设置查询结果的显示格式:每页24行,每行100个字符,SAL列的显示格式为¥99.990.0. SET PAGESIZE 24SET LINESIZE 100COLUMN sal FORMAT $99,990.00第三章1.写出查看某个用户说有用的角色的SQL语句。
CONN stu01/stu01pwd@orclCOLUMN USERNAME FORMAT A10SELECT username,granted_role FROM user_role_privs;2.写出查询当前用户将哪些表的访问权限授予给其他用户的SQL语句。
CONN scott/tiger@orclCOLUMN GRANTEE FORMAT A10SELECT grantee,table_name,grantor,privilege,grantableFROM user_tab_privs_made;3.以系统管理员的身份登录,在SQL*plus中查询各用户获得的系统特权和角色。
Oracle数据库结构:扬理结构、内存结构、逻辑结构3.ORACLE数据库物理结构包括哪几类文件,主要作用参数文件、控制文件(CTL)、日志文件(LOG)、数据丈件(DBF)参数文件:1)实例和数据库的配置参数表。
设置内存中的SGA (系统全局区)大小、指定数据库控制文件名称及路径,定艾各种操作参数等。
2)将初始化参数永久保存在服务器磁盘上。
3)!4)只在建立数据库或启动实例吋才被访问。
5)是一个可编辑的殳本文件,在修改该文件之前必须关闭实例。
控制文件:1)至少有一个控制文件,建议两个或两个以上2)通过控制文件保持数据库完整性以及决定恢复数扌居时使用哪些重做日志。
数据库名称及唯一标识数据库的创建时间数据丈件的名称、位置及大小J重做日志文件的名称.位置及大小表空间名称检查点信息、日志序列号等数据库恢复所需的同步信息。
数据文件:用于存放所有的数据库数扌居.如表、索引等。
1)一个数据文件只与一个数据库相联系;数据丈件大小是动态可以改变的;数据文件结合在一起形成表空间。
2)有两种类型的数据:用户数扌居和系统数損3)用户数据:用于应用软件的数据,带有应用软件的所有信息。
是用户存放在数据库中的信息。
4)系统数据:用来管理用户数扌居和Oracle数据库本身的数据。
※日志文件:※重做日志文件:用于记录数抿库的修改操作,可用于数扌居库的恢复。
两个或两个以上日志文件,用于镜像。
£件的配置和大小会影响性能,重做日志与数据文件分开存放。
莹做日志文件组以循环方式进行写操作。
ARCHIVELOG (归档)当所有日志组都写满之后,又回到第一组之前,该组中原有数据写入归档日志,存入磁盘。
备份吋必选。
可自动归档重做日志文件。
是非活动重做日志的备份。
]数据库只有处于ArchiveLog模式时才会生成归档日志,并且每次日志切换都会生成归档日志。
执行介质恢复(例如数据文件意外去失),則必须要用到归档日志。
N0ARCHIVEL0G (非归档)通常默认都为非归档模式。
1 oracle服务器由( oracle实例)和oracle数据库组成;2 下面哪个不是必需的后台进程(D)A SMONB LGWRC CKPTD ARCO3 用户进行增、删、改commit后,该记录存储的位置(备注:没有switch logfile)(A)A 联机日志文档B 归档日志文件C 数据文件D 联机日志文件和归档日志文件4 当oracle创建一个服务器进程的同时要为该服务器进程分配一个内存区,该内存区称为(程序全局区)5 简单阐述以下三种文件里面包含的内容?(控制文件、重做日志文件、数据文件)。
控制文件:包含维护和校验数据库一致性所需的信息重做日志文件:包含当系统崩溃后进行恢复所需记录的变化信息数据文件:包含数据库中真正的数据(以上答案仅供参考)6 以下说法错误的是(C)A PGA是一个私有的内存区,不能共享,且只属于一个进程B oracle实例是一种访问数据库的机制,它由内存结构和一些后台进程组成C oracle数据库物理存储结构是由控制文件,归档日志文件,数据文件三部分组成D 数据未被写到数据文件中,这些数据缓冲区被标为脏缓冲区7 获取参数SGA_MAX_SIZE需要利用的数据字典是( v$parameter )8 如果没有正常退出Oracle得情况下重新启动了所用的PC,由(B)负责它的清理工作A SMONB PMONC DBWRD LGWR9以下什么文件能确保Oracle系统在遇到数据文件丢失或损坏后可以完全恢复数据库中的数据?(C)A 联机日志文件B 数据文件C 归档日志文件D 控制文件10以下show parameter ( db_block_size)可以查看数据库块大小.11以下哪条命令可以显示emp表的表结构(D)A show empB select * from emp 查询表内容C show parameter v$empD desc emp显示表结构12使用任何方法创建一个数据库,Oracle都会自动创建两个超级用户system和(sys),它们也被称为数据库管理员用户13 SQL*Plus作为sysdba连接数据库的命令是:(conn / as sysdba)14请简单描述OEM(Oracle企业管理器)是什么OEM是一个功能强大而且操作简单的图形化数据库管理员工具。
复习题一、填空题:1. Oracle EnterpriseManager是一个基于 B/S的框架系统。
2.Oracle数据库的存储结构分为物理结构和逻辑结构。
3.在游标或者游标变量打开后还没有进行第一次提取时,%found属性为null。
4. 在oracle中已commit或rollback作为上一个事务的结束标志及下一个新事物开始的标志。
5. DML表示数据操作语言,主要的DML有SELECT,INSERT,UPDATE,DELETE.6.索引的主要目标是提高访问的速度。
7.在Oracle database 10g 系统中,可以使用DBCA工具和CREATE DATEBASE命令两种方式创建数据库。
8. 命令Startup nomount只能启动数据库实例,但不能装载和打开数据库。
9.在输入URL进入Oracle Enterprice Manager Database Control 的时候,必须指出ip地址和端口号。
10.在登录Oracle Enterprice Manager Database Control时,连接身份有两种选择,分别为normal 和sysdba。
二、选择题:1.当Oracle服务器启动时,下列哪种文件不是必须装入内存的()。
DA. 数据文件B. 控制文件C. 日志文件D. 归档日志文件2.在Oracle中,当用户要执行SELECT语句时,下列哪个进程从磁盘获得用户需要的数据()。
BA.用户进程 B. 服务器进程 C. 日志写入进程(LGWR) D. 检查点进程(CKPT)3. 在Oracle数据库的逻辑结构中有以下组件:A 表空间;B 数据块;C 区;D段;这些组件从大到小依次是()。
BA. A→B→C→DB. A→D→C→BC. A→C→B→DD. D→A→C→B4. (B )可以从过程返回多个值。
A. 使用IN参数B. 使用OUT参数C. 使用指针D. 不能5.PL/SQL为内存耗尽时,预定义了(C )异常。
Oracle 复习大纲(一)数据库概念数据库(DB)是“按照数据结构来组织、存储和管理数据的仓库”。
是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。
数据库管理系统(DBMS)是指数据库系统中对数据进行管理的软件系统,是数据库系统的核心组成部分。
包括对数据库的定义、查询、更新及各种控制,都是通过DBMS进行的。
数据库系统(DBS)是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和数据资源组成的系统,是采用数据库技术的计算机系统。
2数据库系统组成:数据库;硬件; 软件; 数据库管理员数据模型由数据结构,数据操作,完整性约束三部分构成。
数据库系统的三级模式:内模式(1个),模式(1个),外模式(可多个)。
关系数据库E-R模型和设计范式理论(二)Oracle11g体系结构Oracle服务器包括Oracle实例和Oracle数据库。
实例:一组Oracle后台进程以及在服务器中分配的共享内存区域。
数据库:存储在磁盘上的数据文件、控制文件、日志文件、参数文件、归档日志文件等组成的物理文件集合。
实例用于管理控制数据库;数据库为实例提供数据。
一个数据库可以被多个实例装载和打开;一个实例在生存期内只能装载和打开一个数据库。
用户操作数据库的过程实质上是与数据库实例建立连接,然后通过实例来连接、操作数据库的过程。
物理存储结构是指从物理角度分析Oracle数据库创建后所使用的一系列操作系统文件: 数据文件:用于存储数据库中的所有数据;控制文件:用于记录和描述数据库的物理存储结构信息;重做日志文件:用于记录外部程序(用户)对数据库的改变操作;归档文件:用于保存已经写满的重做日志文件;初始化参数文件:用于设置数据库启动时的参数初始值;跟踪文件:用于记录用户进程、数据库后台进程等的运行情况;口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令;警告文件:用于记录数据库的重要活动以及发生的错误;备份文件:用于存放数据库备份所产生的文件。
Oracle数据库知识点总结第一篇:Oracle数据库知识点总结1.constraint约束:alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主键alter table [table_name] drop constraint [pk_name];//删除主键alter table [table_name] add constraint [fk_name] foreign key(fkname)references [tablename](fkname);//添加外键alter table [table_name] drop constraint [fk_name];//删除外键2.union 关键字:A username,B usernamerodbrucerosemarinaselect username from Aunionselect username from B2、几个高级查询运算词A: UNION 运算符UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。
当ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。
两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。
B: EXCEPT 运算符EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。
当 ALL 随EXCEPT 一起使用时(EXCEPT ALL),不消除重复行。
C: INTERSECT 运算符INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。
当 ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
1.Oracle得到广大用户的青睐原因在于:支持多用户、大事务量的事务处理、提供标准操作接口、实施安全性控制和完整性控制、支持分布式数据处理、具有可移值性、可兼容性和可连接性。
数据库新特性:网络计算、真正集群技术、自动存储管理、数据库自动管理、高可用性、超大型数据库支持、闪回查询与闪回操作、物化视图与查询重写、数据泵2.数据库的应用系统结构主要分为4种:客户机/服务器结构(c/s:两层结构,客户机与服务器可采用不同的软硬件系统,应用于服务分离安全性高)、浏览器/服务器结构(b/s:三层结构,通过web服务器处理应用程序逻辑,方便了应用程序的维护和升级)、分布式数据库系统结构(数据分布,数据共享,兼容性好,网络扩展性好)、终端-服务器结构(便于集中管理,系统安全性高,网络负荷低)。
3.数据库服务器企业版、标准版、个人版区别:①企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序②标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:③个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。
4.数据库系统服务有:作业管理服务,数据库控制台服务,isql*plus管理服务,网络监听服务,实例服务。
5.创建数据库的方法的比较:①使用数据库配置助手(DBCA)创建:是Oracle提供的用于创建数据库的图形界面工具,内置数据库模板,可以直观快速地创建数据库,适合初学者。
②运行脚本手动创建:使用create database 语句和Oracle预定义脚本手动创建数据库,比DBCA方式具有更大的灵活性和效率,适合有经验的DBA7. 数据库启动步骤:①创建并启动实例:根据数据库初始化参数文件,为数据库创建实例,启动一系列后台进程和服务进程。
第五章(2)说明Oracle数据库物理存储结构的组成及其关系Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。
在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以及数据文件、重做日志文件的状态等。
(6)说明Oracle数据库归档的必要性以及如何进行归档设置归档是数据库恢复及热备份的基础。
只用当数据库归档模式时,才可以进行热备份和完全恢复。
进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。
(9)说明采用多路复用控制文件的必要性及其工作方式采用多路复用控制文件可以避免由于一个控制文件的损坏而导致数据库无法正常启动。
在数据库启动时根据一个控制文件打开数据库,在数据库运行时多路复用控制文件采用镜像的方式进行写操作,保持所有控制文件的同步。
第六章(3)说明数据库、表空间、数据文件以及数据库对象之间的关系。
一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。
一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。
一个数据文件只能从属于一个表空间。
一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所对应的一个或多个数据文件中。
(4)数据库表空间的管理方式有几种,各有什么特点?数据库表空间的管理方式有两种:字典管理方式和本地管理方式。
在字典管理方式下,表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回退信息和重做信息。
在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。
(9)说明数据库存储空间碎片产生的原因及如何回收碎片当表空间中生成一个段时,将从表空间有效自由空间中为这个段的初始范围分配空间。
在这些初始范围充满数据时,段会请求增加另一个范围。
oracle知识点的总结概述Oracle 数据库是一种关系型数据库管理系统 (RDBMS),由美国甲骨文公司 (Oracle Corporation) 开发并提供支持。
它是目前全球最为流行的数据库之一,被广泛应用于企业级应用和大型系统中。
本文将总结一些 Oracle 数据库的重要知识点,包括数据库基本概念、SQL 查询语言、数据库管理、性能优化等方面,帮助读者更好地理解和运用 Oracle 数据库。
数据库基本概念1. 数据库的概念数据库是一种存储、管理和维护数据的系统,它可以让用户方便地访问和处理数据。
数据库的基本概念包括数据表、数据行、数据列、主键、外键、索引等。
数据表是数据库中的基本组织单元,数据行是表中的一条记录,数据列是记录中的字段。
主键是表中用来唯一标识每条记录的字段,外键是表与表之间关联的字段,索引是用来提高数据检索效率的数据结构。
2. SQL 语言SQL (Structured Query Language) 是一种用于操作数据库的标准化语言,它包括数据查询(SELECT)、插入 (INSERT)、更新 (UPDATE)、删除 (DELETE) 等操作。
SQL 查询语言是数据库操作中最为重要的部分,它可以让用户从数据库中检索需要的数据,并对数据进行调整和更新。
SQL 查询语言1. 基本查询SELECT 语句是 SQL 中最基本的查询语句,它用于从数据库中检索数据。
SELECT 语句的基本结构为:SELECT 列名 FROM 表名 WHERE 条件。
用户可以在 WHERE 子句中使用比较符号、逻辑符号和通配符来筛选特定的数据。
2. 聚合函数SQL 中有一些聚合函数,用于对查询结果进行统计和计算。
常见的聚合函数包括 COUNT、SUM、AVG、MAX、MIN 等,它们可以对查询结果集中的数据进行统计和汇总。
3. 子查询子查询是一个嵌套在主查询中的查询语句,它通常用于在查询中引用其他查询的结果。
oracle的知识点总结Oracle是一种关系型数据库管理系统,它提供了一套完整的数据库管理和开发工具。
本文将总结一些Oracle的知识点,希望能够帮助读者更好地理解和应用Oracle。
1. 数据库基础知识在Oracle中,数据库是由表组成的,每个表由多个列组成。
表中的数据以行的形式存储。
在创建表时,需要指定列的名称和数据类型。
常见的数据类型包括整数、字符、日期等。
此外,还可以创建索引来加速数据检索。
2. SQL语言SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。
Oracle支持标准的SQL语法,并提供了一些扩展功能。
通过SQL语句,可以实现数据的查询、插入、更新和删除等操作。
常见的SQL语句包括SELECT、INSERT、UPDATE和DELETE。
3. 数据库事务事务是一组数据库操作的逻辑单位,要么全部执行成功,要么全部回滚。
Oracle使用ACID(原子性、一致性、隔离性和持久性)特性来确保事务的正确执行。
可以使用BEGIN、COMMIT和ROLLBACK语句来管理事务。
4. 数据库连接与用户管理在Oracle中,可以通过用户名和密码来连接数据库。
每个用户都有自己的数据库对象(如表、视图、索引等),并且可以授予不同的权限。
可以使用CREATE USER语句创建用户,并使用GRANT语句授予权限。
5. 视图和存储过程视图是数据库中的虚拟表,可以从一个或多个表中检索数据。
视图可以简化数据的查询,隐藏底层表的细节。
存储过程是一段预先编译的代码,可以在数据库中执行。
存储过程可以接受输入参数,并返回结果。
6. 数据库安全性Oracle提供了多种安全功能,用于保护数据库的机密性和完整性。
可以使用角色和权限来限制对数据库对象的访问。
此外,还可以使用透明数据加密来加密敏感数据。
7. 数据库备份与恢复数据库备份是一种重要的数据保护手段,可以防止数据丢失。
Oracle提供了多种备份和恢复工具,如RMAN(Recovery Manager)和Data Pump。
1.constraint约束:alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主键alter table [table_name] drop constraint [pk_name];//删除主键alter table [table_name] add constraint [fk_name] foreign key(fkname) references [tablename](fkname);//添加外键alter table [table_name] drop constraint [fk_name];//删除外键2.union 关键字:A username,B usernamerod brucerose marinaselect username from Aunionselect username from B2、几个高级查询运算词A:UNION 运算符UNION 运算符通过组合其他两个结果表(例如TABLE1 和TABLE2)并消去表中任何重复行而派生出一个结果表。
当ALL 随UNION 一起使用时(即UNION ALL),不消除重复行。
两种情况下,派生表的每一行不是来自TABLE1 就是来自TABLE2。
B:EXCEPT 运算符EXCEPT 运算符通过包括所有在TABLE1 中但不在TABLE2 中的行并消除所有重复行而派生出一个结果表。
当ALL 随E XCEPT 一起使用时(EXCEPT ALL),不消除重复行。
C:INTERSECT 运算符INTERSECT 运算符通过只包括TABLE1 和TABLE2 中都有的行并消除所有重复行而派生出一个结果表。
当ALL 随INTERSECT 一起使用时(INTERSECT ALL),不消除重复行。
注:使用运算词的几个查询结果行必须是一致的。
3.复合主键一般不设外键4.组函数也称为聚合函数。
ORACLE数据库知识点整理⼀.数据库语⾔分类1. 数据库定义语⾔(DDL)包括CREATE(创建)命令、ALTER(修改)命令、TRUNCATE(清空)命令、DROP(删除)命令等。
2. 数据库操纵语⾔(DML)包括INSERT(插⼊)命令、UPDATE(更新)命令、DELETE(删除)SELECT(查询)命令等。
(不会⾃动提交事务)3. 数据库查询语⾔(DQL)包括基本查询语句、Order By⼦句、Group By⼦句等。
4. 事务库控制语⾔(TCL)包括COMMIT(提交)命令、ROLLBACK(回滚)命令。
5. 数据库控制语⾔(DCL) GRANT(授权)命令、REVOKE(撤销)命令。
注意:DDL语句会⾃动提交事务!所以DML语句在事务提交之前可以回滚,DDL语句执⾏后不能回滚事务。
⼆.Oracle字段数据类型VARCHAR2(length) 字符串长度可变,length 表⽰字符长度,字符串长度最⼤不能超过4000,不填默认为1CHAR(length) 字符串长度不可变,长度为length,字符串最⼤长度不能超过2000,不填默认为1NUMBER(a,b) 存储数字类型,可以是整数,也可以是浮点型,a代表数值的最⼤位数:包含⼩数位和⼩数点,b代表⼩数的位数。
a的取值范围是[1-38],b的取值范围是[-84-127]DATA 时间类型:存储的是⽇期和时间,包括年、⽉、⽇、时、分、秒。
TIMESTAMP 时间类型:存储的不仅是⽇期和时间,还包含了时区CLOB ⼤字段类型:存储的是⼤的⽂本,⽐如:⾮结构化的txt⽂本,字段⼤于4000长度的字符串。
BLOB ⼆进制类型:存储的是⼆进制对象,⽐如图⽚、视频、声⾳等转换过来的⼆进制对象在 MySQL 中,数据类型⼤致分为四⼤类:整型 INTEGER、int、bigint浮点型 FLOAT、DOUBLE 、 decimal⽇期/时间 DATETIME、DATE、TIMESTAMP(包含时区)、TIME YEAR字符串(字符) char、varchar、text三.Oracle建表(create table)语法结构 CREATE TABLE 表名(列名数据类型 ,列名数据类型)四.表的约束按照约束⽤途分类:1.PRIMARY KEY:主键约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名 PRIMARY KEY(列名1[,列名2...])2.FOREIGN KEY:外键约束 ALTER TABLE 主表名 ADD CONSTRAINT 约束名 FOREIGN KEY(列名1[,列名2...])REFERENCES 从表名(列名1[,列名2...])3.CHECK:检查约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK(条件)4.UNIQUE:唯⼀约束 ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名)5.NOT NULL:⾮空约束 ALTER TABLE 表名 MODIFY 列名 NOT NULL删除约束 ALTER TABLE 表名 DROP CONSTRAINT 约束名五.临时表创建ORACLE临时表,可以有两种类型的临时表:会话级临时表:表中数据只跟当前会话(session)有关系,当会话退出,临时表中数据就会全部被清空,会话不退出,临时表中数据就会存在创建⽅法 CREATE GLOBAL TEMPORARY TABLE TABLE_NAME(COL1 TYPE1,COL2 TYPE2...) ON COMMIT PRESERVE ROWS;事务级临时表:临时表数据与事务有关,当进⾏事务提交或者事务回滚的时候,临时表的数据将⾃⾏被截断退出SESSION的时候,事务级的临时表也会被⾃动截断创建⽅法:CREATE GLOBAL TEMPORARY TABLE TABLE_NAME(COL1 TYPE1,COL2 TYPE2...) ON COMMIT DELETE ROWS;六.SELECT(查询)查询语法格式及执⾏顺序SELECT --从数据库表中检索数据⾏和列 5FROM --数据来⾃哪些表 1WHERE -- 哪些条件 2GROUP BY -- 按条件分组 3HAVING -- 分组后按条件过滤 4ORDER BY -- 按条件排序(ASC(升序)DESC(降序) ) 6七.INSERT INTO(新增)语法结构:INSERT INTO 表名(列名1,列名2……) VALUES (值1,值2……)INSERT INTO 表名1(列名1,列名2……) 查询结果集⼋.DELETE(删除) TRUNCATE(DDL命令)语法结构: DELETE FROM 表名 WHERE 条件如果没有条件,则删除整张表数据,否则删除满⾜条件的数据TRUNCATE TABLE 表名删除整张表数据,保留数据结构TRUNCATE 与DELETE 区别: (1).TRUNCATE是DDL命令,删除的数据不能恢复;DELETE命令是DML命令,删除的数据可以通过⽇志⽂件恢复。
Oracel期末复习知识点——背完这33题想挂都难⼀些基本的概念:SQL是⼀门操作数据库的语⾔,SQL Plus提供了向服务器端操作SQL语⾔的⼯具,⽽Oracle负责接收客户端发来的命令,在数据库上执⾏SQL语句,然后发送发聩结果给SQL Plus数据模型的内容包括:数据结构数据操作数据约束常见的数据模型有:层次模型,⽹状模型,关系模型数据库:存放数据的仓库。
包括数字、⽂本、图像、⾳频、视频等。
数据以⼀定的格式存放在计算机中,之间存在⼀定的关联。
数据库是事务处理、信息管理等应⽤系统的基础。
数据库管理系统(DBMS):按照⼀定的数据模型组织数据、管理数据库,为数据库应⽤系统提供操作数据库的接⼝,为数据库管理员(DBA)提供管理和操作数据库的界⾯。
数据库系统:数据、数据库、数据库管理系统、应⽤程序、软硬件平台及相关⼈员⼀起构成了数据库系统SQL*Plus是Oracle公司开发的管理和交互查询⼯具,是标准SQL的⼀个扩展集关系数据库三级模式:外模式,内模式,模式1、关系型模型的优点有哪些。
1、结构简单2、可以直接处理多对多的关系3、⾯向记录集合的4、有坚实的理论基础5.在结构化的数据模型中具有较⾼的数据独⽴性2、Oracle数据库三个完整性的五个约束条件是什么。
三个完整性 :实体完整性参照完整性⽤户定义完整性五个约束条件:⾮空、唯⼀、主码、外码、检查。
(1) not null(⾮空)约束(2) unique(惟⼀)约束(3) primary key(主键)约束(4) foreign key(外键)约束(5) check(校验)约束3、PL/SQL中变量有什么属性?变量的命名规则是什么。
变量的属性:变量有名称和数据类型两个属性名称⽤于标识该变量数据类型确定了该变量存放值的格式及允许的运算%⽤来表⽰属性提⽰符%TYPE:提供了变量和数据库列的数据类型变量的命名规则:1、变量必须以字母开头2、第⼆个字符开始,可以是⼀个或者多个字母,数字或者特殊字符$.# 和_3、变量长度不超过30个字符4、变量名中不可有空格4、Oracle数据库表空间有哪些特点。
ORACLE知识点总结1. 数据库基础知识:数据库是一种结构化数据的集合,ORACLE是一种关系数据库管理系统(RDBMS)。
数据库由表(Table)组成,每个表包含多个列(Column),每个列可以有不同的数据类型,如整数、字符串、日期等。
表之间可以通过主键和外键建立关系。
2. SQL语言:ORACLE使用SQL(Structured Query Language)作为操作数据库的语言。
SQL包括数据定义语言(DDL)和数据操作语言(DML)。
DDL用于创建、修改和删除数据库对象,如表、索引、视图等。
DML用于查询和修改数据库中的数据。
3.查询语句:查询语句用于从数据库中检索数据。
常见的查询语句包括SELECT、INSERT、UPDATE和DELETE。
SELECT用于查询数据,INSERT用于插入新数据,UPDATE用于修改数据,DELETE用于删除数据。
4.数据类型:ORACLE支持多种数据类型,包括整数、浮点数、字符串、日期、布尔值等。
数据类型的选择应根据数据的特点和使用需求进行。
5.约束:约束用于限制表中数据的取值范围和关系。
常见的约束包括主键、外键、唯一约束和检查约束。
主键用于唯一标识表中的记录,外键用于建立表之间的关联,唯一约束用于确保列中的值唯一,检查约束用于限制列中的值的范围。
6.索引:索引用于提高数据库查询的性能。
索引可以根据特定的列或列组合来创建,并可以加速数据的查找和排序。
但是过多的索引会增加数据的插入、更新和删除的开销,因此需要权衡索引的使用和维护。
7.视图:视图是一个虚拟的表,由一个或多个表的行和列组成。
视图可以简化查询操作,隐藏数据结构的细节,并提供更直观的数据访问界面。
8.存储过程和触发器:存储过程是一组预定义的SQL语句,可以在调用时运行。
存储过程可以提高数据库的性能和安全性。
触发器是一种特殊类型的存储过程,会在表中插入、更新或删除数据时自动触发。
9.事务:事务是数据库操作的一个逻辑单位,可以保证数据库的一致性和完整性。
Oracle数据库实例启动不了怎么办?文件主要分为:参数文件,跟踪文件,警告文件,数据文件,临时文件,控制文件,重做日志文件,密码文件,修改跟踪文件,闪回日志文件,转储文件,数据泵文件(data pump),平面文件主要说参数文件与警告文件参数文件有很多比如:listenter.ora,tnslistener.ora等主要说一下服务器参数文件spfile它在OS的存放路径为%ORACLE_HOME%/database/spfile%ORACLE_SID%.ora$ORACLE_HOME/dbs/ spfile%ORACLE_SID%.ora我们可以在里面去修改数据库的一些参数也可以在sysdba权限下使用命令:set system parameter=value <deferred>//修改系统后会不会对以后的会话生效<sope=memoy|both|spfile> <sid=’sid|*’>spfile与pfile的关系,它们可以相互创建create spfile from pfilecreate pfile=fileName.ora from spfilespfile为二进制的文件,它由pfile生成。
pfile是文本文件,它存放在$ORACLE_BASE/admin/$ORACLE_SID/pfile/文件夹下(前提是你创建数据库时没有更改数据库存放路径)。
安全起见最好吧spfile文件备份。
当spfile被破坏以后,pfile也丢失的情况下。
可以通过警告文件把pfile的内容找回来,以此来生成spfile。
警告日志文件存放于pfile文件相同根目录下的dbump 文件夹下名为alert_$ORACLE_SID.log。
在其中找到:以下红色字体之间的内容,用以建立pfile文件,最后用create spfile命令生成spfileStarting up ORACLE RDBMS Version: 10.2.0.1.0.System parameters with non-default values:processes = 150sga_target = 612368384control_files =C:\ORACLE\PRODUCT\10.2.0\ORADATA\UCIT\CONTROL01.CTL,C:\ORACLE\PRODUCT\10.2.0\ORADATA\UCIT\CONTROL02.CTL,C:\ORACLE\PRODUCT\10.2.0\ORADATA\UCIT\CONTROL03.CTLdb_block_size = 8192compatible = 10.2.0.1.0db_file_multiblock_read_count= 16db_recovery_file_dest = C:\oracle\product\10.2.0/flash_recovery_areadb_recovery_file_dest_size= 2147483648undo_management = AUTOundo_tablespace = UNDOTBS1remote_login_passwordfile= EXCLUSIVEdb_domain =dispatchers = (PROTOCOL=TCP) (SERVICE=UCITXDB)job_queue_processes = 10audit_file_dest =C:\ORACLE\PRODUCT\10.2.0\ADMIN\UCIT\ADUMPbackground_dump_dest =C:\ORACLE\PRODUCT\10.2.0\ADMIN\UCIT\BDUMPuser_dump_dest =C:\ORACLE\PRODUCT\10.2.0\ADMIN\UCIT\UDUMPcore_dump_dest =C:\ORACLE\PRODUCT\10.2.0\ADMIN\UCIT\CDUMPdb_name = UCITopen_cursors = 300pga_aggregate_target = 203423744PSP0 started with pid=3, OS id=1440ORACLE操作表时”资源正忙,需指定nowait"的解锁方法最近需要用到Oracle,之前没接触过,改表时碰到麻烦了,提示“资源正忙,需指定nowait...”,终于找到办法处理了,贴起来希望更多的人能看见。
第三、四、六章1、四个服务:数据控制台服务(OracleDBCconsoleorcl)管理服务(OracleoraDb10g_homeliSQL*Plus)网络监听服务(OracleoraDb10g_homelTNSListener)实例服务(OracleServiceORCL)2、全局数据库命名方式:数据库名.域名3、编辑缓冲区当缓冲区存有内容后,可以使用编辑命令对缓冲区进行修改。
常用的编辑命令包括:A【PPEND】——将指定的文本追加到缓冲区内当前行的末尾;C【HANGE】——修改缓冲区当前行的文本; C/修改前/修改后DEL——删除缓冲区中的当前行文本;N——用数值定位缓冲区中的当前行;I【NPUT】——在缓冲区当前行的后面新增加一行文本;ED【IT】——以文本编辑器方式打开缓冲区,进行编辑。
第七章:物理存储结构7.3数据文件及其管理1、数据库与表空间的关系:(1)、一个表空间可以包含几个数据文件,(2)、一个数据文件只能从属于一个表空间、创建数据文件:(永久性)向表空间添加数据文件:Alter tablespace…add datafile(临时性)向临时表空间添加临时数据文件:Alter tablespace…add tempfile、修改数据文件的大小:alter database datafile设置数据文件为自动增长方式:alter database5、在下面几种情况下需要改变数据文件的可用性:(1)、要进行数据文件的脱机备份时,需要先将数据文件脱机;(2)、需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机;(3)、如果Oracle在写入某个数据文件时发生错误,会自动将该数据文件设置为脱机状态,并且记录在警告文件中。
排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。
(4)、数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。
6、删除某个临时表空间中的某个临时数据文件:Alter tablespace …drop tempfile7、备份控制文件备份控制文件:alter database backup controlfile(1)、将控制文件备份为二进制文件Alter database backup controlfile to trace;(2)、将控制文件备份为文本文件Alter database backup controlfile to trace;7.5、重做日志文件的管理每个数据库至少需要两个重做日志文件,采用循环写的方式进行工作、添加重做日志文件组成员注意事项:(1)、同一个重做日志文件组中的成员文件存储位置应尽量分散(保证安全)(2)、不需要指定文件大小。
基础知识表3.2 Oracle数据类型表3.3 XSB的表结构表3.5 CJB的表结构操作表创建表CREATE TABLE [schema.] table_name(column_name datatype [DEFAULT expression] [column_constraint][,…n]<table_constraint>[,…n])[PCTFREE integer][PCTUSED integer][INITRANS integer][MAXTRANS integer][TABLESPACE tablespace_name][STORGE storage_clause][CLUSTER cluster_name(cluster_column,…n)][ENABLE | DISABLE ][AS subquery]【例】使用CRETE TABLE命令为XSCJ数据库建立表XSB,表结构参照表3.3。
打开SQL*Plus工具,以system方案连接数据库,输入以下语句:CREATE TABLE XSB(XH char(6) NOT NULL PRIMARY KEY,XM char(8) NOT NULL,XB char(2) DEFAULT '1' NOT NULL,CSSJ date NOT NULL,ZY char(12) NULL,ZXF number(2) NULL,BZ varchar2(200) NULL);修改表ALTER TABLE [schema.] table_name[ ADD(column_name datatype [DEFAULT expression][column_constraint],…n) ]/*增加新列*/ [ MODIFY([ datatype ] [ DEFAULT expression ][column_constraint],…n) ] /*修改已有列的属性*/ [ STORAGE storage_clause ]*修改存储特征*/[ DROP drop_clause ]/*删除列或约束条件*/【例】使用ALTER TABLE语句修改XSCJ数据库中的表。
欢迎阅读注:若有错误,请自己修改,主要以书为准,以下仅供参考。
一.选择题(6、7、8、10、12、13的课后选择题全英文。
2*15=30)二.判断题2*5=10三.问答题(6、7、8、9、10、11、12、13课后简答题。
30分)具体如下:一选择题第101页3.选择题(1)B、C(2)A(3)A(4)B(5)B(6)C(7)B(8)B(9)D(10)A第120页3.选择题C C B A C A B A BD D A第157页3.选择题(1)C(2)B(3)C(4)B(5)B(6)B(7)A(8)B(9)B(10)C第239页3.选择题(1)A(2)B(3)A(4)A(5)B(6)A(7)D(8)D(9)D(10)D二.简答题和实训题1为EXAMPLE表空间添加一个数据文件,文件名为example02.dbf,大小为20MB.ALTER TABLESPACE EXAMPLEADD DATAFILE ‘D:\ORACLE\ORADATA\ORCL\example02.dbf’ SIZE 20M’;2修改USERS表空间中的userdata03.dbf为自动扩展方式,每次扩展5MB,最大为100MB。
ALTER DA TABASE DATAFILE ‘D:\ORACLE\ORADATA\ORCL\userdata03.dbf’ AUTOEXTEND ON NEXT 5M MAXSIZE 100M;3.将表空间USERS中的数据文件USERS03.DBF更名为userdata04.dbf,将表空间EXAMPLE中的数据文件example03.dbf更名为example04.dbf.SHUTDOWN IMMEDIATE;在操作系统中重命名userdata03.dbf、example03.dbf分别为userdata04.dbf、example04.dbf STARTUP MOUNT;ALTER DA TABASE RENAME FILE ‘D:\ORACLE\ORADATA\ORCL\userdata03.dbf’,‘D:\ORACLE\ORADATA\ORCL\example03.dbf’TO‘D:\ORACLE\ORADATA\ORCL\userdata04.dbf’, ‘D:\ORACLE\ORADATA\ORCL\example04.dbf’;ALTER DA TABASE OPEN;4.为数据库添加一个重做日志文件组,组内包含两个成员文件,分别为redo4a.log和redo4b.log,大小分别为5MBALTER DA TABASE ADD LOGFILE GROUP 4(‘D:\ORACLE\ORADATA\ORCL\redo04a.log’,’D:\ORACLE\ORADATA\ORCL\redo04b.l og’)SIZE 5M;5.为新建的重做日志文件组添加一个成员文件,名称为redo4c.log。
基础知识表3.2 Oracle数据类型表3.3 XSB的表结构表3.5 CJB的表结构操作表创建表CREATE TABLE [schema.] table_name(column_name datatype [DEFAULT expression] [column_constraint][,…n]<table_constraint>[,…n])[PCTFREE integer][PCTUSED integer][INITRANS integer][MAXTRANS integer][TABLESPACE tablespace_name][STORGE storage_clause][CLUSTER cluster_name(cluster_column,…n)][ENABLE | DISABLE ][AS subquery]【例】使用CRETE TABLE命令为XSCJ数据库建立表XSB,表结构参照表3.3。
打开SQL*Plus工具,以system方案连接数据库,输入以下语句:CREATE TABLE XSB(XH char(6) NOT NULL PRIMARY KEY,XM char(8) NOT NULL,XB char(2) DEFAULT '1' NOT NULL,CSSJ date NOT NULL,ZY char(12) NULL,ZXF number(2) NULL,BZ varchar2(200) NULL);修改表ALTER TABLE [schema.] table_name[ ADD(column_name datatype [DEFAULT expression][column_constraint],…n) ]/*增加新列*/ [ MODIFY([ datatype ] [ DEFAULT expression ][column_constraint],…n) ] /*修改已有列的属性*/ [ STORAGE storage_clause ]*修改存储特征*/[ DROP drop_clause ]/*删除列或约束条件*/【例】使用ALTER TABLE语句修改XSCJ数据库中的表。
(1)在表XSB中增加两列:JXJ(奖学金等级)、DJSM(奖学金等级说明)。
ALTER TABLE XSBADD ( JXJ number(1),DJSM varchar2(40) DEFAULT '奖金1000元');(2)在表XSB中修改名为DJSM的列的默认值。
ALTER TABLE XSBMODIFY ( DJSM DEFAULT '奖金800元' );(3)在表XSB中删除名为JXJ和DJSM的列。
ALTER TABLE XSBDROP COLUMN JXJ;ALTER TABLE XSBDROP COLUMN DJSM;(4)修改KCB表的存储特征。
ALTER TABLE KCBPCTFREE 20 MAXTRANS 200;(5)为表XS_JSJ添加主键。
ALTER TABLE XS_JSJADD (CONSTRAINT "PK_JSJ" PRIMARY KEY(XH) );删除表DROP TABLE [schema.] table_name操作表数据插入记录INSERT INTO table_name[(column_list)]V ALUES(constant1,constant2,…)【例】向XSCJ数据库的表XSB中插入如下的一行:101101 王林计算机男19900210 50可以使用如下的PL/SQL语句:INSERT INTO XSB(XH, XM, XB, CSSJ, ZY, ZXF)V ALUES('101101', '王林', '男',TO_DA TE('19900210','YYYYMMDD'), '计算机', 50);删除记录DELETE FROM table_name∣view_name[WHERE condition]【例】将XSCJ数据库的XSB表中总学分小于50的行删除,使用如下的PL/SQL语句。
DELETE FROM XSBWHERE ZXF<50;修改记录UPDATE table_name∣view_nameSET column_name=expression,[…n][WHERE condition]【例】将姓名为“罗林琳”的同学的专业改为“通信工程”,备注改为“转专业学习”,学号改为“101241”。
UPDATE XSSET ZY='通信工程',BZ='转专业学习',XH='101241'WHERE XM= '罗林琳';查询基本语法SELECT select_list /*指定要选择的列及其限定*/FROM table_source /*FROM子句,指定表或视图*/[ WHERE search_condition ] /*WHERE子句,指定查询条件*/[ GROUP BY group_by_expression ] /*GROUP BY子句,指定分组表达式*/[ HA VING search_condition ] /*HA VING子句,指定分组统计条件*/[ ORDER BY order_expression [ ASC | DESC ]] /*ORDER子句,指定排序表达式顺序*/选择指定列SELECT column_name [ , column_name [,…n] ]FROM table_name[WHERE search_condition]【例】查询XSB表中ZXF大于50同学的XH、XM和ZXF。
SELECT XH, XM, ZXFFROM XSBWHERE ZXF>50;修改查询结果中的列标题【例】查询XSB表中计算机系同学的XH、XM和ZXF,结果中各列的标题分别指定为学号、姓名和总学分。
SELECT XH AS 学号,XM AS 姓名,ZXF AS 总学分FROM XSBWHERE ZY= '计算机';模式匹配string_expression [ NOT ] LIKE string_expression [ ESCAPE escape_character ]【例】查询CP表中产品名含有“冰箱”的产品情况。
SELECT *FROM CPWHERE CPMCLIKE '%冰箱%';【例】查询XSB表中姓“王”且单名的学生情况。
SELECT *FROM XSBWHERE XM LIKE '王_';范围比较expression [ NOT ] BETWEEN expression1 AND expression2【例】①查询CP表中价格在2000元与4000元之间的产品情况。
SELECT *FROM CPWHERE JG BETWEEN 2000 AND 4000;执行结果如右图所示。
②查询XSB表中不在1989年出生的学生情况。
SELECT *FROM XSBWHERE CSSJ NOT BETWEEN TO_DA TE('19890101', 'YYYYMMDD')AND TO_DA TE('19891231', 'YYYYMMDD');使用IN关键字可以指定一个值表,值表中列出所有可能的值,当表达式与值表中的任意一个匹配时,即返回TRUE,否则返回FALSE。
使用IN关键字指定值表的格式为:expression IN ( expression [,…n])【例】查询CP表中库存量为“200”“300”和“500”的情况。
SELECT *FROM CPWHERE KCL IN (200,300,500);空值比较【例】查询XSCJ数据库中总学分尚不定的学生情况。
SELECT *FROM XSBWHERE ZXF IS NULL;子查询IN子查询。
IN子查询用于进行一个给定值是否在子查询结果集中的判断,格式为:( subquery )【例】查找未选修离散数学的学生的情况。
SELECT XH, XM, ZY, ZXFFROM XSBWHERE XH NOT IN( SELECT XHFROM CJBWHERE KCH IN( SELECT KCHFROM KCBWHERE KCM = '离散数学'));比较子查询。
} { ALL | SOME | ANY } ( subquery )【例】查找比所有计算机系学生年龄都大的学生。
SELECT *FROM XSBWHERE CSSJ <ALL( SELECT CSSJFROM XSBWHERE ZY= '计算机');EXISTS子查询。
EXISTS谓词用于测试子查询的结果是否为空表,若子查询的结果集不为空,则EXISTS返回TRUE,否则返回FALSE。
EXISTS还可与NOT结合使用,即NOT EXISTS,其返回值与EXIST刚好相反。
格式为:[ NOT ] EXISTS ( subquery )【例】查找选修了全部课程的同学姓名。
SELECT XMFROM XSBWHERE NOT EXISTS( SELECT *FROM KCBWHERE NOT EXISTS( SELECT *FROM CJBWHERE XH=XSB.XH AND KCH=KCB.KCH));查询对象【例】查找与101102号同学所选修课程一致的同学的学号。
本例即要查找这样的学号y,对所有的课程号x,若101102号同学选修了该课,那么y也选修了该课。
SELECT DISTINCT XHFROM CJB CJ1WHERE NOT EXISTS( SELECT *FROM CJB CJ2WHERE CJ2.XH ='101102' AND NOT EXISTS( SELECT *FROM CJB CJ3WHERE CJ3.XH= CJ1.XHAND CJ3.KCH = CJ2. KCH));【例】在XSB表中查找1990年1月1日以前出生的学生的姓名和专业。
SELECT XM, ZYFROM (SELECT * FROM XSBWHERE CSSJ<TO_DA TE('19900101', 'YYYYMMDD'));自然连接【例】查找选修了“计算机基础”课程且成绩在80分以上的学生学号、姓名、课程名及成绩。