第02章练习题.doc

  1. 关于关系模型,下列说法中不正确的是( D)。
    A. 关系模型是建立在集合代数的基础上的
    B. 数据的逻辑结构是一个二维表
    C. 关系操作是面向集合的操作方式
    D. 关系中的数据可以是任意的
  2. 关于关系,下列说法中不正确的是(D)。
    A. 关系中每个属性值都是不可分解的 B. 关系中不允许出现相同的元组
    C. 关系中不考虑元组间的顺序 D. 元组中的属性是有序的
  3. 关系代数中,选择运算的运算符号是(C)
    A.× B.Π C. D.θ
  4. 关系查询时取出关系的某些列,并取消重复元组的关系运算为(B)
    A. 选择运算 B. 投影运算 C. 连接运算 D.笛卡儿积
  5. 根据关系模式的实体完整性规则,一个关系的主码属性(C)
    A.不能有两个 B.不能成为另一个关系的外码
    C.不允许为空 D.可以取任意值
  6. 在关系模式R(R#,RN,S#)和S(S#,SN,SD)中,R的主键是R#,S的主键是S#,则S#在R中称为(B)。
    A. 主码 B. 外码 C. 候选码 D. 全码
  7. “成绩在0-100之间”这种约束属于哪种完整性约束( C)
    A. 主键约束 B. 外键约束 C. 用户定义的完整性约束 D. 全不是
  8. 关系R如下图所示,a1的象集是(B)。
    A B C
    a1 b1 c1
    a1 b2 c3
    a2 b1 c2
    A. {b1,b2 } B. {(b1,c1),(b2,c3)}
    C. {c1,c3} D. {(b1,c1),(b2,c3), (b1,c2)}

    二、简述题

    1. 关系模型的三个组成部分是什么?
    关系数据结构
    关系操作集合
    关系完整性约束
    2. 关系模型的完整性约束分为哪三类?
    实体完整性约束
    参照完整性约束
    用户定义的完整性约束
    3. 关系代数中提供了哪些关系的查询运算?
    并,差,交,笛卡尔积,选择,投影,连接,除

    三、用关系代数表示查询

  9. 设有选课关系数据库模式如下:
    Student(Sno,Sname,Sage,Ssex)
    Course(Cno,Cname)
    SC(Sno,Cno,Grade)
    请用关系代数表达式表示下列查询:
    (1) 查询选修了2号课程的学生的学号
    (2) 查询学号为“03”的学生的学号和姓名
    (3) 查询年龄大于20岁的男同学的学号和姓名
    (4) 查询选修了课程的学生的学号和姓名
    (5) 查询有选修学生的课程号和课程名
    (6) 查询选修了5号课程的学生的姓名和成绩
    (7) 查询选修了“数据库原理”课程的学生的学号和姓名

(1) Sno(σCno=‘2’(SC))
(2) Sno,Sname (σSno=‘03’(Student))
(3)
Sno,Sname (σSage >20∧ Ssex=‘男’(Student))
(4) Sno,Sname(Student SC )
(5)
∏**Cno,Cname(Course SC)

(6) Sname,Grade(Student (σCno=‘5’(SC ) )
(7)
Sno,Sname(σCname=‘数据库原理’(Student SC Course)
Sno,Sname(Student ∏**Sno( SC σCname=‘数据库原理’(Course) )

IMG_20210505_153116.jpg

  1. 现有图书借阅关系数据库模式如下:
    图书(图书号,书名,作者,单价,库存量)
    读者(读者号,姓名,工作单位,地址)
    借阅(图书号,读者号,借期,还期,备注)
    其中,还期为NULL表示该书未还。
    用关系代数表示如下查询:
    (1) 查询读者号为“R016”的读者姓名、工作单位
    (2) 查询图书号为“B5”的读者姓名
    (3) 查询读者“李林”所借阅图书的书名
    (4) 查询读者“李林”所借阅图书中未还的书名

(1) 姓名,工作单位(σ读者号=‘R016’(读者))
(2) 姓名(σ图书号 =‘B5’(读者 借阅))
(3) 书名(σ姓名 =‘李林’(读者 借阅 图书))
(4) 姓名(σ姓名 =‘李林’∧ 还期 = NULL(读者 借阅 图书))
姓名((σ姓名=‘李林’(读者)) (σ还期 = NULL(借阅)) 图书)
IMG_20210505_160350.jpg