数据库原理及应用第3章课后习题答案知识分享
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理及应用第3章课后习题答案
习题3
1.试述关系模型的3个组成部分。
1)数据结构
关系模型的数据结构非常简单,只包括单一的数据结构——关系。从用户角度,关系模型中数据的逻辑结构是一张扁平的二维表。
2)数据操作
关系操作采用集合操作方式,即操作的对象和结果都是集合。这种方式称为一次一集合的方式。而非关系数据结构的数据操作方式为一次一记录方式。
关系模型中常用的关系操作包括查询操作和插入、删除、修改操作两大部分。
3)完整性约束
关系模型提供了丰富的完整性控制机制,允许定义三类完整性:实体完整性、参照完整性和用户定义完整性。
2.定义并理解下列术语,说明它们之间的联系与区别:
1)域、笛卡尔积、关系、元组、属性
①域(Domain)
域是一组具有相同数据类型的值的集合。
②笛卡尔积(Cartesian Product)
定义3.2 给定一组域D1,D2,…,D n,这些域中可以有相同的域。D1,D2,…,D n的笛卡尔积为:
D1×D2×…×D n={(d1,d2,…,d n)|d i D i,i=1,2,…,n}
③关系
D1×D2×…×D n的子集叫作在域D1,D2,…,D n上的关系,表示为:
R(D1,D2,…,D n),这里R是关系名。
④表的每行对应一个元组,也可称为记录(Record)。
⑤表的每列对应一个域,也可以称为字段(Filed )。由于域可以相同,为了加以区分,必须为每列起一个名字,称为属性(Attribute)。
2)主码、候选码、外码
①若关系中的某一属性或属性组的值能唯一地标识一个元组,则称该属性组为候选码或码(Key)。其中属性组中不能含有多余的属性。
②若一个关系有多个候选码,则选定其中一个作为主码(Primary Key)。每个关系有且仅有一个主码。
③如果一个属性或属性组不是所在关系的码,却是另一个关系的码,则称该属性或属性组为所在关系的外码。
3)关系模型、关系、关系数据库
①关系数据库中关系模式是型,关系是值,关系模式是对关系的描述,关系模式可以用一个五元组表示:R(U,D,DOM,F)。
②关系是笛卡尔积的有限集,关系是一个二维表。
③采用关系模型的数据库称为关系数据库。
3.试述关系模型的完整性规则,在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:
(1)或者取空值(F 的每个属性值均为空值) (2)或者等于S 中某个元组的主码值
对于选课表关系中每个元组的“课程号”属性只取两类值: (1)空值,表示该学生未选课。
(2)非空值,这时该值必须是课程表关系中出现的“课程号”值,表示该学生不可能选修一个未开设的课程。
参照完整性是不同关系之间或一个关系不同元组之间一种约束,通过外码和主码建立了不同关系之间的联系。
4.关系代数包含哪些运算?
传统的集合运算:并、交、差和笛卡尔积。 专门的关系运算:选择、投影、连接和除。
5.试述笛卡尔积、等值连接与自然连接的区别和联系。
在进行等值连接和自然连接时,必须先做笛卡尔积,然后选择其中满足条件的元组。自然连接是特殊的等值连接,要求素有的公共属性都要相等,并且,在自然连接中最后要去掉重复的列。
6.设置有两个关系R 和S (如下),计算R-S ,R ∪S ,R ∩S,R-S,RXS,∏)(,R A B ,
)('4'R A >σ,B
S B R S R ..>∞S R ∞。
R ∪S
R ∩S
当两个表具有相同列时,不做除运算。
∏
)(,R A
B ,
)('4'R A >σ
B
S B R S R ..>∞
7.设有三个关系
Student(Sno,Sname,Ssex,Sage,Spol,Sdept) Course(Cno,Cname,Credi,Teacher) SC(Sno,Cno,Grade) 加下划线的属性为主码。
试用关系代数表达式表示下列查询语句。 1)
查询CHEN 老师所授课程的课程号,课程名。
∏
=))Course (('CHEN 'Teacher cname
,cno δ
2)
查询年龄小于25岁的男生的学号和姓名。
∏
=∧<))Student ((''ssex 25sage sname
,sno 男δ
3)
查询学号为S2的学生所学课程的课程名与任课教师名。
∏
∞∏=)Course ))SC (((s2''sno cno teacher
,name c δ
4)
查询ZHENG 同学没有选修的课程号。
∏
∞∏∏=)
SC (Student))((-)Course (ZHENG''sname no s cno no
c δ
5)查询全部学生都选修的课程的课程号与课程名。
∏∞
(Student))
(
(SC
Course
∏
÷) c
no
cname
,
sno
(可以有其他的表达式形式)