《数据库原理及应用》总复习题

更新时间:2024-05-23 05:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数据库原理及应用》总复习题

一 、单项选择题(81)

1. 数据库系统的核心是( )。 A)数据库

B)数据库管理系统 C)操作系统 D)文件 答案:B

2. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是( )。 A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS

D)DBS就是DB,也就是DBMS 答案:A

3. 在数据管理技术的发展过程中,数据独立性最高的是( )阶段。 A)数据库系统 B)文件系统 C)人工管理 D)数据项管理 答案:A

4. 数据库系统是由数据库、数据库管理系统(及其开发工具)、应用系统、( )和用户构成。 A)DBMS B)DB C)DBS

D)DBA(数据库管理员) 答案:D

5. 文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是( )。 A)DATA

B)INFORMATION C)DB D)其他 答案:A

6. ( )是长期存储在计算机内有序的、可共享的数据集合。 A)DATA

B)INFORMATION C)DB D)DBS 答案:C

7. ( )是位于用户与操作系统之间的一层数据管理软件。数据库在建立、使用和维护时由其统一管理、统一控制。 A)DBMS B)DB

C)DBS D)DBA 答案:A

8. 概念设计的结果是( )

A)一个与DBMS相关的要领模型 B)一个与DBMS无关的概念模型 C)数据库系统的公用视图 D)数据库系统的数据字典 答案:B

9. E-R方法的三要素是() A)实体、属性、实体集 B)实体、键、联系 C)实体、属性、联系 D)实体、域、候选区 答案:C

10. 要保证数据库的数据独立性,需要修改的是( ) A)模式与外模式 B)模式与内模式

C)三级模式之间的两层映射 D)三级模式 答案:C

11. 描述数据库全体数据的全局逻辑结构和特性的是( ) A)模式 B)内模式 C)外模式 D)全模式 答案:A

12. 在数据库管理技术发展的3个阶段中,没有专门的软件对数据进行管理的阶段是()I.人工管理阶段 II.文件系统阶段 III.数据库阶段 A)I 和 II B)只有 II C)II 和 III D)只有 I 答案:D

13. 下列四项中,不属于数据库系统特点的是( ) A)数据共享 B)数据完整性 C)数据冗余度高 D)数据独立性高 答案:C

14. 应用数据库的主要目的是为了() A)解决数据保密问题 B)解决数据完整性问题 C)解决数据共享问题

D)解决数据量大的问题 答案:C

15. 如果一个班只有一个班长,且一个班长不能同时担任其他班的班长,班和班长两个实体之间的联系属于( )。 A)一对一关系 B)一对二关系 C)多对多关系 D)一对多关系 答案:A

16. 在概念模型中,客观存在并可以相互区别的事物称为() A)码 B)属性 C)联系 D)实体 答案:D

17. 在关系代数运算中,三种专门运算为( )。 A)并、交、补

B) 并、选择、投影 C)选择、投影、连接 D)选择、笛卡尔积、投影 答案:C

18. 关系模型中,主关键字是( )。 A)可由多个任意属性组成 B)至多有一个属性组成

C)可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D)以上都不是 答案:C

19. 假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是 SC(S#,C#,GRADE)。要查找选修“COMPUTER”课程的女学生姓名,将涉及到关系()。 A)S B)SC,C C)S,SC D)S,C,SC 答案:D

20. 设有关系R(A,B,C),与SQL语句:SELECT DISTINCT A FROM R WHERE B=17等价的关系代数表达式是()。 A)ΠA(R) B)σB=17(R)

C)ΠA(σB=17(R)) D)σB=17(ΠA(R)) 答案:C

21. 关系代数中的σ运算符对应SELECT语句中的()子句。 A)SELECT

B)FROM C)WHERE D)GROUP BY 答案:C

22. 在下面列出的数据模型中,哪一种是数据库系统中最早出现的数据模型() A)关系 B)层次 C)网状

D)面向对象模型 答案:B

23. 一个关系中取出满足某个条件的所有元组形成一个新的关系的操作是( )操作。 A)投影 B)连接 C)选择 D)复制 答案:C

24. 关系代数中的Π运算符对应SELECT语句中的()子句。 A)SELECT B)FROM C)WHERE D)GROUP BY 答案:A

