2.8 练习与实践二
1.选择题
(1)下列有关关系模型的叙述中错误的是( )。
A.建立在严格的数学理论、集合论和谓词演算公式的基础之上
B.微机DBMS绝大部分采取关系数据模型
C.用二维表表示关系模型是其一大特点
D.不具有连接操作的DBMS也可以是关系数据库系统
(2)关系数据库管理系统应能实现的专门关系运算包括( )。
A.排序、索引、统计
B.选择、投影、连接
C.关联、更新、排序
D.显示、打印、制表
(3)笛卡儿积是( )进行运算。
A.向关系的垂直方向
B.向关系的水平方向
C.既向关系的水平方向也向关系的垂直方向
D.先向关系的垂直方向,然后再向关系的水平方向
(4)在关系模型中,一个关键字是( )。
A.可由多个任意属性组成
B.至多由一个属性组成
C.可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成
D.以上都不是
(5)自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( )。
A.元组
B.行
C.记录
D.属性
(6)关系运算中花费时间可能最长的运算是( )。
A.投影
B.选择
C.笛卡儿积
D.除
(7)关系模式的任何属性( )。
A.不可再分
B.可再分
C.命名在该关系模式中可以不唯一
D.以上都不是
(8)在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。如果W中的元组属于R,并且属于S,则W为( )运算的结果。
A.笛卡儿积
B.并
C.差
D.交
(9)数据完整性约束条件主要指( )。
A.用户操作权限的约束
B.用户口令校对
C.值的约束和结构的约束
D.并发控制的约束
(10)关系代数的5个基本操作是( )。
A.并、交、差、笛卡儿积、除法
B.并、交、选取、笛卡儿积、除法
C.并、交、选取、投影、除法
D.并、选取、差、笛卡儿积、投影
(11)以下有关空值的叙述中不正确的是( )。
A.用=NULL查询指定列为空值的记录
B.包含空值的表达式其计算结果为空值
C.聚集函数通常忽略空值
D.对允许空值的列排序时,包含空值的记录总是排在最前面
(12)自然连接是( )进行运算。
A.向关系的垂直方向
B.向关系的水平方向
C.既向关系的水平方向也向关系的垂直方向
D.先向关系的垂直方向,然后再向关系的水平方向
2.填空题
(1)一个关系模式的定义格式为__________。
(2)一个关系模式的定义主要包括_________、__________、__________、__________和__________。
(3)在关系代数运算中,传统的集合运算有__________、__________、__________和__________。
(4)在关系代数运算中,基本的运算是________、_________、__________、__________和__________。
(5)在关系代数运算中,专门的关系运算有__________、__________和__________。
(6)关系数据库中基于数学上的两类运算是__________和__________。
(7)已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是__________,系关系的外关键字是__________,学生关系的主关键字是__________,外关键字__________。
(8)完整性约束条件所用的对象有____________、_____________和______________。
(9)关系代数是用对关系的运算来表达查询的,而关系演算是用__________查询的,它又分为__________演算和__________演算两种。
(10)传统的集合“交、并、差”运算施加于两个关系时,这两个关系的__________必须相等,__________必须取自同一个域。
(11)在一个实体表示的信息中,称__________为关键字。
3.简答题
(1)简述等值连接与自然连接的区别。
(2)设有如下所示的关系:S(S#,SNAME,AGE,SEX)、C(C#,CNAME,TEACHER)和SC(S#, C#,GRADE),试用关系代数表达式表示下列查询语句。
1)检索“程军”老师所授课程的课程号(C#)和课程名(CNAME)。
2)检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
3)检索至少选修“程军”老师所授全部课程的学生姓名(SNAME)。
4)检索“李强”同学不学课程的课程号(C#)。
5)检索至少选修两门课程的学生学号(S#)。
6)检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
7)检索选修课程包含“程军”老师所授课程之一的学生学号(S#)。
8)检索选修课程号为k1和k5的学生学号(S#)。
9)检索选修全部课程的学生姓名(SNAME)。
10)检索选修课程包含学号为2的学生所修课程的学生学号(S#)。
11)检索选修课程名为“C语言”的学生的学号(S#)和姓名(SNAME)。
(3)设有如图2-12所示的关系R和S。
图2-12 简答题(3)图
计算下列运算的值。
1)R-S
2)πA,B(S)
(4)设有关系R和S,如图2-13所示,求R▷◁S。
图2-13 简答题(4)图
(5)设关系R和S分别如图2-14所示,求R÷S的结果。
图2-14 简答题(5)图
(6)设有如图2-15所示的关系R、S和T,计算:R∪T、σC<A(R)、πF,E(S)、R▷◁S、R÷S。
图2-15 简答题(6)图
4.实践题
(1)设某商业集团数据库中有3个实体集。一是“公司”实体集,属性有公司编号、公司名和地址等;二是“仓库”实体集,属性有仓库编号、仓库名和地址等;三是“职工”实体集,属性有职工编号、姓名和性别等。公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库中工作,仓库聘用职工有聘期和工资。
试画出E-R图,并在图上注明属性及联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
(2)使用SQL Server SMSS完成以下程序的编写:假设三角形的3条边长分别为a、b和c,使用海伦公式计算三角形的面积。
(3)使用SQL Server SMSS完成以下程序,编写函数实现一元二次方程ax2+bx+c=0求解,为了简化问题,假设b2-4ac>0,即方程有两个不同根的情况。