1 / 30
文档名称:

数据库系统概论试题及答案.doc

格式:doc   大小:99KB   页数:30页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库系统概论试题及答案.doc

上传人:2623466021 2022/3/11 文件大小:99 KB

下载得到文件列表

数据库系统概论试题及答案.doc

文档介绍

文档介绍:《数据库系统概论》试题A
一、选择题(20分,每小题2分):
2.对关系模型叙述错误的是____。
A.建立在严格的数学理论、集合论和谓词演算公式的基础之上
B.微机DBMS绝大部分采取关系数据模型
C.用二维表表示关系模型是其一号,科室名)
医生(工作证号,姓名,职称,科室名,年龄)
病人(病历号,姓名,性别,诊治,主管医生,病房号)
(3)每个关系模式的候选码如下:
科室的候选码是科名;
病房的候选码是科室名十病房号;
医生的候选码是工作证号;
病人的候选码是病历号。
n
病人
入住
病房
1
病房号
床位号
工作证号
姓 名
性 别
病历号
n
医生
从属
科室
1
科 名
科电话
科地址
职 称
年 龄
姓 名
诊治
组成
n
1
n
1
图2 E-R图
2.设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)
S(S#,SNAME,AGE,SEX) 例:(001,'李强',23,’男')
SC(S#,C#,SCORE) 例:(003,'C1',83)
C(C#,CNAME,TEACHER) 例:('C1','数据库原理','王华')
(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(S#)。
ΠS#,C#(SC)¸ΠC#(σC#=’C1’Ú C#=’C2’(C))-σC#¹’C1’
ÚC#¹ ’C2’(ΠS#,C#(SC)¸ΠC#(σC#=’C1’Ú C#=’C2’(C)))
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。
{T(1)|($U)($V)($W)(S(U)∧SC(V)∧C(W)∧T[1]=U[1]∧U[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。
{T(1)| ($V)($W)( SC(V)∧C(W)∧T[1]=V[1]∧V[2]=W[1]∧W[3]='程军')}
(3)用SQL找出选修了“程军”老师教的所有课程的学生姓名。
SELECT
FROM S
WHERE NOT EXISTS
     (
      SELECT *
      FROM C
      WHERE ='程军' AND NOT EXISTS
             (
              SELECT *
              FROM SC
              WHERE #=# AND #=#
             )
      )
本题解释:
SELECT *
FROM C
WHERE ='程军' AND EXISTS
      (
       SELECT *
       FROM SC
       WHERE #=#
      )
这条SQL是查询'程军'所授的所有课程,#作为变量在内层查询中被使用,外层教师'程军'所授课程的课程号C#给内层,内层根据该课程号C#在SC中查询是否存在这样的课程号,即程军所授的课程,如果存在则括号中的记录集不空,EXISTS条件为TRUE。因此,执行结果是显示程军所授的所有课程。
SELECT *
FROM C
WHERE ='程军' AND NOT EXISTS
      (
       SELECT *
       FROM SC
       WHERE
#=#
      )
这条SQL语句在刚才语句的EXISTS前加了NOT,变成当内层查询全部是'程军'所授课程时NOT EXISTS条件为假。
SELECT
FROM S
WHERE NOT EXISTS (SELECT *
                  FROM C
                  WHERE ='程军' AND NOT EXISTS
                        (
                         SELECT *
                         FROM SC
                         WHERE #=# AND #=#
                         )
这条