25. 一个关系中,能唯一标识元组的属性集称为关系的() A)副键 B)关键字 C)从键 D)参数 答案:B

26. 目前( )数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统。 A)关系 B)面向对象 C)分布 D)面向过程 答案:A

27. 关系数据模型是目前最重要的一种数据模型,它的三个要素是( ) A)实体完整性、参照完整性、用户自定义完整性 B)数据结构、关系操作、完整性约束 C)数据增加、数据修改、数据查询 D)外模式、模式、内模式 答案:A

28. 下列关于数据库数据模型的说法中,哪一个是不正确的()? A)任何一张二维表都表示一个关系 B)层次模型的数据结构是有向树结构

C)在网状模型中一个子结点可以有多个父结点

D)在面向对象模型中每个对象都有一个惟一的标识。 答案:A

29. 现有如下关系:患者(患者编号,患者姓名,性别,出生日期,所在单位)、医疗(患者编号,医生编号,医生姓名,诊断日期,诊断结果),其中,医疗关系中的 外码是() A)患者编号 B)患者姓名

C)患者编号和患者姓名 D)医生编号和患者编号 答案:A

30. 关系数据库管理系统应能实现的专门关系运算包括() A)排序、索引、统计 B)选择、投影、连接 C)关联、更新、排序 D)显示、打印、制表 答案:B

31. 自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( )。 A)元组 B)行 C)记录 D) 属性 答案:D

32. 如果采用关系数据库实现应用,在数据库逻辑设计阶段需将( )转换为关系数据模型。 A)E-R模型 B)层次模型 C)关系模型 D)网状模型 答案:A

33. 关系数据库系统采用关系模型作为数据的组织方式,关系模型是谁先提出来的()? A)P.P.S.CHEN B)J.Martin C)E.F.Codd D)w.H.Inmon 答案:C

34. 下面()不是微软公司为用户提供的六种版本的SQL Server 2005之一。 A)企业版 B)开发版 C)应用版 D)标准版 答案:C

35. Microsoft SQL Server 2005是一种基于客户机/服务器的关系型数据库管理系统,它使用( )语言在服务器和客户机之间传递请求。 A)TCP/IP

2.按照图表中给出的表定义,请在student数据库中创建学生表。(4分) 3.查询学生表中女同学的基本信息。(2分)

4.查询成绩表中选修了课程号为‘002’的所有学生的学号及成绩,并按成绩降序排列。 (3分) 5.查询成绩表中课程号为‘003’课程的成绩最高分。(2分)

6.查询所有学生的学号、姓名、所选课程的课程名称及相应成绩(4分) 7.查询学生表中各系的的学生人数,结果显示系别和人数两列。(3分)

8.向成绩表成绩中插入一行数据,列值分别为:(’20090101’,’003’,89 ) (2分) 9.修改课程表中 ‘数据结构’课程的学分,将其学分改为6 。 (2分) 10.删除学生表中姓张的学生记录(2分)

11.根据学生表创建视图View1,视图包含计算机系所有学生的基本信息。(3分) 12.查询视图View1所包含的数据。(2分)

13.创建存储过程Proc1,使其完成如下功能:根据任意输入的学生学号,查询成绩表中该学生的学号、课程号及成绩。(使用输入参数)(5分)

14.执行第13小题中创建的存储过程Proc1,执行时输入的学生学号为‘20090101’(2分) 15、删除成绩表。(2分)

答案:

1.(2分)create database student 2. (4分)

create table 学生表

( 学号char(8) primary key, 姓名char(6) not null,

性别char(2) default ’男’,

年龄int check(年龄 between 15 and 25), 系别 char(30) null )

3.(2分)select * from学生表 where 性别='女'

4.(3分)select 学号,成绩 from 成绩表 where 课程号=’002’order by 成绩 desc 5.(2分)select max(成绩) as ‘最高分’ from 成绩表 where 课程号=’003’ 6.(4分)select 学生表.学号,姓名,课程名,成绩 from 学生表,成绩表, 课程表 where学生表.学号=成绩表.学号 and 成绩表.课程号=课程表.课程号

7.(3分)select 系别,count(*)as ‘人数’from 学生表 group by 系别 8.(2分)insert into 成绩表 values(‘20090101’,’003’,89) 9. (2分)update 成绩表 set 学分=6 where 课程名=’数据结构’ 10. (2分)delete from 学生表 where 姓名 like ‘张%’ 11. (3分) create view view1 as

select 学号,姓名 from 学生表 where 系别=’计算机系’ 12. (2分) select * from view1

13. (5分)create procedure proc1 @xm char(8) as

select * from 成绩表 where 姓名=@xm

14. (2分) execute proc1 ‘20090101’ 15. (2分) drop table 成绩表

2. 完成如下所要求所用的操作命令:(共40分)

1、创建一个存放在D:\\SQL路径下Test数据库,该数据库的主数据文件逻辑名称为Test_data,物理文件名为Test_data.mdf,初 始大小为4MB,最大尺寸为10MB,增长速度为10%;数据库的日志文件逻辑名称为Test_log,物理文件名为Test_log.ldf,初始大小 为1MB,最大尺寸为5MB,增长速度为1MB。 (4分)

2、依据表结构创建score表。(3分) 3、查看表中所的的数据行。(2分)

4、查看表中姓名、SQL 两列数据,并按成绩降序排列。。(2分) 5、查看表中姓王学生的基本信息。(3分)

6、查看所有学生的学号、姓名及总分(三门课相加)。(2分) 7、向score表中插入一行数据,值分别为:(2分) (1005 , ‘赵强’, 64, 82 , 69)

8、修改表中姓名为王英的数据,使VB的值改为:85 (2分) 9、创建视图xs1,使其包含学号、姓名、SQL三列。(3分)

10、创建存储过程pjf,用它来按姓名查询score表中任一学生的平均成绩。 (4分) 11、执行第10小题中创建的存储过程pjf。 (2分)

12、建立触发器tr1p,防止用户对score表有删除、修改及插入操作。(4分) 13、显示score中各门课的平均值。(3分) 14、删除score表中姓王的所有数据行。(2分) 15、删除test数据库 。(2分)

答案:1、(4分) create database test on --建立主数据文件 (

name = test_data, --逻辑文件名

filename='d:\\sql\\test_data.mdf', --物理文件路径和名字 size=4mb, --初始大小

maxsize= 10mb, --最大容量 filegrowth = 10% --增长速度 )

log on --建立日志文件 (

name=test_log,

filename='d:\\sql\\test_log.ldf', size=1mb,

maxsize = 5mb, filegrowth = 1mb )

2、(3分)

create table score

( 学号char(8) primary key, 姓名char(6) not null,

sql float check(sql between 0 and 100), asp float check(asp between 0 and 100), vb float check(asp between 0 and 100) )

3、(2分)select * from score

4、(2分) select姓名,sql from score order by sql

5、(2分)select * from score where 姓名 like ‘王%’ 6、(2分)select 学号,姓名,sql+asp+vb as 总分 from score

7、(2分)insert into score values(1005,‘赵强’,64,82,69) 8、(2分)update score set vb=85 where 姓名=‘王英’

9、(3分)create view xs1 as select 学号,姓名,sql from score 10、(5分)create procedure pjf @xm char(8)

as select avg(asp+vb+sql) ‘平均分’ from score where姓名=@xm 11、(2分)execute pjf

12、(4分)create trigger tr1 on score for delete,update,insert as

Print’不允许执行上述操作’ Rollback transaction Return go

13、(3分)select avg(sql),avg(asp),avg(vb) from score 14、(2分)delete from score where 姓名 like ‘王%’ 15、(2分)drop database test

3. 完成如下所要求所用的操作命令:(共40分)

有一表名为”图书信息表”的表,依据此表内容完成以下题目要求:

1、创建一个存放在D:\\SQL路径下的Book数据库,该数据库的主数据文件逻辑名称为Book_data,物理文件名为Book_data.mdf, 初始大小为4MB,最大尺寸为10MB,增长速度为10%;数据库的日志文件逻辑名称为Book_log,物理文件名为Book_log.ldf,初始大 小为1MB,最大尺寸为5MB,增长速度为1MB。 (5分)

