常熟理工学院数据库原理应用期中自测练习与答案

更新时间:2023-10-21 15:03:01 阅读量: 综合文库 文档下载

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

期中自测练习与答案

一.单项选择题(每题1分,共23分)

1. 目前市场上常见的DBMS 90%以上都是基于( )数据模型的。

A.层次 B.网状 C.关系 D.面向对象 2 .E-R图是在数据库设计中用来表示( )的一种常用方法。

A.概念模型 B.逻辑模型 C.物理模型 D.面向对象模型

3.( )是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 A.外模式 B.内模式 C.模式 D.概念模式

4.( )也称存储模式,是数据库物理结构和存储方式的描述,是数据在数据库内部的表示方式。 A.外模式 B.内模式 C.模式 D.概念模式 5. 数据库的概念模型独立于 。

A. 具体的机器和DBMS B. E-R图 C. 信息世界 D. 现实世界 6. 在数据库中存储的是 。

A. 数据 B. 数据模型 C. 数据以及数据之间的联系 D. 信息

7. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:其每一属性都是 。

A. 互不相关的 B. 不可分解的 C. 长度可变的 D. 互相关联的 8. 在数据模型中有“型”和“值(或实例)”两个对应的概念。其中数据库的模式是一个( )的概念,是一个相对( )的概念,而数据库在某一时刻的状态则是一个( )的概念,是一个相对( )的概念。

A.型;变化;值;不变 B.值;不变;型;变化 C.值;变化;型;不变 D.型;不变;值;变化 9. 关系表A的属性个数为5,元组个数为10;关系表B的属性个数为6,元组个数为20。则A与B的笛卡尔积A×B的属性有( )个,元组个数有( )个。 A.30;200 B.11;30 C.30;30 D.11;200 10. 父亲和子女的亲生关系属于( )的关系。 A.1:1 B.1:n C.m:n D.不一定

11. 在SQL语言中,删除关系表中的一个属性列,要用动词( ),删除关系表中的一行或多行元组,要用动词( )。

A.delete,delete B.drop,drop C.delete,drop D.drop,delete 12 在SQL语言中,为关系模式增加一个属性要用动词( ),为关系表增加一行或多行元组要用动词( )。

A.insert,insert B.add,insert C.insert,add D.add,add 13. 实体完整性约束和SQL语言中的( )相对应。

A.primary key B.foreign key C.check D.都不是 14. 参照完整性约束和SQL语言中的( )相对应。

A.primary key B.foreign key C.check D.都不是 15. 物理数据独立性是指 。

A. 概念模式改变,外模式和应用程序不变 B. 概念模式改变,内模式不变

C. 内模式改变,概念模式不变 D. 内模式改变,外模式和应用程序不变

16. SQL语言中的select子句和关系代数中的运算符( )相对应,SQL语言中的where子句和关系代数中的运算符( )相对应。

A.∏,δ B.÷,∞ C.δ,∏ D.∏,÷ 17. 在SQL语言中,( )可能使得数据库中元组的排列顺序发生改变。 A.添加一个元组 B.修改一个元组 C.建立一个聚簇索引 D.建立一个check约束

18. 在我们的学生-课程数据库中,SC表上建立了两个外码约束,被参照表是Student表和Course表,则最适当的说法是:

A.Student表中的学生号Sno不能随意取值 B.Course表中的课程号Cno不能随意取值

C.SC表中学生号Sno不能随便 D.SC表中学生号Sno、课程号Cno均不能随意取值

19.如果在学生-课程数据库中的SC表上建立了参照完整性约束:

Foreign Key (Sno) References Student(Sno), Foreign Key (Cno)References Course(Cno), 则( )操作可能会违背该完整性约束。

A.在Student表上增加一行记录 B.在Course表上增加一行记录 C.在SC表上删除一行记录 D.更新SC表上的记录

20. ( )的视图是可以完全更新的。

A.一个由两个以上的表导出的视图 B.视图的定义中含有集函数

C.仅由一个表的行列子集构成的 D.视图的定义中含有ORDER BY子句 21. 关于视图,不正确的说法是( )。

A.查询一个视图和查询一个基本表没有什么两样 B.视图中并不存放数据

C.若一个视图view_1由基本表t1和t2导出。删除t1不会对视图view_1有影响 D.更新视图中的数据,本质上更新的是导出该视图的基本表中的数据

22. 关系R(X,Y,Z),函数依赖集FD={Y?Z,XZ?Y},则关系R是 。 A. 1NF B. 2NF C. 3NF D. BCNF 23.若一个关系模式R(U,F)中,属性集合U的任何一个真子集的值给定以后都不能完全确定一行元组,则称该关系模式的码为( )。

A.主码 B.完全函数依赖 C.全码 D.候选码 二.填空题(每空1分,共17分):

1.从历史发展看来,数据管理技术经历了人工管理、 文件系统 和 数据库系统 三个阶段。 2. 关系代数的连接运算中当?为“=”的连接称之为: 等值连接 ,且当比较的分量是相同的属性组时,则称为 自然连接 。

3.在SQL语言中,为了使查询的结果表中不包含完全相同的两个元组,应在select的后面加上关键词 Distinct 。

4.在SQL语言中,为了使被授权的用户可以将该权限(或该权限的一部分)再进一步授予其他用户,应在授权的SQL语句末尾加上关键词 with grant option 。

5.在建立视图的时候,为了避免使用该视图的用户有意或无意修改了视图范围之外的数据,应在建立视图的语句末尾加上关键词 with check option 。

