您的当前位置:首页正文

数据库复习题

2022-09-19 来源:钮旅网
数据库复习题

一、单选题

1、数据库系统和文件系统的主要区别是( B )。 A. 数据库系统复杂,而文件系统简单

B. 文件系统不能解决数据冗余和数据独立性问题,而数据库系统能够解决

C. 文件系统只能管理文件,而数据库系统还能管理其他类型的数据

D. 文件系统只能用于小型、微型机,而数据库系统还能用于大型机

2、在数据库中存储的是( C )。 A. 数据 B. 数据模型

C. 数据及数据之间的联系 D. 信息

3、下述关于数据库系统的正确叙述是(A)。 A. 数据库系统减少了数据冗余 B. 数据库系统避免了一切冗余

C. 数据库系统中数据的一致性是指数据类型一致 D. 数据库系统比文件系统能管理更多的数据 4、数据库系统的数据独立性是指( D )。 A. 不会因为数据的变化而影响应用程序

B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序

C. 不会因为存储策略的变化而影响存储结构

D. 不会因为某些存储结构的变化而影响其他的存储结构 5、关系数据库中的关键字是指( D )。 A. 能唯一决定关系的字段 B. 不可改动的专用保留字

C. 关键的很重要的字段

D. 能唯一标识元组的属性或属性集合

6、在数据库中,产生数据不一致的根本原因是( C )。 A. 数据存储量太大 B.没有严格保护数据 C. 未对数据进行完整性控制 D. 数据冗余

7、若要撤销数据库中已经存在的表S,可用(A)。 A. DELETE TABLE S B. DELETE S C. DROP TABLE S D. DROP S

D 8、设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要把“张二的化学成绩80分”插入S中,则可用(A)。

A. ADD INTO S V ALUES(?张二?,?化学?,?80?) B. INSERT INTO S V ALUES(?张二?,?化学?,?80?) C. ADD INTO S V ALUES(?张二?,?化学?,80) D. INSERT INTO S V ALUES(?张二?,?化学?,80)

9、SQL语言的数据操纵语句包括SELECT、INSERT、UPDA TE、DELETE等。其中最重要

的,也是使用最频繁的语句是(A)。 A. SELECT B. INSERT C. UPDA TE D. DELETE

10、学生关系模式S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是(A)。

A. DELETE Age from S B. ALTER TABLE S DROP Age C. UPDA TE S Age D. ALTER TABLE S …Age?

B 11、SQL语言是(A)的语言,容易学习。 A.过程化 B.非过程化 C.格式化 D.导航式

