Oracle复习

合集下载

orcl复习重点部分

orcl复习重点部分

第一章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复习题纲

oracle复习题纲

一、选择题1.下面哪个命令是用于oracle中数据导出的()〔选择一项〕A.exp B、imp C、input D、output2.Oracle数据表中,下面哪个可以作为有效的列名()(选择一项)A.classB.123_NUMC.dateD.#123_NUM3.Oracle中的三种系统文件分别是()〔选择三项〕A.数据文件 DBFB.控制文件 CTLC.日志文件 LOGD.归档文件 ARC4.下面哪个命令可以用来查看学生表(表名student)的表结构( )〔选择一项〕A.Select student ;B.Display student ;C.Describe student ;D.Show student ;。

5.下面哪个命令不属于数据定义语言(DDL)( )(选择一项)A.alter table… B、drop index…C、create view…D、update tablename…6.在设计数据库时,要充分考虑数据的完整性或准确性。

下面关于primary key和unique的描述错误的是()〔选择一项)A.primary key用来在表中设置主键,主键列的值是不能重复的,用来唯一标识表中的每一条记录B.设为unique的列的值是不能重复的,用来唯一区别unique列的值C.primary key列不可以有null值, 而unique列是可以有null的D.primary key列和unique列都不可以有null值7.假定有一张表员工表employee,其中一性别字段sex,该列只能存入'男'或'女'。

为了维护数据的完整性,在设计数据库时,最好对sex字段添加约束,请问应该添加什么约束()(选择一项)A.primary key B、check C、default D、unique8.为表TEST中ID列添加主键约束的语法是()〔选择一项〕A.ALTER TABLE TEST CHANGE( ID INT PRIMARY KEY)B.ALTER TABLE TEST ADD( ID INT PRIMARY KEY)C.ALTER TABLE TEST MODIFY( ID INT PRIMARY KEY)D.ALTER TABLE TEST ADD CONSTRAINT PK PRIMARY KEY (ID)9.如果表DEPT包含3条记录,现在用如下命令对其进行修改,ALTER TABLE DEPT ADD(COMP NUMBER(4) NOT NULL);请问下面哪一个说法是正确的?( )(选择一项)A.该语句在表的最前面插入一个非空列B.该语句在表的最后插入一个非空列C.该语句执行完成后,应当立即执行COMMIT语句,以确保更改生效D.该语句将产生错误10.关于聚合函数描述错误的是()〔选择一项)A.avg(), sum() 只能用于数值类型的字段上B.max() , min() 只能用于数值类型的字段上C.max() , min() 可以用于数值类型或日期类型或字符串类型的字段上D.count()可以用于任何类型的字段上11.删除emp表中所有数据,且无法rollback,以下语句哪个命令可以实现()(选择一项)A.truncate table empB.drop table empC.delete * from empD.delete from emp12.Oracle中获得当前系统日期的查询语句是()〔选择一项〕A.Select getdate() ;B.Select sysdate ;C.Select sysdate from dual ;D.Select sysdate() from dual ;13.你发出命令: DROP TABLE emp;此时你还没有明确发出COMMIT命令。

Oracle数据库应用 复习题及答案

Oracle数据库应用 复习题及答案

Oracle数据库应用复习题(参考答案见P15)一、选择题1、以下()内存区不属于SGA。

A. PGAB. 日志缓冲区C. 数据缓冲区D. 共享池2、一个数据库由若干个()组成。

A.段B. 表空间C. 块D. 区3、在Oracle 中创建用户时,若未使用DEFAULT TABLESPACE 关键字,则Oracle就将()表空间分配给用户作为默认表空间,将()表空间分配给用户作为临时表空间。

A.TEMPB. USERSC. SYSTEMD. EXAMPLE4、监听并接受来自客户端应用程序连接请求的服务是()。

A. OracleCSServiceB. OracleDBConsoleSIDC. OracleJobSchedulerD. OracleOraDb10g_home1TNSListener5、()是一个小二进制文件,它维护着数据库的全局物理结构,用以支持数据库成功地启动和运行。

A. 数据文件B. 控制文件C. 日志文件D. 参数文件6、()进程把修改过的数据块从内存写回到数据库的数据文件中。

A. DBWRB. LGWRC. CKPTD. SMON7、()的任务是将已经写满的联机日志文件复制到归档日志文件中。

这仅在数据库运行在归档模式下时才发生。

A.恢复进程B. 进程监视进程C. 作业队列D. 归档进程8、()数据库应用架构又称为“瘦客户机”模式。

A. 多磁盘结构B. 两层模式C. 三层模式D. 磁盘映像9、数据字典表保存表、索引、视图以及所有其他数据结构的信息。

它们属于()用户。

A. SYSB. SYSTEMC. SCOTTD. SYSMAN10、如果用户要安装、查看和卸载Oracle 数据库系统,就需要使用()。

A. 通用安装器B. 数据库配置助手C. 企业管理器D. 网络配置助手11、如果用户需要在安装好Oracle的系统上创建、修改和删除数据库,就需要使用()。

A. 通用安装器B. 数据库配置助手C. 企业管理器D. 网络配置助手12、要删除一个大表里的所有记录,并释放占用的表空间,可以使用()命令。

oracle复习题

oracle复习题

oracle复习题1. 工具使用1..以下命令哪个是SQL*PLUS 命令?dA.UPDATEB.EDITC.SELECTD.ALTER TABLE2.用SQLPLUS的__b___命令可以查看表的结构信息,包括列的名称和数据类型A DESCRIPTIONB DESCC SHOW TABLED SHOW USER3. Oracle的前端工具是:aA SQL*PLUSB C++C PL/SQLD JA V A4 在SQLPLUS中,如何运行SQL脚本程序bA /B @脚本C EXE 脚本D 不能在SQLPLUS中直接运行脚本5 用命令将SQLPLUS缓冲区中的内容保存到文件中,使用下列哪种方法dA 将缓冲区的内容Ctrl+C,然后再Ctrl+V到文件中即可B 使用SA VE命令参数是文件路径C WRITE 方式,参数是文件路径D Oracle会自动保存6 用来设置一行能够显示的字符长度的命令是aA SET LINESIZEB SET LINEC SET LINEBUFFERD SET SIZELINE7 以下哪个命令用来设置查询显示结果的列宽aA SET COLUMN SIZEB COLUMN 列FORMAT 长度C COLUMN 列长度D 长度OF COLUMN2. SQL语句1. ORACLE用来判断列值是否为空的操作符是____bA ==NULLB IS NULLC AS NULLD NULLIS2.在客户定单表(CUSTOMER)中有一列为单价(PRICE),写一个SELECT命令显示所有单价在500以上的查询语句。

