您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > oracle课后题答案总
第一章一、选择题1.若关系的某一属性组的值能唯一地标识一个元组,我们称之为(B)。A、主码B、候选码C、外码D、联系2.以下不属于数据库模式的三要素的是(C)。A、数据结构B、数据操作C、数据控制D、完整性约束3.以下对关系性质的描述中,哪个是错误的?(B)A、关系中每个属性值都是不可分解的B、关系中允许出现相同的元组C、定义关系模式时可随意指定属性的排列次序D、关系中元组的排列次序可以任意交换二、填空题1.数据管理发展的三个阶段是人工管理、文件管理和数据库系统管理。2.数据库系统的三级模式包括逻辑模式、用户模式、物理模式。三、思考题1.数据库管理系统的主要功能有哪些?1)数据定义功能。DBMS提供相应数据语言来定义(DDL)数据库结构,它们是刻画数据库框架,并被保存在数据字典中。2)数据存取功能。DBMS提供数据操纵语言(DML),实现对数据库数据的基本存取操作:检索,插入,修改和删除。3)数据库运行管理功能。DBMS提供数据控制功能,即是数据的安全性、完整性和并发控制等对数据库运行进行有效地控制和管理,以确保数据正确有效。4)数据库的建立和维护功能。包括数据库初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能。5)数据库的传输;DBMS提供处理数据的传输,实现用户程序与DBMS之间的通信,通常与操作系统协调完成。2.思考关系规范化的过程。答:对于存在数据冗余、插入异常、删除异常问题的关系模式,应采取将一个关系模式分解为多个关系模式的方法进行处理。一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式,这就是所谓的规范化过程。3.思考数据库设计的步骤。答:1需求分析、2概念设计阶段、3逻辑结构设计阶段、4数据库物理结构设计阶段、5数据库实施阶段、6数据库运行和维护阶段。第二章一、选择题1、Oracle11g不具备的版本是(C)A.个人版B.标准版C.扩展板D.企业版2、oracle数据库的数据字典不能做的工作有(B)A.查找oracle数据库用户信息B.查找oracle数据库表中的信息C.查找oracle数据库模式对象的信息D.查找oracle数据库存储结构的信息二、填空题1、Oracle体系结构由内存结构、进程结构和存储结构组成。2、Oracle数据库中,段包括数据段、牵引段、回滚段和临时段四种。3、Oracle物理存储结构包含三种数据文件:控制文件、数据文件和日志文件三.思考题1.名词解释:数据块:是数据块使用的I/O最小单元,也是最基础的存储单位,又称逻辑块或oracle块。数据块包括块头和存储区。区:是数据存储空间分配的逻辑单元,,在一个段中可以存在多个区间,区间是数据一次性预留的一个较大的存储空间。段:是对象在数据库中占用的空间。从数据库存储的角度来看,段和数据库对象时一一对应的。一个段只能属于一个表空间,一个表空间可以有多个段。表空间。2.Oracle的物理结构主要包括那些类型的文件?答:控制文件、数据文件、重做日志文件等操作系统文件等。第三章一:选择题1.下列操作系统中,不能运行Oracle11g的是(C)。A.WindowsB.LinuxC.MacintoshD.Unix2.以下不属于Oracle安装前的准备工作的是(C)。A.对服务器进行正确的网络配置,并且记录IP地址、域名的网络配置信息,如果采用动态IP,需先将MicrosoftLoopBackAdapter配置为系统的主网络适配B.卸载其他的数据库管理系统C.如果服务器上运行有其他Oracle服务,必须在安装前将他们全部停止D.关闭Windows防火墙和某些杀毒软件二:填空题1.卸载Oracle需要经过停止服务、卸载组件和删除遗留成分三个步骤。2.Oracle数据库监听器的启用有3种方法:利用EnterpriseManager、用监听器控制实用程序和利用NetManager提供的“监听程序”。第四章一、选择题1、SQL语言中不属于数据定义的命令动词是(C)。A、CREATEB、DROPC、GRANTD、ALTER2、在同样的条件下,下面的哪个操作得到的结果集有可能最多?(D)A、内连接B、左外连接C、右外连接D、完全连接3、下列操作权限中,在视图上不具备的是(B)。A、SELECTB、ALTERC、DELETED、INSERT二、填空题1、SQL语言的功能主要包括数据定义、数据操作和数据控制三类。2、希望删除查询结果集中重复的行,需要使用distinct关键字。3、常用的统计函数有count、MIN、MAX、sum和AVG。三、实训题1、登陆Oracle,进入HR方案,使用DESC和SELECT命令查看各个表的结构以及现有的数据。代码如下:(1)a.查看JOBS表的结构:DESCJOBS;b.查看JOBS表的部分数据:SELECT*FROMJOBS;(2)a.查看EMPLOYEES表的结构:DESCEMPLOYEES;b.查看EMPLOYEES表的部分数据:SELECT*FROMEMPLOYEES;(3)a.查看表的结构:DESCDEPARTMENTS;b.查看DEPARTMENTS表的部分数据:SELECT*FROMDEPARTMENTS;(4)a.查看REGIONS表的结构:DESCREGIONS;b.查看REGIONS表的部分数据:SELECT*FROMREGIONS;(5)a.查看LOCATIONS表的结构:DESCLOCATIONS;b.查看LOCATIONS表的部分数据:SELECT*FROMLOCATIONS;(6)a.查看COUNTRIES表的结构:DESCCOUNTRIES;b.查看COUNTRIES表的部分数据:SELECT*FROMCOUNTRIES;(7)a.查看JOB_JISTORY表的结构:DESCJOB_JISTORY;b.查看JOB_JISTORY表的部分数据:SELECT*FROMJOB_JISTORY;2、在HR方案中进行表的创建、修改和删除(CREATE、DROP、ALTER命令)。创建表:CREATETABLEMANAGER(MANAGER_IDNUMBER2(6)NOTNULLUNIQUE,FIRST_NAMEVARCHAR2(20),LAST_NAMEVARCHAR2(25),DEPT_IDVARCHAR2(10));修改:ALTERTABLEMANAGERADDSEXVARCHAR2(2);ALTERTABLEMANAGERMODIFYMANAGER_IDUNMBER(8);删除:ALTERTABLEMANAGERDROPUNIQUE(MANAGER_ID);DROPTABLEMANAGER;3.在HR方案中完成对EMPLOYEES表以及相关各表的各种查询操作(WHERE子句GROUPBY子句以及各种连接等)。代码如下:查询:SELECT*FROMHR.COUNTRIES,HR.DEPARTMENTS,HR.EMPLOYEES;GROUPBY语句:SELECTDEPARTMENT_ID,COUNT(*),AVG(SALARY)FROMEMPLOYEESGROUPBYROLLUP(DEPARTMENT_ID);各种连接:(1)简单连接:SELECTEMPLOYEES.*,JOBS.*FROMEMPLOYEES,DEPARTMENTS;(连接EMPLOYEES和DEPARTMENTS)(2)内链接:SELECTEMPLOYEES.LAST_NAME,JOBS.JOB_TITLEFROMEMPLOYEESINNERJOINJOBSONEMPLOYEES.JOB_ID=JOBS.JOB_ID(3)自然连接:SELECTEMPLOYEESEM.LAST_NAME,EM.FIRST_NAME,EM.EMPLOYEE_ID,DEP.DEPARTMENT_NAMEFROMEMPLOYEESEMNATURALJOINDEPARTMENTSDEPWHEREDEP.DEPARTMENT_NAME=”SALES”(4)外连接:SELECTEM.EMPLOYEE_ID,EM.LAST_NAME,DEP.DEPARTMENT_NAMEFROMEMPLOYEESEMLEFTOUTERJOINDEPARTMENTSDEPONEM.DEPARTMENT_ID=DEP.DEPARTMENTWHEREEM.JOB_ID=’IT_PROG’;(左连接)(5)自身连接:SELECTEMPLOYEES_ID,LAST_NAME,JOB_IDFROMEMPOYEESORDERBYEMPLOYEE_ID4.在HR方案中,针对EMPLOYEES表进行数据的创建、修改和删除操作(INSERT、UPDATE、DELETE命令)。代码如下:INSERT:INSERTINTOEMPLOYEESVALUES(‘2001’,’TOM’,’KING’,’SKING’,516.123.3456,1999.12.12,’IT_PROG’,20006,103,60)UPDATE:UPDATEEMPLOYEESSETSALARY=SALAY+100WHEREJOB_ID=”IT_PROG”;(IT_PROG部门的薪水涨100$)DELETE:DELETEFROMEMPLOYEESWHEREFIRST_NAME=’TOM’;(删除真名叫tom的人的信息)第五章一、选择题1、下列属于OraclePL/SQL的数据类型是(A.DATE)。.2、下面不属于OraclePL/SQL的参数类型是(D.null)。二、填空题1、显示游标的处理包括声明游标、打开游标、提取游标和关闭游标4个步骤。2、包有两个独立的部分:说明部分和包体部分。3、触发器的类型包括DML触发器、INSTENDOF触发器和系统触发器。三、实训题1、实现一个游标,完成对emplouees表的遍历;SQLcreateorreplaceprocedureshow_all_employees2as3emp_rowemployees%rowtype;4cursoremp_curisselect*fromemployees;--声明游标5begin6OPENemp_cur;--打开游标7LOOP8FETCHemp_curINTOemp_row;--提取行9EXITWHENemp_cur%NOTFOUND;10DBMS_OUTPUT.PUT_LINE('雇员ID是:'||emp_row.employee_id||'姓名是:'||emp_row.first_name||''||emp_row.last_name);11ENDLOOP;12CLOSEemp_cur;--关闭游标13end;14/ProcedurecreatedSQLexecuteshow_all_employees();2、实现一个过程,完成对emplouees表中job_id为'IT_PROG'的员工salary的增加,增加额度为800;createorreplaceproceduresalary_add(jobidinemployees.JOB_ID%type,addsinemployees.SALARY%type)2as3begin4updateemployeessetSALARY=SALARY+addswhereJOB_ID=jobid;5dbms_output.put_line('emploees表中列的'||jobid||'增加的salary为'||adds);6endsalary_add;7/ProcedurecreatedSQLsetserverouton;SQLEXECUTEsalary_add('IT_PROG',800);createorreplaceproceduresalary_add2as3begin4updateemployeessetSALARY=SALARY+800whereJOB_ID=’IT_PROG’;5dbms_output.put_line('为IT_PROG增加
本文标题:oracle课后题答案总
链接地址:https://www.777doc.com/doc-4712486 .html