2、依据图1的内容,创建“图书信息表”。(4分) 3、向表中插入一行数据,列值分别为:(3分)

(’1006’,’数据库原理’,’王珊’,’高等教育出版社’,25,20,null) 4、查看表中所有的数据行(2分) 5、显示表中单价的最大值(3分)

6、查看表中单价大于30且库存量小于10的数据行(3分)

7、查看表中的书号、书名及总金额列(由单价*库存量计算得出)(3分) 8、修改表中书名为‘多媒体技术’的库存量,使其库存量为38(3分) 9、根据表创建视图AA,使该视图包含书号、书名及单价(3分)

10、创建存储过程xxx,使其完成如下功能:查询表中高等教育出版社出版的图书的数目。 (4分) 11、执行第8小题中创建的存储过程XXX。(2分) 12、删除表中作者姓张的数据行(3分) 13、删除该图书表(2分)

答案:1.(4分) create database book on --建立主数据文件 (

name = book _data, --逻辑文件名

filename='d:\\sql\\book_data.mdf', --物理文件路径和名字 size=4mb, --初始大小

maxsize= 10mb, --最大容量 filegrowth = 10% --增长速度 )

log on --建立日志文件 (

name= book_log,

filename='d:\\sql\\ book_log.ldf', size=1mb,

maxsize = 5mb, filegrowth = 1mb )

2. (3分)

create table图书信息表

(

书号 varchar(10) primary key, 书名varchar(20) not null, 作者varchar(20) not null, 单价int null,

库存量int default ‘10’ )

3. (2分)

insert into图书 values(1005,‘数据库原理’,‘王珊’,‘高等教育出版社’,25,20) 4. (2分) select * from 图书

5. (2分) select max(单价) as ‘最高价’from 图书

6.(3分) select * from 图书 where 单价〉30 and 库存量〈10

7. (3分) select 书号,书名,单价*库存量 as ‘总金额’ from 图书 8. (2分) update 图书 set 库存量=38 where 书名=‘多媒体技术’ 9. (3) create view AA as select 书号,书名,单价 from 图书信息表 10 (4分) create procedure xxx as

select count(*) from 图书 where 出版社=‘高等教育出版社’ 11. (2分) execute xxx

12. (2分)delete from 图书 where 姓名 like ‘张%’ 13. (2分) drop table 图书

4. 请根据下表内容完成题目要求:(表的名字为:商品表) 编号 商品名 单价 数量 状态 001 电视机 1200 5 0 002 洗衣机 1650 13 0 003 空调 5600 8 1 004 自行车 180 43 1 005 电视机 2580 18 1 006 洗衣机 3600 23 0

1、 查询表中所有的数据行。 2、 查询表中前两行数据。

3、 显示表中商品名和单价,并去掉重复行的数据。 4、 查看表中数量低于10的商品信息。 5、 查看表中价格最高的的商品名。

6、 查看表中单价在1000和3000之间的商品信息。

7、 显示表中商品名和单价两列数据,且按单价降序排列。 8、 显示表中商品名以电开头的数据行。

9、 向表中添加一行数据,其值为(‘007’,‘电冰箱’,4560,56) 10、 更改表中的数据,将自行车的单价改为280。 11、 删除表中商品名为电冰箱的数据行。

12、 依据此表创建视图aa,使该视图包含编号,商品名,及单价*0.8三列。 13、 删除该表. 答案:

1、select * from 商品表

2、select top 2 * from 商品表

3、select distinct 商品名,单价 from商品表 4、select * from商品表 where 数量<10

5、select top 1 商品名 from商品表 oder by 单价 desc 6、select * from商品表 where 单价 between 1000 and 3000 7、select 商品名,单价from商品表 oder by 单价 desc 8、select * from 商品表 where 商品名 like ‘电%’

9、insert into商品表 values(‘007’,‘电冰箱’,4560,56) 10、update 商品表 set单价=280 where商品名=’自行车’ 11、delete from商品表 where商品名=’ 电冰箱’ 12、create view aa

as select 编号,商品名,单价*0.8 from 商品表 13、drop table 商品表

本文来源:https://www.bwwdw.com/article/6s57.html

Top