aA SELECT * FROM CUSTOMER WHERE PRICE>500;B SELECT * FROM CUSTOMER WHERE PRICE BETWEEN 500 AND *;C SELECT * FROM CUSTOMER WHERE PRICE LIKE '%500%';D SELECT * FROM CUSTOMER WHERE PRICE>=500;3. 分析以下SQL 命令:SELECT priceFROM inventoryWHERE price BETWEEN 1 AND 50AND (price IN(55, 30, 95);命令执行后的输出结果是:(b)A 55B 30C 95D NULL4. 如果在where子句中有两个条件要同时满足,应该用以下哪个逻辑符来连接A.ORB.NOTC.ANDD.NONE答案c5. 外连接的条件可以放在以下的那一个子句中A.FROMB.WEHREC.SELECTD.HA VINGE.GROUP BYF.ORDER BY答案B6. 在从两个表中查询数据时,连接条件要放在哪个子句中A.FROMB.WHEREC.SELECTD.HA VINGE.GROUP BY答案B7 用以下哪个子句来限制分组统计结果信息的显示A.FROMB.WEHREC.SELECTD.HA VINGE.GROUP BYF.ORDER BY答案D8. 以下那些命令可以暗含提交操作?A.GRANTB.UPDATEC.SELECTD.ROLLBACK答案A9 哪中类型的约束只能定义在列级A. CHECKB.UNIQUEC.NOT NULLD.PRIMART KEYE.FOREIGN KEY答案C10. RDBMS是下列哪一项的缩写:___aA Relational DataBase Management System(关系数据库管理系统)B Relational DataBase Migration System(关系数据库移植系统)C Relational Data Migration System(关系数据移植系统)D Relational DataBase Manage System(关系数据库管理系统)11. INSERT 是aA DML语句B DDL语句C DCL语句D DTL语句12. COUNT(*)函数返回____aA 包括空值和重复值得所有记录B 不包含空值的纪录C 带有重复值但无空值得记录D 都不是13.____什么操作符将两个查询的结果合并为单个结果cA 算术B 比较C 集合D 以上都不是14. .____什么操作符之返回两个查询的共有行aA INTERSECTB UNIONC MINUSD 没有15.____子句处理分组的结果bA WHEREB HA VINGC SELECTD 以上都不是16.什么锁用于锁定表,仅允许其他用户查询表中的行,行不允许插入,更新,或删除行aA 共享B 排他C 共享更新D 以上都不是17.使用带有____子句的SELECT命令可以在表的一行或多行上放置排他锁dA FOR INSERT OFB FOR UPDATE OFC FOR REFRESHD EXCLUSIVE3. DBA必备1 以下权限哪个时系统权限?A.ALTERB.EXECUTEC.PREFERENCESD.BACKUP ANY TABLE答案D2 以下哪个权限时对象权限?A.INDEXB.DROP USERC.CREATE SESSIOND.BACKUP ANY TABLE答案A3 以下哪个视图可以查到用户具有使用权限的表的信息/doc/5d17122516.html,ER_VIEWS /doc/5d17122516.html,ER_TABLES C.ALL_OBJECTS/doc/5d17122516.html,ER_OBJECTS 答案C4 数据定义语言是一种方法,用于:bA 确保数据的精确性B 定义和储存数据对象C 帮助查看数据D 储存数据5 关系定于为bA 网络之间的关系B 实体之间的关系C 属性之间的关系D 对象之间的关系6 哪个初始化参数在数据库创建后无法改变bA DB_NAMEB DB_BLOCK_SIZEC DB_CACHE_SIZED SHARED_POOL_SIZE7 现在要启动数据库,那么下面哪一个启动语句是错误的aA STRATUP NORMALB STRATUP FORCEC STRATUP NOMOUNTD STARTUP MOUNT8 使用哪一条SHUTDOWN语句关闭数据库时,下次打开数据库是需要做恢复操作?cA SHUTDOWN TRANSACTIONALB SHUTDOWN IMMEDIATEC SHUTDOWN ABORTD SHUTDOWN NORMAL9 关于数据库存储结构说法正确的是bA oracle始终都只能以块作为存储单位B oracle是以块为基本存储单位,然后将块组合成区,再将区合为段,最后再由表空间对这些段进行管理。

大型数据库oracle 考试复习资料

大型数据库oracle 考试复习资料

1.Oracle得到广大用户的青睐原因在于:支持多用户、大事务量的事务处理、提供标准操作接口、实施安全性控制和完整性控制、支持分布式数据处理、具有可移值性、可兼容性和可连接性。

数据库新特性:网络计算、真正集群技术、自动存储管理、数据库自动管理、高可用性、超大型数据库支持、闪回查询与闪回操作、物化视图与查询重写、数据泵2.数据库的应用系统结构主要分为4种:客户机/服务器结构(c/s:两层结构,客户机与服务器可采用不同的软硬件系统,应用于服务分离安全性高)、浏览器/服务器结构(b/s:三层结构,通过web服务器处理应用程序逻辑,方便了应用程序的维护和升级)、分布式数据库系统结构(数据分布,数据共享,兼容性好,网络扩展性好)、终端-服务器结构(便于集中管理,系统安全性高,网络负荷低)。

3.数据库服务器企业版、标准版、个人版区别:①企业版数据库服务器包含所有的数据库组件,主要针对高端的应用环境,适用于安全性和性能要求较高的联机事务处理(OLTP)、查询密集型的数据仓库和要求较高的Internet应用程序②标准版数据库服务器提供大部分核心的数据库功能和特性,适合于工作组或部门级的应用程序:③个人版数据库服务器只提供基本数据库管理功能和特性,适合单用户的开发环境,为用户提供开发测试平台。

4.数据库系统服务有:作业管理服务,数据库控制台服务,isql*plus管理服务,网络监听服务,实例服务。

5.创建数据库的方法的比较:①使用数据库配置助手(DBCA)创建:是Oracle提供的用于创建数据库的图形界面工具,内置数据库模板,可以直观快速地创建数据库,适合初学者。

②运行脚本手动创建:使用create database 语句和Oracle预定义脚本手动创建数据库,比DBCA方式具有更大的灵活性和效率,适合有经验的DBA7. 数据库启动步骤:①创建并启动实例:根据数据库初始化参数文件,为数据库创建实例,启动一系列后台进程和服务进程。

oracle(大学期末复习资料)

oracle(大学期末复习资料)

第五章(2)说明Oracle数据库物理存储结构的组成及其关系Oracle数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归档文件、口令文件等。

在控制文件中记录了当前数据库所有的数据文件的名称与位置、重做日志文件的名称与位置,以及数据文件、重做日志文件的状态等。

(6)说明Oracle数据库归档的必要性以及如何进行归档设置归档是数据库恢复及热备份的基础。

只用当数据库归档模式时,才可以进行热备份和完全恢复。

进行归档设置包括归档模式设置(ARCHIVELOG)、归档方式设置以及归档路径的设置等。

(9)说明采用多路复用控制文件的必要性及其工作方式采用多路复用控制文件可以避免由于一个控制文件的损坏而导致数据库无法正常启动。

在数据库启动时根据一个控制文件打开数据库,在数据库运行时多路复用控制文件采用镜像的方式进行写操作,保持所有控制文件的同步。

第六章(3)说明数据库、表空间、数据文件以及数据库对象之间的关系。

一个数据库由一个或多个表空间构成,不同的表空间用于存放不同应用的数据,表空间的大小决定了数据库的大小。

一个表空间对应一个或多个数据文件,数据文件的大小决定了表空间的大小。

一个数据文件只能从属于一个表空间。

一个数据库对象只能存储在一个表空间中,但可以存储在该表空间所对应的一个或多个数据文件中。

(4)数据库表空间的管理方式有几种,各有什么特点?数据库表空间的管理方式有两种:字典管理方式和本地管理方式。

在字典管理方式下,表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回退信息和重做信息。

在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件中,而与数据字典无关。

(9)说明数据库存储空间碎片产生的原因及如何回收碎片当表空间中生成一个段时,将从表空间有效自由空间中为这个段的初始范围分配空间。

在这些初始范围充满数据时,段会请求增加另一个范围。

ORACLE期末复习题

ORACLE期末复习题

一、选择题:1. ORACLE 服务器是基于( )机制的服务器。

A.物理B.类C.日志D.例程2. ORACLE中可以连接到数据库的命令是 ( )A.SET B.CONN C.SELECT D.ROLLBACK3. PGA是( )A. 系统全局区B.程序全局区C. 代码全局区D. 数据库全局区4.用来记录应用程序对数据库改变的文件( )A.数据文件 B. 控制文件C. 重做日志文件D.初始化参数文件5.删除DEPT表中数据,但保留表的指令是()。

A.DELETE B.ROLLBACKC. UPDATED.SELECT6.ORACLE中变量的命名一般以()打头。

A. v_B. c_C. g_D. p_7. ORACLE 中的存储过程和函数的区别是 ( )A. 函数有参数,存储过程没有B. 存储过程可多次执行,函数不行C. 函数有返回语句,存储过程没有D. 存储过程和函数不可以同时出现8. ORACLE包由 ( ) 和包主体构成。

A.包变量B.说明部分C.包头D.某个类型名9.要将数值转换成字符串,可以用的是 ( )A. TOCHARB.TO_CHARC. TO_DATED. TO_NUMBER10.Oracle数据库服务器是由()组成。

A.SGA和PGA B.SGA和数据库C.数据库和后台进程D.例程和数据库11. Oracle数据库被划分为()的逻辑存储单元,该逻辑存储单元本身由操作系统磁盘文件和原始分区组成。

A. 表空间B. 联机重做日志文件C. 归档重做日志文件D. 回滚段12.()是包含Oracle数据库中所有数据的数据库对象。

A. 视图B. 索引C. 存储过程D. 表13.()是为了加速对特定表数据的访问而创建的数据段。

A. 视图B. 索引C. 存储过程D. 触发器13.下面是有关date数据类型和timestamp数据类型的描述,请问哪一种描述是正确的?A. 两者都只能存储日期数据,不能存储时间数据B. 两者都只能存储时间数据,不能存储日期数据C. date数据类型比timestamp数据类型的存储时间精度高D. date数据类型比timestamp数据类型的存储时间精度低14.可以自动执行操作的存储对象是()。

Oracle复习

Oracle复习

选择题:1.Oracle 11g中的g代表( B )A.网络B.网格C.节点D.站点2.Oracle数据库文件默认的安装目录是(B )A.adminB. ordataC.binD.database3.在数据库服务器的安装过程中,不是默认创建的账户是(B )A.SYSB.DBAC.SYSTEMD.SCOTT4.可以在Oracle服务器的安装目录的(C )文件中查看Oracle的各种端口的使用情况A.spfile.oraB.initorcl.oraC.portlist.iniD.tnsname.ora5.完全卸载Oracle 11g时,需要进行的第一步操作是(A )A.停止所有的Oracle服务B.启动Oracle的卸载向导C.删除磁盘上的Oracle文件D.删除数据Orcl6.SQL Developer软件不可以用于(D )A.创建表B.创建存储过程C.录入表的数据D.创建数据库7.登录SQL Seveloper软件时,主机名要写( A )A.主机的名字B.数据库的名字C.AdministratorD.SYS8.在SQL*Plus中执行刚输入的一条命令用(A )A.正斜杠/B.反斜杠\C.感叹号D.句号9.在SQL*Plus中显示当前用户的命令是(C )A.show accountB.show accountnameC.show userD.show username10.在SQL*Plus中显示EMP表结构的命令是(B )A.LIST EMPB.DESC EMPC.SHOW DESC EMPD.STUCTURE EMP11.Oracle数据库物理存储结构是指(D )A.控制文件B.重做日志文件C.数据文件D.以上都是12.以下(A )内存区不属于SGAA.PGAB.重做日志缓冲区C.数据库高速缓冲区D.共享池13.下列组建不是Oracle实例的组成部分是(C )A.系统全局区B.pmon后台进程C.控制文件D.调度程序14.系统全局区的缓冲区以循环方式写入的是(D )A.数据缓冲区B.重做日志缓冲区C.大池D.共享池15.如果一个服务进程中止,下列进程可以用来释放它所占有的资源的是(D )A.DBWNB.LGWRC. SMOND.PMON16.保护监听程序配置信息的位置和名称分别是(C )A.客户端,listener.oraB.客户端,tnsnames.oraC.服务器端,listener.oraD.服务端端, tnsnames.ora17.为了通过网络连接数据库,需要在客户端建立(C )A.监听程序进程B.实例服务C.网络连接服务台D.HTTP服务18.Oracle客户端定义与服务器连接的配置文件的路径通常为(D )A.$Oracle_home/binB. $Oracle_home/admin/C. $Oracle_home/network/D. $Oracle_home/network/admin/19.在Windows操作系统中,Oracle的(A )服务监听并接受来自客户端应用程序的连接请求A.OracleHome_NAMETHNSListenerB.OracleServiceSIDC.OracleHOME_NAMEAgentD.OracleHOME_NAMEHTTPServer20.Oracle网络监听器位于(B )A.Oracle客户端B.Oracle服务器端C.Oracle客户端和服务器端D.Oracle的中间层服务器端21.创建数据库时命令格式的关键字是( A )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle复习:1.一个数据库由多个表空间组成。

表空间由多个数据文件组成,表空间中其他逻辑结构的数据存储在这些数据文件中。

一个表空间只属于一个数据库。

表空间是有数据库的逻辑划分。

Oracle包含了表,索引,视图,过程,函数,包等对象。

Oracle数据库内部结构包括:表空间,表,列,分区,同义词,用户,索引,视图,权限,角色,段,盘区,块。

数据块是最小的储存单元。

一个数据库至少需要两个重做的日志文件。

控制文件:用以记录与描述数据库的外部结构。

包括(Oracle数据库名称与建立时间,数据文件与重置日志文件名称及其所在位置,日志记录序列码(log sequence number))。

2. 表空间包括example表空间:示例表空间用于存放示例数据库的方案对象信息以及培训资料。

system表空间:系统表空间,用于存放oracle系统内部表和数据字典的数据,如表名,列名,用户名。

该表空间不能被删除。

sysaux表空间:辅助系统表空间。

temp表空间:临时表空间。

undotbls1表空间:重做表空间,存放数据库中有关重做的相关信息和数据,当用户对数据库表进行修改(包括insert,update,delete操作)时,Oracle系统自动使用重做表空间来临时存放修改前的数据。

users表空间:用户表空间,存放永久性用户对象的数据和私有信息,也被成为数据表空间。

约束条件(constraint):主键(primary key),默认(default),检查(check),唯一性(unique 允许有一个null值),外键(foreign key),。

3. 用户账号拥有的对象集称为用户的方案。

组织和管理数据库对象,可以创建不能注册到数据库的用户账号,可用来保存一组其他用户方案分开的数据库对象。

4.(1). 在表中添加列alter table xsb add zxf date(2). 在表中修改djsm的列的默认值alter table xsb modify(djsm default ’奖金800元’);(3). 在表中删除jxj,djsm两列alter table xsb drop column jxj; alter table xsb drop column djsm;(4). 修改kcb表的存储特征alter table kcb pctfree 20 maxtrans 200;(5). 为表添加主键alter tabl e xs_jsj add (constraint“pk_jsj”primary key(xh));添加联合主键create table cjb(xh char(6) not null,kch char(3)not null,cj number(2) null,primary key (xh,kch) )tablespace system;(6). 改表名alter table xsb rename to xsb1(7). 改变数据类型alter table score modifg vachar(10)(8). 复制表结构create table stu as select *from student where 1=2;(9). 复制表数据insert into stu select *from student5. 同义词的作用:为了给不同用户使用数据库对象时提供一个简单的、唯一标志数据库对象的名称,可以为数据库对象创建同义词,可通过同义词访问其他数据库。

分为私有与公用同义词。

6. 同义词还可以指向的对象有:表、视图、存储过程、函数、包和序列、索引、触发器。

7. LIKE谓词用于指出一个字符串是否与特定的字符串相匹配。

变量有名称及数据类型两个属性。

%用来表示属性提示符。

字符串的连接:||双竖线。

8 数据完整性的分类:域完整性(列完整性):指定一个数据集对某一个列是否有效和确定是否允许空值。

实体完整性(行完整性):要求表中的每一行有一个唯一的标识符,这个标识符额就是主关键字,通过索引,unique约束,primary key 约束可实现数据的实体完整性。

数据量大的情况下有索引,有外键就有索引。

参照完整性(引用完整性):保证主表中的数据与从表(被参照表)中数据的一致性。

9. %rowtype属性提供了表示一个表中一行的记录类型。

%type属性提供了变量和数据库列的数据类型(优点:不必知道xh列的确切的数据类型;如果改变xh的数据库定义,my_xh的数据类型在运行时回进行自动修改)10. PL/SQL语言:数据定义语言(如create),数据操控语言(如insert,update,select),数据控制语言(如drop)。

PL/SQL提供了三种不同的集合类型:联合数组、嵌套表、可变数组。

for-in-loop—end循环语法格式:for count in count_1..count_n loop run_expression end loop11. PL/SQL是一种块结构的语言,组成PL/SQL的单元是逻辑块,一个PL/SQL 程序块可以划分为三个部分:声明部分、执行部分和异常处理部分。

声明部分---declare执行部分----begin异常处理部分--------exception结束-----end12. 计数器的步长为 1 不能改变13. 显示游标首先要声明(declare cursor….is),在使用前要打开(open),读取数据(fetch),使用完毕要关闭(close)。

14. 触发器包括:DML触发器(类型:insert、update、delete)、替代触发器(用于不可更新视图)、系统触发器。

大对象数据不能用insert直接插入。

15. 使用for each row 表示行级触发器,如果未使用for each row则表示语句级触发器。

16. 对系统授权grant如grant create session to st6回收权限revoke如revoke crate any view from author17. 序列:升序序列值自初始值向最大值递增,默认为升序。

降序序列值自初始值向最小值递减。

SQL命令语句:increment by (递增或递减),start with(序列的初始值),maxvalue(可允许的最大值),minvalue(可允许的最小值),cycle(是否循环),cache(数据库分配存储值得数目)。

例题:P69页:利用create table命令为xscj数据库建立kcb,指定表的存储参数。

create table kcb (kch char(3) not null primary key,Kkxq number(1) null, Xf number(2) not null)Pctfree 10 pctused 40 initrans 1 maxtrans 255 storage(initial 64k minextentents 1 pctincrease40 freelists 1 freelist groups 1);P76页:用如下insert语句向xsb表中插入数据Insert into xsb select xh,xm,zy from xsb where zy=’计算机’;P129页:修改xscj数据库的books表,增加批发字段trade_price的check约束alter table books add (constraint ch_price check (trade_price<=250));P130页:删除check约束alter table table_name drop constraint check_nameP132页:在xscj数据库创建表xsb3,对学号段创建主键约束,对身份证号字段定义唯一约束Create table XSB3( xh char(6) not null, sfzh char(20) not null, Cssj date not null, Zy char(12));Alter table xsb3 add(primary key(xh)); Alter table xsb3 add(constraint UN_xs unique(sfzh));P135页:kcb为主表,kc.kch定义为主键。

Cjb为从表,请将cjb.kch定义外键。

Alte table cjb add constraint fk_kc foreign key(kch) references kcb(kch);P148页:定义一个简单的对象类型,并使用该对象类型。

首先创建对象类型test_obj:Create or replace type test_obj as object( item_id char(6), price number (10,2));创建一个表sell ,其中一列的数据类型使用对象类型test_obj。

Create teble sell(name number(2) not null primary key, info test_obj );使用如下语句向表中插入记录:insert into sell (name,info) values(1, test_obj(‘002’,23.5));P169页:游标打开后,就可以使用fetch语句从中读取数据。

Fetch语句的格式为:Declare v_xh char(6); v_zxf number(2); Cursor xs_cur3 Is Select xh.zxf from xsbWhere zy=’计算机’; Begin Open xs_cur3; Fetch xs_cus3 into v_xh,v_zxf; Where xs_cur3%found Loop Dbms_output.put_line(v_xh,v_zxf); Fetch xs_cur3 into v_xh,v_zxf;end loop; Close xs_cur3; End;P166页:【例6.27】创建一个统计数据库中不同性别人数的函数(结合例7.6)。

create or replace function count_num( in_sex in char)Return number As out_num number; BeginIf in_sex=’男’ then Select count(xb) into out_num From xsb Where xb=’女’; End if; Return(out_num); End count_num;P192页【例7.6】统计表xsb中男女同学的人数。

相关文档
最新文档