数据库课程设计Oracle习题
第一章
习题1.在Oracle数据库中,主要有哪些数据库对象?
答:主要有表、索引、视图、存储过程、触发器、序列和函数等。
习题2. 在Oracle数据库中,Schema有什么用途?
答:Oracle中提供Schema来组织管理数据库对象。Schema是一种将用户拥有的数据库对象集合组织在一起的逻辑对象,以便用户按照统一权限管理对拥有的数据库对象进行访问操作。
习题3. 在Oracle数据库中,数据字典有什么用途?
答:通常将数据库中存放系统元数据的数据库表及视图合称为数据字典。数据字典用于保存数据库系统自身及所创建对象的元数据信息,它只能由数据库系统软件进行存取访问。用途:通过存取数据字典,可访问数据库中所有数据库对象及其存储结构信息。当系统执行数
据库对象操作的DDL语句后,在数据字典中记录与维护该对象的元数据。
习题6. 在Oracle数据库中,其逻辑结构与物理结构是如何联系的?
答:对于Oracle数据库,逻辑存储结构用来面向用户构建数据库组成结构,物理存储结构用来组织数据库的存储文件。物理存储结构是一种操作系统层面组织与存储数据的数据库结构,逻辑存储结构则是从数据库用户层面组织与存储数据的数据库结构。每个Oracle数据库有多个表空间,每个表空间可以有一个或多个数据段。每个段由包括一个或多个数据区组成。每个数据区由一个或多个Oracle数据块组成。每个表空间由多个操作系统数据块组成。每个数据文件对应多个逻辑结构的数据区。每个Oracle数据块对应多个操作系统数据块。
习题7.如何理解Oracle数据库实例?它在系统中是什么结构?
答:数据库实例是一种管理数据库内存结构及其后端进程的集合。Oracle数据库实例是通过一个被称为系统全局区的内存区域来实施运行的。SQA又包含数据缓冲区、重做日志缓冲区、共享缓冲池、大池、固定池、Java池和Stream池等系统区域。SQA的功能是用来存
储每个用户所需存取的数据,以及实例运行的系统信息。实例后端进程是数据库实例运行程序,主要包括进程监控进程、系统监控进程、数据库写入进程、日志写入进程和检查点进程等程序。
第二章
习题1.什么是多租户数据库?这种数据库有什么用途?
答:多租户技术是指多个租户共用一个相同的应用或服务时,仍可确保用户之间的数据隔离性。在多租户数据库模式下,各租户虽然运行在同一数据库系统中,但他们只能查看和修改自己的数据合集,租户之间相互独立,彼此互不影响。可以用于解决租户之间的数据隔离问题。
习题7.什么是表空间?表空间有什么用途?
答:表空间是一种逻辑容器,它用于组织各种数据库对象(如表、索引、视图等)的逻辑存储,并管理相关的数据文件。
习题8.表空间与数据库、数据库文件之间的关系是什么?
答:每个Oracle数据库都包含多个表空间,一个表空间会拥有一个或多个与之相关的数据文件,但一个数据文件只能与一个表空间关联。数据库的逻辑对象需要表空间来组织,数据库的物理数据文件也需要表空间来关联管理。
第三章
习题4.Oracle表级约束与字段级约束有什么不同?他们分别使用什么关键字来定义?
答:表级约束是指在定义完一个表所有列之后,再去定义所有相关约束。列级约束是在定义一个表的每一列的同时定义每一个列的约束条件,其约束条件位于每一列之后。表级约束使用CONSTRAINT关键词来定义复合主键或者外键,列级约束使用PRIMARY KEY、NOT NULL、NULL、UNIQUE、CHECK、DEFAULT等关键字。
习题7.DROP语句和DELETE语句有什么区别?它们分别用在什么场合?
答:它们的语法不同,参数不同、注释不同。DROP TABLE不能用于除去由FOREIGN KEY约束引用的表,必须先除去引用的FOREIGN KEY约束或引用的表。DELETE删除所有行,可以在不删除表的情况下删除所有行,这意味着表的结构、属性和索引都是完整的。
DROP主要用于删除结构,例如删除数据库、表和字段等。DELETE主要用于删除数据,例如表上的某些信息。
习题9.在多表关联查询处理时,什么情况下适合用子查询?什么情况下适合用连接查询?
答:当子表很小的时候子查询较快,子查询只有一条记录,如果需要唯一的列,最好用子查询。当使用查询语句需要嵌套较多子查询时,不适合使用。当需要从多个表获取结果数据时可以使用多表连接查询。
习题10.左外连接和右外连接分别解决内连接查询的什么问题?
答:左外连接即使与右表连接不匹配,也从左表返回所有的行。右外连接即使与左表连接不匹配,也从右表返回所有的行。
习题11.什么是索引?索引在数据库中有什么作用?
答:索引是一种针对表中指定列的值进行排序的数据结构,使用它可以加快表中数据的查询访问。在数据库中,索引可以加快表查询的速度。在作为主键的列上创建索引,保证数
据的唯一性。在参照引用主键的关联表中的外键列上创建索引,实现表与表之间的参照完整性。在经常需要查询结果排序的列上创建索引,可以使用索引的排序,加快结果集排序处理。在WHERE子句中的列上创建索引,可加快条件的判断速度。
习题14.什么是视图?在数据库中视图有哪些用途?
答:视图是一种建立在基础表或其他视图之上的虚拟表。用户同样可以使用SQL语句对视图进行数据插入、数据修改、数据删除和数据查询处理。使用视图可以制定用户数据,聚焦特定的数据,可以简化数据操作,从而使得用户不必为以后的操作每次指定全部的条件。通过视图用户只能修改和查询他们所能见到的数据,可以被限制在数据的不同子集上。
习题20.什么是Oracle同义词?它有什么用途?
答:同义词是数据库对象的一种别名。在数据库中可以给各种对象建立别名。用户在数据库中创建别名的原因可以是为了简化过长的对象名称,也可以是为了隐藏远程数据库对象的位置信息或屏蔽拥有者的名称信息。
第四章
习题1.PL/SQL代码块有哪些部分组成?它们分别包含什么内容?
答:由四部分组成,即块头区、声明区、执行区和异常区。块头区包含程序单元名字和参数。声明区的目的是声明一些变量,这些变量在块内是有效的,变量的数据类型是任何Oracle定义的数据类型,在声明变量时,可以用“:=”来给变量赋值。执行区完成该程序单元的功能逻辑,即该程序单元的行为定义部分,是PL/SQL程序单元的主体部分。异常区位于PL/SQL块结构的END关键字之前,用于捕获关键字END之前的PL/SQL块抛出的异常并获得处理。
习题6.PL/SQL的异常结构是怎样定义的?什么时候抛出异常?如何处理异常?
答:定义:EXCEPTION
WHERE<异常名1>
THEN
Handling error1;
WHERE<异常名2>
THEN
Handling error2;
WHEN others
Default error handling;
EXCEPTION说明下面是一个异常区,而WHEN后为一个具体的异常,THEN后是对该异常的处理代码,一个异常区可以有多个WHEN和THEN的搭配使用来处理不同异常。当数据库检测到错误时,就抛出相应的异常。一旦有异常抛出,当前PL/SQL块就会终止正常执行,把控制传递给异常处理单元,这个异常或者被当前PL/SQL块中的处理句柄处理,或者抛给外层块。
习题7.PL/SQL的内置函数主要有哪些?分别有什么功能?
答:主要有数值函数、分组函数、转换函数、日期函数、字符函数。数值函数可以取绝对值、求余数、求N次方、求小数位的值。分组函数可以返回平均值、行数、表达式的最大最小值、列或表达式总和及方差标准差。转换函数可以将一个数值转换为指定格式的字符串或者将字符型转换成按指定格式的数值。日期函数可以查出当前系统日期、给出的日期列表中最早及最后的日期等。
习题10.Oracle显式游标的处理步骤有哪几步?具体语法是什么?
答:Oracle显式游标的处理包括声明游标、打开游标、游标数据读取和关闭游标4个步骤。
具体语法:DECLARE
StuID cahr(12);
CURSOR select_stu IS //定义游标
SELECT STUDENTID
FROM STUDENT;
基于java的课程设计题目 BEGIN
OPEN select_stu; //打开游标
FETCH select_stu INTO StuID; //将第一行数据放入变量中,游标后移
LOOP
EXIT WHEN NOT select_stu% FOUND;
DBMS_OUTPUT.PUT_LINE(‘STUDENTID IS’||StuID);
FETCH select_stu INTO StuID;
END LOOP;
CLOSE select_stu; //关闭游标
END;
习题13.什么是存储过程?存储过程的作用是什么?
答:存储过程是数据库对象之一,它是数据服务器内的一段使用PL/SQL语言编写的程序单元,具有EXECUTE权限的用户可以显示调用的过程。存储过程可以加快程序的执行速度,减少网络的数据流量,提供了一种安全机制,允许程序模块化设计,提高了编程的灵活性。
习题16.什么是触发器?触发器的作用是什么?
答:触发器类似于Oracle的PL/SQL存储过程,但它不能被显示调用,而是由数据库服务器维护。数据库触发器是一个当数据库发生某种事件时,作为对这个事件的响应而执行的一个被命名的程序单元。触发器的作用是对表的修改做验证、数据库的自动维护及通过不同的粒度落实数据库活动的管理规则。
习题17.触发器主要分为哪几类?它们的作用分别是什么?
答:触发器基于不同的操作类型主要分为3类:第一种基于DML操作的触发器,即触发器可以在用户对一个表进行INSERT、UPDATE、DELETE操作时触发行为。第二种是基于DDL操作的触发器,如CREATE、ALTER和DROP,在执行这些操作之前或者之后实现触发器
行为。第三种是基于数据库级操作的触发器,数据库级操作是指STARTUP、SHUTDOWN、LOGON、LOGOFF等操作,此类触发器在数据库级行为发生时触发触发器。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论