6.在数据库设计中,若关系模式设计得范式太低,可能会使得数据库存在数据冗余、插入异常 、 更新异常 和 删除异常 四个方面的弊端。采取的解决方法就是对该关系模式进行 规范化 。

7. 设有如下关系表R,S,T:R(BH,XM,XB,DWH);S(DWH,DWM);T(BH,XM,XB,DWH) 实现?xm,xb(R)的SQL语句是 select xm,xb from R 。

8.如果一个关系模式中不存在 非主属性 对 码 的 部分 函数依赖,则该关系模式就达到了二范式。

9.若关系模式R(U)达到了BC范式,则在R中一定消除了非主属性对码的 部分 函数依赖和 传递 函数依赖。 三.判断题:(每小题1分,共10分)

1.SQL Server 2000,Access,Oracle等DBMS,都是面向对象的数据库管理系统。( ? ) 2.在关系数据模型中,只有一种结构——关系。不论是实体还是实体之间的联系都是用关系来表达的。( ?)

3.一个数据库只能对应一个应用程序,即一个数据库只能为一个应用程序所用。( ? ) 4.SQL语言是SQL Server数据库管理系统的专用语言,其它的数据库如Oracle、Sybase等都不支持这种语言。( ? ) 5.对于一个基本关系表来说,列的顺序无所谓——即改变属性的排列顺序不会改变该关系的本质结构。(? )

6.对于一个基本关系表来说,行的顺序无所谓——即将一条记录插入在第一行和插入在第五行没有本质上的不同。(? )

7.在一个关系表上最多只能建立一个聚簇索引。( ?)

8.若.一个数据库管理系统提供了强制存取控制机制(MAC),则它一定也会提供自主存取控制机制。( ?)

9.在开发一个数据库应用系统的时候,无论什么时候,都是设计的数据库范式越高越好。( ? )

10.一个全码的关系模式,其范式一定达到了三范式。( ? )

四.关系代数和SQL语言(每小题2分,共32分):给定一个学生-课程数据库,其中包括学生基本信息表Student(Sno,Sname,Sdept,Ssex,Sage)、课程表Course(Cno,Cname,Cpno,Ccredit)和学生选课表SC(Sno,Cno,Grade),其含义和数据类型如教材中所示,不再赘述。

1.用关系代数表达下列查询:

(1)查询学号为090206120的学生的姓名、性别和所属系别。

∏SNAME,SSEX,SDEPT(

σ

SNO=’ 090206120’

(Student))

(2)查询选修了课程号为C02课程的学生的学号、姓名、性别、成绩。 ∏SNO,SNAME,SSEX,GRADE(

σ

CNO=’C02’(SC??Student)

(3)查询选修了学号为090206301的学生选修的全部课程的学生学号、姓名。 ∏SNO,SNAME,CNO( SC??Student)? ∏CNO(

σ

SNO=’ 090206301’(SC)

或者:

∏SNO,SNAME ((∏SNO,CNO( SC) ? ∏CNO(

σ

SNO=’ 090206301’(SC)) ??Student)

2.用SQL语言完成下面要求的功能:

(1)查询计算机系(CS)全体学生的基本信息。

Select * from student where sdept=’cs’

(2)查询C02号课程不及格的学生的学号、考试成绩。

Select sno,grade from sc where cno=’C02’ and Grade<60

(3)查询选修了数据库原理这门课的学生的学号、姓名、性别、课程号、学分、成绩。查询结果按照成绩降序排列。

Select sc.sno,sname,ssex,sc.cno,credit,grade from sc,student,course where sc.sno=student.sno

And sc.cno=course.cno and cname=’ 数据库原理’ order by grade desc

(4)查询课程号为C02的课程的选课人数和平均考试分数。为了使得结果更清晰易懂,请在查询结果表中分别给这两列查询结果起别名“选课人数”和“平均分数”。

Select count(*) as ‘选课人数’ ,avg(grade) as’平均分数’ from sc where cno=’c02’

(5)查询每个学生的学号及其对应的选课门数。

Select sno,count(*) as ‘选课门数’from sc group by sno

(6)查询平均考试成绩高于85分的学生的学号、姓名、平均成绩,并将查询结果按照学号升序排列。

Select sc.sno,sname,avg(grade)

group

by

from student,sc where having

student.sno=sc.sno sc.sno,sname

avg(grade)>85 order by sc.sno desc

(7)已知学号由7位字符构成,其中的前5位代表班号,后2位代表学生在本班的学号。请将12345班学生C02号课程的考试成绩增加10%。

Update sc set grade=1.1*grade where sno like ‘12345%’ and cno=’C02’

(8)建立SC(Sno,Cno,Grade)表。要求学号Sno由7位字符构成,课程号Cno由5位字符构成,成绩Grade由0-100之间(包括0和100)的整数构成。将(Sno,Cno)设为主码,并建立参照完整性约束,使得Sno和Cno分别参照Student和Course的相应属性取值。

Create table sc (

Sno char(7), Cno char(5),

Grade int check(grade between 0 and 100), Primary key(sno,cno),

Foreign key (sno) references student(sno), Foreign key (cno) references student(cno) )

(9)建立一个只包含计算机系(CS)全体女生基本信息的视图;并进一步将查询该视图的权限赋给宿舍管理员U1和U2.

Create view view_cs

本文来源:https://www.bwwdw.com/article/3sgf.html

Top