- 关于关系模型,下列说法中不正确的是( D)。
A. 关系模型是建立在集合代数的基础上的
B. 数据的逻辑结构是一个二维表
C. 关系操作是面向集合的操作方式
D. 关系中的数据可以是任意的 - 关于关系,下列说法中不正确的是(D)。
A. 关系中每个属性值都是不可分解的 B. 关系中不允许出现相同的元组
C. 关系中不考虑元组间的顺序 D. 元组中的属性是有序的 - 关系代数中,选择运算的运算符号是(C)
A.× B.Π C. D.θ - 关系查询时取出关系的某些列,并取消重复元组的关系运算为(B)
A. 选择运算 B. 投影运算 C. 连接运算 D.笛卡儿积 - 根据关系模式的实体完整性规则,一个关系的主码属性(C)
A.不能有两个 B.不能成为另一个关系的外码
C.不允许为空 D.可以取任意值 - 在关系模式R(R#,RN,S#)和S(S#,SN,SD)中,R的主键是R#,S的主键是S#,则S#在R中称为(B)。
A. 主码 B. 外码 C. 候选码 D. 全码 - “成绩在0-100之间”这种约束属于哪种完整性约束( C)
A. 主键约束 B. 外键约束 C. 用户定义的完整性约束 D. 全不是 关系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. 关系代数中提供了哪些关系的查询运算?
并,差,交,笛卡尔积,选择,投影,连接,除三、用关系代数表示查询
设有选课关系数据库模式如下:
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) )
- 现有图书借阅关系数据库模式如下:
图书(图书号,书名,作者,单价,库存量)
读者(读者号,姓名,工作单位,地址)
借阅(图书号,读者号,借期,还期,备注)
其中,还期为NULL表示该书未还。
用关系代数表示如下查询:
(1) 查询读者号为“R016”的读者姓名、工作单位
(2) 查询图书号为“B5”的读者姓名
(3) 查询读者“李林”所借阅图书的书名
(4) 查询读者“李林”所借阅图书中未还的书名
(1) ∏姓名,工作单位(σ读者号=‘R016’(读者))
(2) ∏姓名(σ图书号 =‘B5’(读者 借阅))
(3) ∏书名(σ姓名 =‘李林’(读者 借阅 图书))
(4) ∏姓名(σ姓名 =‘李林’∧ 还期 = NULL(读者 借阅 图书))
或 ∏姓名((σ姓名=‘李林’(读者)) (σ还期 = NULL(借阅)) 图书)