【整理】Oracle第二章习题及答案
《Oracle数据库应用与实践》课后习题参考答案
第 5 章 Oracle 模式对象
一、填空题
1. 字段级约束 表约束
2. NOT NULL 约束 UNIQUE 约束 PRIMARY KEY 约束
束
3. CREATE TABLE
CREATE ANY TABLE
4. UNIQUE PRIMARY KEY CHECK
5. 合并索引 重建索引
6. user_updatable_columns
一、 填空题 1. 数据挖掘 隐含的 未知的 2. API-ODM Java API ODM DBMS_DM PL/SQL API
3. Clustering Association Feature Extraction
Oracle 数据库应用与实践
2、某 cc 表数据如下: c1 c2 -------------1西 1安 1的 2天 2气
Oracle 数据库应用与实践
3好 …… 转换为 1 西安的 2 天气 3好 要求:不能改变表结构及数据内容,仅在最后通过 SELECT 显示出这个查询结果
代码为: create or replace function x return varchar2 is type t_array is table of number index by binary_integer; type tarray is table of varchar2(10) index by binary_integer; ta t_array; tar tarray; re varchar2(10); n number; na varchar2(10); begin select id bulk collect into ta from (select id,name from xx order by id) group by id; for i in st loop dbms_output.put(ta(i)||' '); select name bulk collect into tar from xx where id=ta(i); for i in st loop dbms_output.put(tar(i)); end loop; dbms_output.put_line(' '); end loop; return re; end;
ORACLE数据库测试2及答案
1、表中的约束有哪些?请举例说明。
答:①primary key:学生表的学号②foreign key:成绩表的学号③check:性别in(‘男’,’女’)④not null:学生表的姓名⑤default:订购单订购日期为系统时间⑥unique:学生表中若学号为主键,ID号用unique2、引用索引的原则是什么?P84答:①在表中插入数据后创建索引②索引正确的表和列③合理安排索引列④限制表中索引的数量⑤制定索引数据块空间⑥根据索引大小设置存储参数。
3、简要说明用户、角色和权限之间的关系。
P172答:角色是一组权限,可授予用户或其他角色。
可利用角色来管理数据库权限,可将权限添加到角色中,然后将角色授予用户。
用户可使该角色起作用,并实施角色授予的权限。
一个角色包含所有授予角色的权限及授予它的其他角色的全部权限。
4、oracle的逻辑结构是如何组织的?答:作业中有二、用PL/SQL编程,计算S=1/2+1/4+1/8+…+1/2ⁿ,S精确到万分之一。
解:declaren number:=2;S number:=0;beginloopS:=S+1/n;n:=n*2;if 1-S<=(1/10000) thendbms_output.put_line(S);exit;end if;end loop;end;三、编写存储过程,求指定某门课程(课程名)的平均分数。
解:create or replace procedure proc(kcm in carchar2)avg1 number;beginselect AVG(成绩) as 平均分into avg1 from CJB where 课程号in (select 课程号from KCB where 课程名=kcm and rownum=1);dbms_output.put_line(avg1);end;四、编写触发器,向成绩表中插入一条记录,检查学生是否在学生表中存在,若不存在,则取消该操作。
Oracle第二章习题及答案
一、基于自己创建表的操作1:创建一张学生表student,拥有stuid,stuname,sex,三个字段,其中stuid为主键。
create table student(stuid int primary key,stuname VARCHAR(20),sex VARCHAR(20))2:为该表增加一个新列score。
alter table student add(score varchar(10));3:修改该表score列名为stuscore。
alter table student rename column score to stuscoree;4:为student表插入5条记录。
insert into student values(1,'张三丰','男',80);insert into student values(2,'阿悄','女',70);insert into student values(3,'陈龙','男',90);insert into student values(4,'章子怡','女',50);insert into student values(5,'张卫健','男',60);5:查询student表中的全部数据,其中列名为中文。
select STUID as 学号,STUNAME as 姓名,SEX as 性别,STUSCOREE as 分数from student;6:查询学生姓名和分数,并是查询结果按照学生成绩降序排列。
select STUNAME,STUSCOREE from student order by STUSCOREE desc;7:修改所有性别为“男”的学生信息为性别为“male”。
update student set SEX='male' where SEX='男';8:删除所有记录。
Oracle实验报告2答案
Oracle实验报告2答案《Oracle数据库技术》实验指导书2基本SELECT、WHERE和ORDER BY子句的使用实验要求1)掌握SQL*PLUS的基本使用.2)掌握SELECT语句的简单用法.3)掌握WHERE子句的用法。
4)掌握ORDER BY子句的用法。
实验步骤(1)登录到SQL*Plus,初始用户名:SCOTT,口令为TIGER。
(2)分别显示EMP﹑DEPT﹑SALGRADE表结构,并查看表中的数据.(3)创建一个查询显示每个雇员的姓名﹑工作﹑受雇日期及雇员编号,并且要将雇员编号作为第一列显示,最后将该SQL语句保存成文件plql.sql,并执行该脚本文件。
(4)将脚本文件plql.sql调取到SQL缓冲区,并将列标题设置为Emp #,Employee,Job及Hire Date,将SQL语句保存成文件plq2.sql,最后返回查询结果。
(5)创建一个查询显示工资大于2850美元的姓名及工资。
将该查询保存成脚本文件p2q1.sql,并执行该文件。
(6)修改脚本文件p2q1.sql,显示工资不在1500到2850美元之间的雇员的姓名及工资,并以p2q2.sql文件重新保存该查询。
(7)修改文件p2q2.sql,显示在10和30部门工作并且工资大于1500美元的雇员的姓名和工资,列标题显示为Employee和MonthlySalary,最后以p2q3.sql重新保存该文件,返回查询结果。
(8)修改脚本文件p2q3.sql显示奖金比工资多10﹪以上的雇员的姓名﹑工资及奖金。
将该查询保存成p2q4.sql脚本文件,并返回查询结果。
思考练习题1.下面的SELECT语句能成功执行吗?SQL>SELECT ename, job, sal Salary2 FROM emp;可以执行!2.下面的语句有三处错误,请纠正它们.SQL>SELECT empno,ename2 salary *12 ANNUAL SLARY3 FROM emp;3.创建一个查询EMP表中检索出不重复的工作名称4.创建一个查询显示雇员编号为7566 的雇员的姓名和部门编号。
oracle习题+答案
oracle习题+答案1、在Oracle 数据库服务器的安装过程中,哪一个帐户不是默认创建的帐户A: SYSB: DBAC: SYSTEMD: SCOTT答案: B2、创建新的Oracle数据库,可以采用的工具是A: Oracle Database Configuration AssistantB: Oracle Universal InstallerC: Net ManagerD: SQL*Plus答案: A3、关于客户端和服务器的说法,正确的是A: 客户端不能以管理员身份登录B: 客户端也可以执行创建数据库的操作C: 客户端可以执行日常的管理操作,如启动数据库D: 服务器端软件不包含客户端软件答案: C4、关于安装数据库的说法,正确的是A: 一台服务器上,只能安装1个Oracle数据库B: 一台服务器上,可以安装2个Oracle数据库,但必需安装2套服务器软件C: 一台服务器上,可以安装2个数据库,但只能运行一个数据库D: 一台服务器上,可以同时安装运行2个数据库答案: D5、专有服务器模式的特点是A: 连接用户较多B: 每次连接时间短C: 多个用户共享服务器资源D: 保证单个客户工作效率高答案: D6 、安装Oracle服务器软件,不会用到的工具是A: Oracle Universal InstallerB: Oracle Database Configuration AssistantC: Oracle Enterprise Management ConsolD: Oracle Net Configuration Assistant答案: C7 、Oracle数据库文件的默认的安装位置是哪个子目录A: adminB: oradataC: binD: database8、CONN scott/tiger@db01 AS SYSDBA登录数据库,连接的模式是A: SCOTTB: SYSC: PUBLICD: SYSTEM 答案: B9、关于口令文件,说法正确的是A: 口令文件的名称为PWDdb01.oraB: 口令文件中包含了全部具有SYSDBA权限的账户的口令信息C: 口令文件中,可以加入的具有SYSDBA权限的账户,不受限制D: 普通用户也可以通过口令文件验证身份答案: B10、关于数据库实例服务,说法正确的是A: 关闭数据库实例服务,数据库将随之关闭B: 启动实例服务后,数据库将始终处于打开状态C: 不能删除和重建数据库实例服务D: 当关闭数据库时,对应的实例服务也跟随关闭答案: A11、如果在服务器开机时,不想启动数据库,可以通过A: 修改初始化参数B: 修改控制文件C: 修改实例服务状态D: 修改数据库状态答案: C12、将数据库启动到装载状态的命令A: startupB: startup nomountC: startup mountD: startup open答案: B13、使用shutdown命令关闭数据库,发生的次序是A: 先关闭实例进程B: 先关闭数据库C: 先卸载数据库D: 没有先后次序答案: A14、执行shutdown transactional命令A: 数据库仍然允许新的用户连接B: 数据库马上关闭C: 等待当前所有会话结束后关闭D: 如果没有执行中的数据库事物,即马上关闭答案: C15、服务器断电,发生的现象是哪一个?A: 数据缓冲区的修改写入数据库B: 没有提交的事物自动撤销C: 数据文件、控制文件和日志文件处于不一致状态D: 下次启动,需要进行手工恢复答案: B16、用户SCOTT正在执行UPDATE语句,需要保证SCOTT的修改操作完成,理想的关闭实例方式是A: SHUTDOWN ABORTB: SHUTDOWN IMMEDIATEC: SHUTDOWN TRANSACTIONALD: SHUTDOWN NORMAL答案: B17、在哪种关闭方式下,SMON进程要对数据库实例进行恢复A: NORMALB: TRANSACTIONALC: IMMEDIATED: ABORT答案: C18、数据库高速缓冲区的大小,由哪个文件指定A: 控制文件B: 参数文件C: 口令文件D: 跟踪文件答案: A19、静态初始化参数文件的特点是A: 文件是文本文件形式B: 启动实例优先选用C: 总是驻留在服务器端D: 能够动态进行参数的修改答案: A20、数据库启动的哪个阶段打开控制文件A: 启动实例阶段B: 装载数据库阶段C: 打开数据库阶段D: 关闭数据库阶段答案: B21、数据库处于哪个状态,可以创建数据库A: SHUTDOWNB: NOMOUNTC: MOUNTD: OPEN答案: B22、每天数据库的操作信息记录到A: 后台跟踪文件B: 归档日志文件C: 警告文件D: 重做日志文件答案: C23、同时存在以下的初始化参数文件,优先使用的是A: spfiledb01.oraB: spfile.oraC: initdb01.oraD: init.ora答案: A24、以下语句能正确删除基本表“学生表”的是( C )A、DELETE TABLE 学生表B、DELETE 学生表C、DROP TABLE 学生表D、DROP 学生表25、使用下列哪种语句可以创建数据库( A )A、CREATE DATABASEB、CREATE TABLEC、ALTER DTABASED、ALTER TABLE26、表在数据库中是一个非常重要的数据对象,它是用来( C )各种数据内容的A、显示B、查询C、存放D、检索27、日志文件用于保存( D )A、程序运行结果B、数据操作C、数据库数据D、数据库的更新操作28、数据库恢复的重要依据是( D )A、DBA b、DB c、文档d、事务日志29、对DB中数据的操作分成两大类( A )。
oracle课后习题答案
练习62.实训题(2)Create table exer_class(CNO number(2) primary key,CNAME varchar2(20),NUM number(3));Create table exer_student(SNO number(4) primary key,SNAME varchar2(10) unique,SAGE number,SEX char(2),CNO number(2));(3)Alter table exer_student add constraint ck_sage check (sage>0 and sage<=100);(4)Alter table exer_student add constraint ck_stu check(sex='M' or sex='F') modify sex default 'M';(5)Create unique index ind_cname on exer_class(cname);(6)Create view stu_class_view (e_sno,e_sname,e_cno,e_cname) ASselect sno,sname,cno,cnameFrom exer_student;(7)Create sequence exer_student_seqstart with 100000001nocyclenocache;(8)Create table exer_student_range(sno number(4) primary key,sname varchar2(10),sage number,sex char(2),cno number(2))partition by range(sage)(partition part1 values less than(20) tablespace example,partition part2 values less than(30) tablespace orcltbs1,partition part3 values less than(maxvalue) tablespace orcltbs2);(9)Create table exer_student_list(sno number(4) primary key,sname varchar2(10),sage number,sex char(2),cno number(2))partition by list(sex)(partition man values('M') tablespace orcltbs1,partition woman values('F') tablespace orcltbs2);(10)题目修改为“为exer_student_range表的SAGE列上创建本地分区索引。
oracle11g管理与应用实践教程(习题及答案)(2)剖析
1.6习题Oracle数据库基础一.填空题1、关系模型提供了3类完整性规则,分别是_______、_______、_______。
参考答案:实体完整性规则、参照完整性规则、用户定义的完整性规则2、RDBMS由两部分组成,即_______、_______两部分。
答案:数据库系统内核、数据字典3、关系数据库模型支持三种类型的表关联关系:_______、_______、_______。
答案:一对一、一对多以及多对多4、数据模型的种类有很多,例如_______、_______、_______和_______等。
目前理论最成熟、使用最普及的是_______。
答案:层次模型、网状模型、关系数据模型、面向对象模型。
关系数据模型二、选择题1、Oracle 11g版本号中字母“g”的含义是()A.产品类型的“代”( generation) B.网格(gridding)C.集成(integration)D.无含义答案:B2、设计性能较优的关系模式称为规范化,规范化主要的理论依据是()A.关系规范化理论B.关系运算理论C.关系代数理论D.数理逻辑答案:A3、消除了部分函数依赖的1NF的关系模式必定是()A.1NF B.2NF C.3NF D.4NF答案:B4、当B属于函数依赖于A属性时,属性B与A 的联系是()A.1对多B.多对1 C.多对多D.以上都不是答案:B5、根据关系数据库规范化理论,关系数据库中的关系要满足第一范式。
下面“部门”关系中,因哪个属性而使它不满足第一范式?部门(部门号,部门名,部门成员,部门总经理)A.部门总经理B.部门成员C.部门名D.部门号答案:B6、下列不属于Oracle数据库数据类型的是()A.NUMBER B.FLOAT C.CLOB D.BOOLEAN 答案:D三、简答题1、简述数据库与数据库管理系统的区别。
参考答案:数据库是用来存储信息或数据的机制,是按照数据结构来组织、存储和管理数据的仓库。
2020年智慧树知道网课《ORACLE快速入门》课后章节测试满分答案
第一章测试1【多选题】(10分)ORACLE的DBA日常工作有哪些任务A.ORACLE数据库应用架构设计B.ORACLE升级C.性能调优D.ORACLE安装2【多选题】(10分)数据库市场上主要分为哪几种类型的数据库A.关系型数据库B.NOSQL数据库C.ORACLE数据库D.NEWSQL数据库3【判断题】(10分)啤酒和尿片放在一起是数据挖掘的应用。
A.对B.错4【判断题】(10分)分布式数据库经常和并行数据库结合一起使用。
A.错B.对5【判断题】(10分)云数据库是云技术和数据库技术的结合。
A.对B.错第二章测试1【多选题】(10分)哪些操作系统可以安装ORACLE软件A.windows操作系统B.UNIX操作系统C.LINUX操作系统D.mac操作系统2【单选题】(10分)ORACLE11g中的g是什么意思A.互联网B.网格C.网络D.网址3【多选题】(10分)以下哪些是ORACLE的服务A.ORACLEDBCONSOLEORCLB.ORACLEORADB11G_HOME1TNSLISTENERC.ORACLEJOBSHEDULEORCLD.ORACLESERVICEORCL4【判断题】(10分)ORACLE的安装软件有32位安装包和64位安装包的区别。
A.对B.错5【判断题】(10分)我们可以通过数据库配置助手DBCA创建、删除、修改数据库。
A.错B.对第三章测试1【单选题】(10分)以下哪个选项是的A.sqlplus是客户端管理工具B.sqlplus就是sqlC.OEM是客户端管理工具D.sqlplus中除了可以输入sql语句外,还可以输入sqlplus的格式化语言2【单选题】(10分)在sqlplus中,用以下哪个命令可以查询表的结构A.describeB.showC.viewD.select3【单选题】(10分)以下哪个命令可以在sqlplus中执行某个文件中的sql命令A.editB.saveC.startD.sool4【判断题】(10分)使用edit命令修改缓冲区中最近一条命令。
oracle课后习题答案
第一章一选择题D D C A D D B二填空题1 视图2 索引3 簇4 DB_Block_size5 system6 数据文件日志文件控制文件7系统全局区SGA 程序全局区PGA三简答题1 P3——P52 P7——P83 P94 P13第二章一选择题B D B二填空题1 orcl2 oracle_sid3 OracleOraDb10g_home1TNSListener第三章一选择题D B B二填空题1 emctl start dbconsole2 主目录性能管理维护3 Oracle Net4 v$database第四章一选择题D C C A二填空题1 shutdown immediate2 startup force3 alter database4 spfile5 db_block_size6 alter system set7 数据库管理员安全官员网络管理员应用程序开发员应用程序管理员数据库用户三操作题4 P635 P65第五章一选择题B C D二填空题1 v$tablespace2 create tablespace3 bigfile4 alter tablespace5 offline6 alter logfile member2 P75——P763 P764 P77——P785 P816 P83第六章一选择题B A A B D二填空题1 grant2 v$pwfile_users3 create user4 password expire5 account lock6 alter role三操作题3 P95第七章一选择题B BC C二填空题1 primary key2 rename column…to3 where4 like5 inner join三操作题2 create table departments(depid number primary key,Depname varchar2(40) not null,Descr varchar(400),Upperid number check(upperid>0));注意:书上的desc是保留字,不能作为表名。
ORACLE复习题含答案
简答题(4*5’)1、简述Oracle数据库体系结构的构成。
答:数据库实例,物理存储结构和逻辑存储结构。
实例包括内存结构与后台进程;物理存储结构主要用于描述Oracle数据库外部数据的存储,即在操作系统中如何组织和管理数据,与具体的操作系统有关;逻辑存储结构主要描述Oracle数据库内部数据的组织和管理方式,与操作系统没有关系。
2、简述Oracle数据库逻辑存储结构的组成及相互关系。
答:Oracle数据库逻辑存储结构包括表空间、段、区、块四种。
其中,数据块是数据库中最小I/O单位,由若干连续的数据块组成的区是数据库中最小的存储分配单元,由若干区形成的段是相同类型的数据存储分配区域,由若干段形成的表空间是最大的逻辑存储单元,所有的表空间构成一个数据库。
3、简述Oracle数据库重做日志文件的作用。
答:重做日志文件,保存了用户对数据库所作的更新操作,包含的主要信息是记录事务的开始和结束、事务中每项操作的对象和类型、更新操作前后的数据值等。
4、简述索引作用并说明索引按不同分类依据分为哪些类。
答:创建索引的作用是为了提高对表中数据的查询效率。
根据索引值是否唯一,可分为唯一性索引和非唯一性索引;根据索引的组织结构不同,可分为平衡索引和位图索引;根据索引基于列数不同,可分为单列索引和复合索引。
5、简述Oracle的安全控制机制有哪些?答:1)、用户管理2)、权限管理3)、角色管理4)、表空间设置和配额5)、用户资源限制6)、数据库审计6、简述Oracle数据库角色的种类、作用以及如何利用角色为用户授权。
答:SYS:是数据库中具有最高权限的数据库管理员,可以启动、修改和关闭数据库,拥有数据字典;SYSTEM:是一个辅助的数据库管理员,不能启动和关闭数据库,但可以进行其他一些管理工作,如创建用户、删除用户等。
SCOTT:是一个用于测试网络连接的用户,其口令为TIGER。
PUBLIC:实质上是一个用户组,数据库中任何一个用户都属于该组成员。
Oracle11g数据库基础教程-参考答案资料
SMON进程的主要功能包括:在实例启动时负责对数据库进行恢复;回收不再使用的临
时空间;将各个表空间的空闲碎片合并。
PMON进程的主要功能包括:负责恢复失败的用户进程或服务器进程,并且释放进程所
占用的资源; 清除非正常中断的用户进程留下的孤儿会话, 回退未提交的事务, 释放会话所
占用的锁、 SGA、 PGA 等资源;监控调度进程和服务器进程的状态,如果它们失败,则尝试
修改右侧对话框中
第 2 章 Oracle 数据库管理与开发工具
1.简答题
(1)
实现对 Oracle 运行环境的完全管理, 包括 Oracle 数据库、 Oracle 应用服务器、 HTTP 服务器等的管理;
实现对单个 Oracle 数据库的本地管理,包括系统监控、性能诊断与优化、 对象管理、存储管理、安全管理、作业管理、数据备份与恢复、数据移植等;
适合于工作组或部门级
的应用程序: 个人版数据库服务器只提供基本数据库管理功能和特性,
适合单用户的开发环
境,为用户提供开发测试平台。
(2)
常用数据库类型包括事务处理类、 数据仓库类以通用类型。 其中事务处理类型主要针对
具有大量并发用户连接, 并且用户主要执行简单事务处理的应用环境。 事务处理数据库的典 型应用有银行系统数据库、 Internet 电子商务数据库、证券交易系统数据库等。对于需要较 高的可用性和事务处理性能、 存在大量用户并行访问相同数据以及需要较高恢复性能的数据
Oracle 数据库物理结构包括数据文件、控制文件、重做日志文件、初始化参数文件、归 档文件、 口令文件等。 在控制文件中记录了当前数据库所有的数据文件的名称与位置、 日志文件的名称与位置,以及数据文件、重做日志文件的状态等。 (3)
oracle的习题及答案
oracle的习题及答案1. 如何启动实例、如何装载数据库,如何打开数据库。
Startup nomount alter database mount alter database openStartup mountStartup2. 如何禁止用户的操作系统认证修改SQLNET.ora nts为none3. 如何控制用户不可以远程登陆。
Alter system set remote_login_passwordfile=noneScope=spfile;4. sys/sias@orcl as sysdba 中orcl的解析这里将用到sqlnet.ora文件,如果names.directory_path=(tnsnames,hostname),客户端首先会在tnsnames.ora文件中找到orcl的记录,如果没有相应的记录则尝试把orcl当做一个主机名,通过网络的途径去解析它的ip地址然后去连接这个ip,如果解析路径中没有hostname,客户端就只从tnsnames.ora查找orcl的记录。
5. 修改服务器端orcl 的监听端口。
可以用net manager修改或直接修改参数文件6. 创建密码文件。
host orapwd file=e:\orapwd.ora Password=nzg entries=30;7. 怎么样从spfile生成pfileCreate pfile=’d:\pfileorcl.ora’ from spfile;Create spfile=’e:\spfileorcl.or a’ from pfile=’d:\pfileorcl.ora’;8. 通过参数文件查看控制文件的位置Show parameter control_file; select name from v$controlfile;(在例程连接数据库后Mount可执行)。
可通过以下几个动态数据字典视图中获得有关控制文件的信息V$controlfile v$database V$controlfile_record_sectionSelect name from v$database; 显示数据库名称。
oracle练习题及答案
o r a c l e练习题及答案(总7页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--试题一一、填空题(每小题4分,共20分)1、数据库管理技术经历了___人工管理、文件系统、数据库系统__三个阶段2、数据库三级数据结构是:外模式、模式、内模式3、Oracle数据库中,SGA由_数据库缓冲区,重做日志缓冲区,共享池组成4、在Oracle数据库中,完正性约束类型有:Primay key约束。
Foreign key约束,Unique约束,check约束,not need约束5、PL/SQL中游标操作包括:声明游标,打开游标,提取游标,关闭游标二、正误判断题(每小题2分,共20分)1、数据库中存储的基本对象是数据(T)2、数据库系统的核心是DBMS(T)3、关系操作的特点是集合操作(T)4、关系代数中五种基本运算是并、差、选择、投影、连接(F)5、Oracle进程就是服务器进程(F)6、oraclet系统中SGA所有用户进程和服务器进程所共享(T)7、oracle数据库系统中数据块的大小与操作系统有关(T)8、oracle数据库系统中,启动数据库和第一步是启动一个数据库实例(T)9、PL/SQL中游标的数据是可以改变的(F)10、数据库概念模型主要用于数据库概念结构设计(T)三、简答题(每小题7分,共35分)1、何谓数据与程序的逻辑独立性和物理独立性2、试述关系代数中等值连接与自然连接的区别与联系3、何谓数据库,数据库设计一般分为哪些阶段4、简述Oracle逻辑数据库的组成5、试任举一例说明游标的使用方法五、设有雇员表emp(empno,ename,age,sal,tel,deptno),其中:empno-----编号,name------姓名,age -------年齡,sal-----工资,tel-----电话deptno-----部门号。
请按下列要求分别晨SQL*PLUS下编程。
06课后作业-BTC-DB-02-第2章课后作业_ORACLE体系结构答案
知识点:ORACLE体系结构练习:ORACLE体系结构:创建一个名为DAVID的用户,口令为davidpass,设定其默认表空间为test,临时表空间为temp,并授予其连接数据库和创建表对象的权限。
同时授予其访问另一用户MARTIN的表TEST的权限。
答案:以SYSTEM身份登录:CREATE USER DAVID IDENTIFIED BY davidpass DEFAULT TABLESPACE test TEMPORARY TABLESPACE Temp;授予登录数据库和创建表的权限GRANT CREATE SESSION TO DAVID;GRANT CREATE TABLE TO DAVID;授予使用表空间的权限ALTER USER DAVID QUOTA UNLIMITED ON USERS;以MARTIN身份登录,授予DAVID对表TEST的权限GRANT SELECT ON TEST TO DAVID; GRANT UPDATE ON TEST TO DAVID;如何创建用户martin,及创建用户martin的test表?以system身份登陆:Create user MARTINIDENTIFIED BY MARTINpass;grant connect to MARTIN;grant resource to MARTIN;grant dba to MARTIN;以MARTIN身份登陆:Create table TEST(Id varchar2(10),Name varchar2(20));删除用户david及其所拥有的对象。
答案:DROP useR DAVID CASCADE;删除表空间test及其内容及数据文件。
答案:drop tablespace test including contents and datafiles;如何创建表空间?Sql>create tablespace histdb datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' autoextend on;1) DATAFILE: 表空间数据文件存放路径2) SIZE: 起初设置为200M3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k4) 空间名称histdb 与数据文件名称histdb.dbf 不要求相同,可随意命名.5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为500M什么是SQL,SQL语言分为哪几类?SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
Oracle综合测试二(含答案)
综合测试二一、基础设置1.1 创建新用户test1密码test11.2 赋予test1管理员权限1.3 给予用户创建会话的权限1.4 给予用户创建表的权限1.5 修改当前会话的时间显示为以下格式“yyyy-mm-dd hh:mm:ss”二、数据管理操作某个学生运动会比赛信息的数据库,保存了如下的表:表1:运动会信息表gameinfo表2:运动员sporter成绩grade请用SQL语句完成如下功能:1. 在test1用户下建表,注意满足如下要求:a) 定义各个表的主码外码约束b) 运动员的姓名和所属系别不能为空值。
c) 积分要么为空值,要么为6,4,2,0, 分别代表第一,二,三名和其他名次的积分。
2. 往表中插入数据:运动会表(101,秋季运动会,工业大学,2008-8-8,1000,12300.50)运动员(1001, 李明,男,计算机系1002,张三,男,数学系1003, 李四,男,计算机系1004, 王二,男,物理系1005, 李娜,女,心理系1006, 孙丽,女,数学系)项目(x001, 男子五千米,一操场x002,男子标枪,一操场x003, 男子跳远,二操场x004, 女子跳高,二操场x005, 女子三千米,三操场)使用批量操作插入此表数据积分(1001, x001, 61002, x001, 41003, x001, 21004, x001, 01001, x003, 41002, x003, 61004, x003, 21005, x004, 61006, x004, 4)3. 完成如下操作1)查询运动会信息表以文字形式显示运动会的信息。
例如:工业大学秋季运动会在2008年8月8日举行,参加人数1000人,赛会预计费用12,300.50元。
2)由于客观原因,参赛人数减少20%,费用缩减为原来的90%,请更改运动会信息表。
3)1006号运动员的信息更改为孙梦,外语系。
4)计算参加运动会的男女运动员共多少人。
oracle教程(第二版)》部分习题参考答案
文字性习题答案参见相应章节内容第1章习题1D A C C第2章习题1执行edit命令打开文本编辑器;使用column命令设置列显示宽度习题2CONN scott/tiger@orclSELECT * FROM tab; --本题严谨一些的答案是查询ALL_OBJECTS视图,带条件查询习题3@d:\init_data\init_data.sql习题4SET PAGESIZE 24SET LINESIZE 100COLUMN sal FORMA T $99,990.00第3章习题1D B习题2CONN stu01/stu01pwd@orclCOLUMN USERNAME FORMA T A10SELECT username,granted_role FROM user_role_privs;习题5CREA TE SESSION 系统权限习题11CONN scott/tiger@orclCOLUMN GRANTEE FORMA T A10SELECT grantee,table_name,grantor,privilege,grantableFROM user_tab_privs_made;习题12CONN system/systempwd@orclCOLUMN GRANTEE FORMA T A22SELECT grantee,privilege,admin_option FROM dba_sys_privsORDER BY grantee,privilege;SELECT grantee,granted_role FROM dba_role_privs;使用REVOKE命令回收不必要的系统权限和角色。
\第4章习题8CONN /@cemerp AS SYSDBAALTER USER scott QUOTA 10M ON USERS;习题9CONN system/systempwd@orclCREA TE TABLESPACE data_ts1DA TAFILE '%ORACLE_BASE%\oradata\orcl\data_ts1.dbf' SIZE 10000M REUSE; CREA TE TEMPORARY TABLESPACE temp_ts1TEMPFILE '%ORACLE_BASE%\oradata\orcl\temp_ts1.dbf' SIZE 200M REUSE; CREA TE USER surtec IDENTIFIED BY surtecpwdDEFAULT TABLESPACE data_ts1 TEMPORARY TABLESPACE temp_ts1; GRANT CREA TE SESSION TO surtec;GRANT RESOURCE TO surtec;CONN surtec/surtecpwd@orcl--创建该用户的表emp……--授权给SIBGRANT SELECT ON emp TO sib;GRANT UPDA TE(flag) ON endowment_insurance TO sib;习题10CONN system/systempwd@orclCREA TE USER test01 IDENTIFIED BY test1234;GRANT CREA TE SESSION TO test01;GRANT CREA TE TABLESPACE TO test01;CONN test01/test1234@orclCREA TE TABLESPACE test_tsDA TAFILE '%ORACLE_BASE%\oradata\orcl\test_ts.dbf' SIZE 100KAUTOEXTEND ON NEXT 50K MAXSIZE 5M UNIFORM SIZE 50K;ALTER TABLESPACE test_tsADD DA TAFILE '%ORACLE_BASE%\oradata\orcl\test_ts2.dbf' SIZE 10M; ALTER DA TABASEDA TAFILE '%ORACLE_BASE%\oradata\orcl\test_ts2.dbf' RESIZE 15M ;习题11CONN system/systempwd@orclALTER TABLESPACE pur_tsADD DA TAFILE '%ORACLE_BASE%\oradata\orcl\pur_data.dbf' SIZE 800M; ALTER DA TABASEDA TAFILE '%ORACLE_BASE%\oradata\orcl\pur_data.dbf' RESIZE 2000M ; ALTER DA TABASE DA TAFILE '%ORACLE_BASE%\oradata\orcl\pur_data.dbf' AUTOEXTEND ON NEXT 30M;第5章习题1B A习题8(1)撤销表空间中不允许建立永久方案对象;将方案对象建立在数据表空间即可。
Oracle数据库基础教程-参考答案
Oracle数据库基础教程参考答案第1章Oracle数据库概述1.简答题(1)数据是描述事物的符号,是数据库中存储的基本对象。
在计算机中,用记录的形式来描述数据。
数据与数据的解释即数据的语义是紧密结合的。
数据库是指按一定的数据模型组织、描述和存储的数据的集合。
数据库管理系统是位于操作系统与用户之间的一层数据管理软件。
数据库系统是指数据库、数据库管理系统与计算机系统的结合。
通常,在不引起混淆的情况下将数据库系统简称为数据库。
(2)数据库管理系统的主要功能包括:数据定义、数据操纵、数据库运行与控制、数据库建立与维护、数据字典定义以及数据通信等。
数据库管理系统的内部分多个层次,由应用层、语言定义及其翻译处理层、数据存取层、数据存储层、操作系统以及数据库组成。
(3)数据库系统由数据库、操作系统、数据库管理系统、开发工具、应用系统、数据库管理员以及数据库用户组成。
(4)概念模型是用简单、清晰、用户易于理解的概念来描述现实世界具体事物及事物之间的关系。
它是现实世界到信息世界的抽象,是数据库设计人员进行数据库设计的工具,与具体的数据库管理系统无关。
组织数据模型是从数据组织方式的角度来描述信息,它决定了数据在数据库中的组织结构。
(5)E-R图由3个要素组成:实体、联系与属性。
实体之间的联系有1:1、1:n、n:n三种类型。
(6)Oracle之所以得到广大用户的青睐,其主要原因在于:支持多用户、大事务量的事务处理、提供标准操作接口、实施安全性控制和完整性控制、支持分布式数据处理、具有可移值性、可兼容性和可连接性。
(7)目前市场上常见的关系数据库管理系统包括Oracle、DB2、Sybase和SQL Server等。
Oracle是当今最大的数据库厂商Oracle公司的数据库产品。
它是世界上第一个商品化的关系型数据库管理系统,也是第一个推出与数据库结合的第四代语言开发工具的数据库产品。
DB2是IBM公司于1983年推出的一个商业化关系数据库管理系统,它是基于System R 基础上实现的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、基于自己创建表的操作1:创建一张学生表student,拥有stuid,stuname,sex,三个字段,其中stuid为主键。
create table student(stuid int primary key,stuname VARCHAR(20),sex VARCHAR(20))2:为该表增加一个新列score。
alter table student add(score varchar(10));3:修改该表score列名为stuscore。
alter table student rename column score to stuscoree;4:为student表插入5条记录。
insert into student values(1,'张三丰','男',80);insert into student values(2,'阿悄','女',70);insert into student values(3,'陈龙','男',90);insert into student values(4,'章子怡','女',50);insert into student values(5,'张卫健','男',60);5:查询student表中的全部数据,其中列名为中文。
select STUID as 学号,STUNAME as 姓名,SEX as 性别,STUSCOREE as 分数from student;6:查询学生姓名和分数,并是查询结果按照学生成绩降序排列。
select STUNAME,STUSCOREE from student order by STUSCOREE desc;7:修改所有性别为“男”的学生信息为性别为“male”。
update student set SEX='male' where SEX='男';8:删除所有记录。
delete from student;9:删除student表。
drop table student;二、基于emp表的操作1:创建一张新表emp1,和emp表结构和记录完全一样。
create table emp1 as select*from Scott.Emp;基于emp1表的操作:1:选择部门30中的雇员。
select*from emp1 where DEPTNO=30 and JOB='CLERK';2:列出所有办事员(CLERK)的姓名、编号和部门。
select ENAME,EMPNO,DEPTNO from emp1 where JOB='CLERK';3:找出佣金高(comm)于薪金的雇员。
select*from emp1 where COMM> SAL and JOB='CLERK';4:找出佣金高于薪金60%的雇员。
select*from emp1 where COMM*0.6> SAL and JOB='CLERK';5:找出部门10中所有经理和部门20中所有办事员的详细资料。
select*from emp1 where DEPTNO=10 and JOB='MANAGER' union select*from emp1 where JOB='SALESMAN';6:找出部门10中所有经理和部门20中所有办事员以及既不是经理又不是办事员但其薪金大于或等于2000的所有雇员的详细资料。
select*from emp1 where DEPTNO=10 and JOB='MANAGER' union select*from emp1 where JOB='SALESMAN' union select*from emp1 where JOB in('CLERK') and SAL>=2000;7:找出收取佣金的雇员的不同工作。
select distinct JOB from emp1 where job='CLERK';8:找出不收取佣金或收取佣金低于100的雇员。
select *from emp1 where COMM is null or nvl(COMM,0)<100;9:按照部门编号显示所有雇员信息。
select *from emp1 order by DEPTNO;作业要求:将SQL语句复制粘贴在相对应的题目下面。
1:找出各月最后一天受雇的所有雇员select deptno,ename from emp where hiredate =last_day(hiredate);2:找出早于12年之前受雇的雇员select ENAME,months_between(sysdate,HIREDATE)/12 as 年from emp where JOB='CLERK' and (months_between(sysdate,HIREDATE)/12)>12;3:显示只有首字母大写的所有雇员的姓名select UPPER( SUBSTR(ename,1,1)) ||LOWER(SUBSTR(ename,2,LENGTH(ename)-1)) FROM emp where JOB='CLERK';4:显示正好为15个字符的雇员姓名select deptno,ename from emp where length(ename)=15 and JOB='CLERK';5:显示不带有‘R’的雇员姓名select ename from emp where ename not like '%R%'and JOB='CLERK';6:显示所有雇员的姓名的前3个字符select substr(ename,1,3) from emp where JOB='CLERK';7:显示所有雇员的姓名,用‘a’替换所有的‘A’select replace(ename,'A','a') from emp;8:显示所有雇员的姓名以及满10年服务年限的日期select ename,hiredate,add_months(hiredate,10*12) from emp;9:显示雇员的详细资料,按姓名排序select * from emp order by ename;10:显示雇员姓名,根据其服务年限,将最老的雇员排在最前面select empno,ename,job,mgr,hiredate,sal ,comm,deptno ,(sysdate-hiredate)/365 from emp order by (sysdate-hiredate)/365 desc;11:显示所有雇员的姓名、工作和薪金,按工作内的工作的降序顺序排序,而工作按薪金排序select ename,job,sal from emp order by job desc,sal asc;12:显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序,并将最早年份的项目排在最前面select ename,to_char(hiredate,'YYYY') year1,to_char(hiredate,'MON') month1 from emp order by year1 asc,month1;13:显示在一个月为30天的情况下所有雇员的日薪金,忽略小数select round(sal/30,0) as daypay from emp;14:找出在(任何年份的)2月份受雇的所有雇员select * from emp where hiredate like '%-2月%';15:对于每个雇员,显示其加入公司的天数select round((sysdate-hiredate)) from emp;16:显示姓名字段的任何位置,包含‘A’的所有雇员的姓名select ename from emp where ename like '%A%';17:以年、月和日显示所有雇员的服务年限selectename,to_number(to_char(sysdate,'YYYY'))-to_number(to_char(hiredate,'YYYY'))-1,to_number(to_char(sysdate,'mm'))-to_number(to_char(hiredate,'mm'))+10,to_number(to_char(sysdate,'dd'))-to_number(to_char(hiredate,'dd'))+30 from emp;18: 列出至少有一个雇员的所有部门select deptno from emp group by deptno having count(deptno)>0;19:列出薪金比“SMITH”多的所有雇员SELECT ename,sal, deptno FROM emp WHERE sal>(SELECT sal FROM emp WHERE ename='SMITH');20:列出所有雇员的姓名及其部门名select ENAME,DEPTNO from emp where JOB='CLERK';21:列出所有入职日期早于其直接上级的所有雇员SELECT e.ename as 职工, m.ename as 经理FROM emp e left join emp m on (e.mgr=m.empno) where e.hiredate<m.hiredate;22:列出各种类别的最低薪金,并使薪金大于1500select job, min(sal) from emp group by job having min(sal)>1500;23:列出薪金高于公司平均水平的所有雇员select ename, deptno from emp where sal>(select avg(sal) from emp);24:列出与“SCOTT”从事相同工作的所有雇员select deptno,ename from emp where job=(select job from emp where ename='SCOTT');25:列出薪金高于在部门30工作的所有雇员的薪金SELECT ename,sal from emp where sal >all(select sal from emp where deptno=30);26:列出薪金高于在部门30工作的最高的薪金SELECT ename,sal from emp where sal>all(select max(sal) from emp where deptno=30);27:列出每个部门雇员的数量select deptno,count(*) from emp group by deptno;28:列出所有雇员的名称,部门名称和薪金select ENAME,DEPTNO,SAL from emp where JOB='CLERK';29:列出从事同一种工作但不属于同一部门的这些员工select job,deptno from emp group by job,deptno;30:列出个类别工作的最低工资select job,min(sal) from emp group by job;31:列出各个部门的经理的最低薪金select DEPTNO,min(sal) from emp where job='MANAGER' group by DEPTNO;32:列出按计算的字段排序的所有雇员的年薪select ename,(sal+nvl(comm,0))*12 as yearpay from emp order by yearpay desc;33:列出所有CLERK的姓名及其部门名称select ENAME,DEPTNO from ep where JOB='CLERK';34:列出薪金水平处于前四位的雇员select sal,ename from emp order by sal desc;35:求出所有员工入职了多少年零多少月零多少天select empno,ename,to_char(floor(to_number((sysdate-hiredate)/365)))||' years '||to_char(ceil(months_between(sysdate,hiredate)-(floor(to_number((sysdate-hiredate)/365)))*12))||' months ' from emp;作业要求:将SQL语句复制粘贴在相对应的题目下面。