C 12、若要在基本表S中增加一列CN(课程名),可用(A)。 A.ADD TABLE S(CN CHAR(8)) B.ADD TABLE S ALTER(CN CHAR(8)) C.ALTER TABLE S ADD(CN CHAR(8) D.ALTER TABLE S (ADD CN CHAR(8)) 13、若用如下的SQL语句创建了一个表SC:

CREA TE TABLE SC (S# CHAR(6)NOT NULL,C# CHAR(3)NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,()行可以被插入。

A.(?201009?,?111?,60,必修) B.(?200823?,?101?,NULL,NULL) C.(NULL,?103?,80,?选修?) D.(?201132?,NULL,86,? ?)

14、一个规范化的关系至少应当满足()的要求。 A.一范式 B.二范式 C.三范式 D.四范式

15、有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#,GRADE)。其中S#是学生号,SNAME是学生姓名,SEX是性别,C#是课程号,CNAME是课程名称。要查询选修“数据

库”课的全体男生姓名的SQL语句是SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容是()。

A.S.S# = SC.S# and C.C# = SC.C# and SEX=?男? and CNAME=?数据库?

B.S.S# = S

C.S# and C.C# = SC.C# and SEX in?男?and CNAME in?数据库? C.SEX ?男? and CNAME ? 数据库? D.S.SEX=?男? and CNAME=? 数据库? 16、在SQL中,建立视图用的命令是( )。 A.CREA TE SCHEMA B.CREA TE TABLE C.CREA TE VIEW D.CREA TE INDEX

17、设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0-100。若要更正王二的化学成绩为85分,则可用()。

A. UPDA TE S SET grade=85 WHERE SN=?王二? AND CN=?化学?

B. UPDA TE S SET grade=?85? WHERE SN=?王二? AND CN=?化学?

C. UPDA TE grade=85 WHERE SN=?王二? AND CN=?化学? D. UPDA TE grade=?85? WHERE SN=?王二? AND CN=?化学?

18、在SQL语言中,\"授权\"命令是( ) A. GRANT B. REVOKE C. OPTION D. PUBLIC

19、对于MySQL错误的说法是:()

A. MySQL是一款关系数据库系统 B. MySQL是一款网络数据库系统

C. MySQL可以在linux或者是windows下运行 D. MySQL对SQL的支持并不是太好 20、为数据表创建索引的目的是() A、提高查询的检索性能 B、创建唯一索引 C、创建主键 D、归类

21、在MySQL中为数据表创建主键索引,可以在以下方法( )来创建主键索引。

A、在Create index中设置主键约束,Create table添加主键索引

B、在Create table中设置主键约束,Create index添加主键索引

C、在Create table中设置主键约束,Alter table中添加主键索引

D、以上都可以

22、对视图的描述错误的是:() A. 是一张虚拟的表

B. 在存储视图时存储的是视图的定义 C. 在存储视图时存储的是视图中的数据 D. 可以像查询表一样来查询视图

23、如果要从数据库中删除触发器,应该使用SQL语言的命令( ) A、DELETE TRIGGER B、DROP TRIGGER C、REMOVE TRIGGER D、DISABLE TRIGGER 24、建立索引的目的是()。 A.降低SQL Server数据检索的速度

B.与SQL Server数据检索的速度无关 C.加快数据库的打开速度

D.提高SQL Server数据检索的速度

25、SQL Server的字符型系统数据类型主要包括()。 A Int、money、char B char、varchar、text C datetime、binary、int D char、varchar、int

26、在存储过程体中,如果语句条数多于一条,必须使用(): A BEGIN……END B CASE……END C IF…………THEN D GOTO

27、在MySQL中,建立存储函数的命令是( )。 A. CREA TE SCHEMA B. CREA TE PROCEDURE C. CREA TE TRIGGER D. CREA TE FUNCTION

28、如果要从数据库中显示存储过程,应该使用SQL语言的命令( )

A、SHOW PROCEDURE STA TUS B、SHOW FUNCTION STA TUS C、SHOW DA TABASES D、SHOW TABLES

29、在MySQL存储过程中,以下哪一条不能用来创建循环() A、WHILE----END WHILE B、REPEA T-----END REPEA C、DO-----UNTIL D、LOOP------END LOOP

30、调用MySQL存储过程,应该使用以下哪一条命令( )

A. SELECT B. CALL C. SHOW D. FUNCTION

二、填空题:(每题2分,共20分)

1、数据管理技术经历了_________、_________和_________三个阶段。 2、数据库系统一般是由_________、_________、_________、数据库管理员和用户组成。

3、DBMS是指_________,它是位于_________和_________之间的一层管理软件。

4、实体之间的联系可抽象为三类,它们是_________、_________ 和_________。

5、按照数据结构的类型来命名,逻辑模型分为_________、_________和_________。

6、创建、修改和删除表命令分别是_________ table、_________ table和_________ table。

7、用SELECT进行模糊查询时,可以使用like或not like匹配符,但要在条件值中使用____或____等通配符来配合查询。

8.SQL Server聚合函数有最大、最小、求和、平均和计数等,它们分别是_______、_______、_______、avg和count。

9.触发器定义在一个表中,当在表中执行________、________、________操作时被触发自动执行。

10、HA VING子句与WHERE子句很相似,其区别在于: WHERE子句作用的对象是______________,HA VING子句作用的对象是________________。

11、使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看“STUDENT”表中“00电子商务”班的学生信息。

USE XK

CREA TE ____________ V_STUDENT

____________ SELECT *

FROM ____________

WHERE CLA SS=? 00电子商务?

12、使用SQL语句在XK数据库中创建一个名为D_STUDENT的存储过程,该存储过程删除XS表中一个特定学生的信息。

Delimiter $$

CREA TE ____________ P_STUDENT(IN XH CHAR(6)) ______________

DELETE from XS where 学号=___________; END $$ Delimiter ;

13、创建触发器TEST,要求每当在STUDENT表中插入一条记录时,将用户变量str的值设为“记录已插入”。

CREA TE TRIGGER test AFTER ___________ ON _________________FOR EACH ROW SET @str=_______________;

14、创建存储函数N_STU,当能根据学生学号查询XS表并返回该学生姓名。请用“******”学号测试该存储函数的正确性。

Delimiter $$

CREA TE FUNCTION N_STU(_______________) ______________ CHAR(10) BEGIN

RETURN (SELECT 姓名from XS where 学号=XH); END $$ Delimiter ;

调用函数:SELECT _______________

15、有一学生表STUDENT,该表已经使用“学号”列作为主键。现在要创建一个成绩表CJ(学号char(6),课程号char(3),成绩int(3),要求CJ表中学生学号参照STUDENT表中的学号,当修改STUDENT

表中学号时,CJ表中的学号也随之变化。

CREA TE TABLE CJ (

学号char(6) NULL, 课程号char(8) NOT NULL, 成绩int(3) NULL, PRIMARY KEY (学号), _______________ KEY (学号)

REFERENCES _______________ (学号) ON UPDA TE _______________ );

三、写SQL语句:(每题5分,共30分) 有一个[学生课程]数据库,数据库中包括三个表:

学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。

成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。

用SQL语言实现下列功能:

1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。

2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。

3.向成绩表中插入一条记录(”08111”,”203”,80) 4. 学生“李阳”从“计算机”系转到“经济系”,请修改其数据记录

5.查询选修了103号课程的学生的学号及其成绩,查询结果按分数的降序排列。

6.查询学习101号课程的学生最高分数、平均成绩。 7.删除学号为05019的学生记录。

8.查询成绩表中成绩在60到80之间的所有记录

9.查询Student表中“计算机”系或性别为“女”的同学记录。 10.查询“计算机”系的学生人数。 11.查询所有学生的学号、姓名和成绩。 12. 查询“计算机”系学生所选课程的平均分。 13.查询Student表中不姓“王”的同学记录。 14.按性别统计学生的平均年龄

15. 查询成绩表中“101”课程的学号和成绩,对其成绩按60分以上替换为“合格”,60分以下替换为“不合格”,列标题更改为“等级”。

16、建立成绩表SG,其中学号和课程号属性不能为空,(SNO, CNO)为关键字。

17.对Student表中的姓名创建唯一性索引,所在系创建系普通索引。

18.假设你已用root登录,请为Liu和Wang创建新用户,新用户的初始密码均为123456。19.授予用户Liu在学生表上的查询、修改权限。

20.授予Wang在[学生课程]数据库中拥有所有的数据库权限。

因篇幅问题不能全部显示,请点此查看更多更全内容