《2022年数据库原理与应用考试》由会员分享,可在线阅读,更多相关《2022年数据库原理与应用考试(8页珍藏版)》请在金锄头文库上搜索。
1、1 广东邮电职业技术学院计算机系数据库原理与应用期中考试试卷班级姓名分数一填空(10 分) 1. 当前广泛应用的数据库产品类型为关系型 DBMS 。2. 数据模型主要包括:数据结构、数据操作、数据的约束条件三部分。3. 操作数据库的语言为:SQL 语言。4. selecct语句中的五种常用汇总函数为:SUM()COUNT () AVG() MAX ()MIN () 。5. Oracle 中的五种约束类型为主键 外键 非空 唯一 检查 。6. 列举外连接的种类 左外连接右外连接全外连接 。7. 实现多表连接的三种主要算法为散列连接排序合并嵌套循环 。8. 给表添加索引的主要目的提高查询速度 。9
2、. 最常用的索引结构为:B-树结构 。10.在 SQL *PLUS 中设置每行显示字符个数为300 命令为set linesize 300 11.在 SQL*Plus 中设置只显示查询的执行计划的命令为set autotrace trace explain 。二简答(20 分) 1. 写出引用完整性的含义。外键的值或者为空,或者匹配于其引用的键值实体完整性约束:主键属性不能允许空值,空值也称为null 值,指其值不确定或不存在。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,
3、共 8 页 - - - - - - - - - 2 2. 写出 having 和 where 应用在 select语句中的差别。(1)where 子句的位置在group by 子句之前, 而 having子句在 group by 之后,(2)where 子句在分组之前对表中记录过滤,having 子句在分组之后对分组结果进行过滤。(3)where 子句不能包含分组函数。(4)如果查询条件不包含分组函数,则having 子句和 where 子句都可以使用,优先选用 where 子句,如果使用having 子句,则要注意having 子句中出现的列名,要预先在group by子句中出现,3. 说明
4、 oracle中的索引的结构,即叶节点、分支接点、根接点分别包含什么内容根节点:在索引结构中处于最顶端的数据块,存储索引键值及分支节点的数据块的块号。分支节点:处于中间层的数据块,存储索引键值及叶节点的数据块的块号叶节点:处于结构最底层的数据块,存储索引键值及键值所在记录的rowid 4. 描述多表连接的nested loops join及 hash join 算法的主要缺点。5. 简述 oracle数据库由哪些文件构成并说明每种文件的作用Oracle 数据库由警告文件, 口令文件, 初始化参数文件, 临时数据文件, 控制文件,重做日志文件构成。警告文件:是一个简单的文本文件,用于记录数据库运
5、行的信息。口令文件:存放 sys用户及其口令。初始化参数文件:用于存储所有的数据库启动参数。数据文件:存储数据库数据的文件,比如表和索引都存在数据文件里。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 3 临时数据文件:用于存放大的排序操作或散列操作的临时数据。控制文件:存储数据库的物理结构信息。重做日志文件:存储了所有用户对数据库的数据修改记录。6当 Oracle 数据库的某个数据文件(例如,数据文件 5)丢失时,如何正常打开
6、数据库,写出所需主要命令。Conn / as sysdba Shutdown immediate Startup mount (1)Alter database datafile 5 offline; (2)Alter database create datafile 5; Recover datafile 5; Alter database open; 7描述启动 Oracle 数据库的三个阶段,并说明前两个阶段分别在什么情况下使用先启动 parameter file,control file,redo file 和 data file 数据库启动过程(1) 读取参数文件 , 打开 aler
7、t 文件和跟踪文件, 寻找并打开参数文件中指定的控制文件(2)读取控制文件以获得数据文件和重做文件的名称和状态(3)打开联机数据文件,打开联机重做文件8Godd 的建议:(1) 用一种简单的数据结构存储数据(2) 通过一种更高层次的面向集合的语言访问数据名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 4 (3) 不需要说明数据的物理存储方式9按指定条件写出SQL 语句。 (48 分) a) 查询 emp 表中记录的总数。Sele
8、ct count(*) from emp; b) 查询 emp 表中, ename字段的第一个字母为A 的所有员工的名称。Select ename from emp where ename like A% ; c) 查询 emp 表中,每个员工的名称及其对应的经理名称。Select e.ename,m.ename from emp e,emp m Where e.mgr=m.empnod) 把 emp表中, empno 为 7369 的员工的 sal 值增加 100。Update emp set sal=sal+100 where empno=7369; e) 向 dept 表添加一条记录,其
9、字段值分别为:deptno:60,dname: R&D, loc: NEW YORK Insert into dept(deptno,dname,loc) values (60, R&D&D , NEW YORK ); f)查询 emp 和 dept 表 得出每个员工的名称及其部门地址Select e.ename,d.loc from emp e,dept d Where e.deptno=d.deptno; g) 创建一表空间test,其数据文件为: e:test.dbf,大小为: 10M,自动增长,其他取名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -
10、- - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 5 默认值。Create tablespace test Datafile e:test.dbfSize 10m Autoextend on h) 在 emp表的 ename字段建立索引,要求创建到test表空间。Create index idx_emp_ename on emp(ename) Tablespace test; i)查询 emp 表中,每个部门的平均工资(按照 deptno分组 )。Select deptno, avg(sal) from emp G
11、roup by deptno; j)把 emp表的 comm 字段添加 not null 约束。Delete from emp where comm is null; Alter table emp modify comm not null; k) 给 emp 表的 deptno 列添加外键约束,名称为fk_deptno,指向 dept 表的 deptno列。Alter table emp add constraint fk_deptno foreign key (deptno) references dept(deptno); 名师资料总结 - - -精品资料欢迎下载 - - - - - -
12、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 6 l)删除 emp 表中, deptno为 10 的所有员工记录。Delete from emp Where deptno=10; m) 查询 emp 表中,部门平均工资超过2000 的部门号及对应的平均工资值Select deptno,sal from emp Group by deptno Having avg(sal)2000 或者Select deptno,(select avg(sal) from emp e where e.dep
13、tno=m.deptno) from emp m 10根据下面给出的Oracle 报错信息写出出错原因及解决方法。(6 分) a) ORA-12560: TNS: 协议适配器错误原因 没有开启数据库服务方法1、开始 -控制面板 -管理工具 -服务-oracleserver+数据库名称打开此服务即可2、输入net start oracleservice+ 数据库名称回车即可b) ORA-01017: invalid username/password; login denied 原因是当用户名或口令输入不正确时或者数据库服务还没启动时,就会出现上面那样的报错。正确输入用户名及其口令。名师资料总结
14、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 7 11设计实验步骤,比较三种表连接算法在没有索引情况下的查询效率,写出主要步骤及应用三种算法的查询命令。(10 分) 121、查询数据库中包含哪些表空间Conn system/oracle Select tablespace_name from dba_tablespaces; 2、查询表空间tbs所包含数据库文件的大小要求用M 字节为单位Select tablespace_name,blo
15、cks,file_id,bytes/1024/1024 from dba_data_files where tablespace_name = TBS ; 3.查询 emp 表被分配的区的信息:Select segment_name,extent_id,blocks,block_id,file_id From dba_extents Where segment_name= EMP ; 4、查询数据库中是否创建了scott账号Select username from dba_users; 5、查询表 t 被分配的每个区的大小Select segment_name,extent_id,block,
16、bytes/1024 from dba_extents Where segment_name= T ; 6、查询 5 号数据文件的空闲空间信息Select sum(bytes) from dba_free_space where file_id=5; 7、查询索引 idx 叶节点中数据块及标记为删除的个数Analyze index idx validate structure; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 8
17、 Select lf_rows,del_lf_rows from index_stats; 8Select ename,sal from emp Where sal=(select max(sal) from emp) 13英译汉 (6 分) Database integrity(完整性 ) is usually expressed (明确 )in terms of constraints, which are consistency (结合)rules that the database is not permitted (允许)to violate(违反) . Constraints (约束) may apply to(申请)data within(在内)a single record or they may apply to relationships between records. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -