关系模型课后习题.doc

上传人:h**** 文档编号:890051 上传时间:2018-11-04 格式:DOC 页数:7 大小:124.51KB
下载 相关 举报
关系模型课后习题.doc_第1页
第1页 / 共7页
关系模型课后习题.doc_第2页
第2页 / 共7页
关系模型课后习题.doc_第3页
第3页 / 共7页
关系模型课后习题.doc_第4页
第4页 / 共7页
关系模型课后习题.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、关系模型课后习题2.1 名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。 (2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。 关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。 (3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。 (4)属性:实体的一个特征。在关系模型中,字段称为属性。 (5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。 (6)元组:在关系中,记录称为元组。元组对应表中的一行;表示一个实体。 (7)超键:在关系中能唯一标识元组的属性集称为关

2、系模式的超键。 (8)候选键:不含有多余属性的超键称为候选键。 (9)主键:用户选作元组标识的一个候选键为主键。(单独出现,要先解释“候选键”) (10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键, 如有两个关系 S 和 SC,其中 S#是关系 S 的主键,相应的属性 S#在关系 SC 中也出现,此时 S#就是关系 SC的外键。 (11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。 如果出现空值,那么主键值就起不了唯一标识元组的作用。 (12)参照完整性规则:这条规则要求“不引用不存在的实体”。 其形式定义如下:如果属性集 K 是关系

3、模式 R1 的主键,K 也是关系模式 R2 的外键,那么 R2 的关系中, K 的取值只允许有两种可能,或者为空值,或者等于 R1 关系中某个主键值。 这条规则在使用时有三点应注意: 1)外键和相应的主键可以不同名,只要定义在相同值域上即可。 2)R1 和 R2 也可以是同一个关系模式,表示了属性之间的联系。 3)外键值是否允许空应视具体问题而定。 (13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。如 Pascal和 C 语言等。 (14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。 各种关系查询语言均属于非过程性语言。 (15)无限关系:

4、当一个关系中存在无穷多个元组时,此关系为无限关系。 如元组表达式t|R(t)表示所有不在关系 R 中的元组的集合,这是一个无限关系。 (16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。 如验证公式( u)(P(u)的真假时需对所有的元组 u 进行验证,这是一个无穷验证的问题。 2.2 为什么关系中的元组没有先后顺序? 因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。因此不考虑元组间的顺序,即没有行序。 2.3 为什么关系中不允许有重复元组? 因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制, 关系中的元组不能重复,可以用键来标识唯

5、一的元组。 2.4 关系与普通的表格、文件有什么区别? 关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制: 1)关系中每一个属性值都是不可分解的。 2)关系中不允许出现相同的元组(没有重复元组)。 3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。 4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。 2.5 笛卡尔积、等值联接、自然联接三者之间有什么区别? 笛卡尔积对两个关系 R 和 S 进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。 等值联接则是在笛卡尔积的结果上再进行选择操作,从关系 R 和 S 的笛卡儿积中选择对应属性值相等的元组

6、; 自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。 当两个关系没有公共属性时,自然连接就转化我笛卡尔积。 2.6 设有关系 R 和 S(如下:) 计算:2.7 设有关系 R 和 S(如下:) 计算: 2.8 如果 R 是二元关系,那么下列元组表达式的结果是什么? t|( u)(R(t)R(u)(t1u1t2u2) 这个表达式的意思是:从关系 R 中选择元组,该元组满足:第 1 分量值或第 2 分量值至少有一个不等于其他某元组。 由于 R 是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。 所以,这个表达式结果就是关系 R。 2.9

7、 假设 R 和 S 分别是三元和二元关系,试把表达式 1,5( 2=43=4 (RS)转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。 (1)汉语表达式: 从 RS 关系中选择满足下列条件的元组: 第 2 分量(R 中第 2 分量)与第 4 分量(S 中第 1 分量)值相等,或第 3 分量(R 中第 3 分量)与第 4分量(S 中第 1 分量)值相等;并取第 1 列与第 5 列组成的新关系。 (2)元组表达式:t|( u)( v)(R(u)S(v)(u2=v1u3=v1)t1=u1t2=v2) (3)域表达式:xv|( y)( z)( u)(R(xyz)S(uv)(y=uz

8、=u) 2.10 假设 R 和 S 都是二元关系,试把元组表达式t|R(t)( u)(S(u)u1t2)转换成等价的:(1)汉语查询句子;(2)域表达式:(3)关系代数表达式。 (1)汉语表达式:选择 R 关系中元组第 2 分量值不等于 S 关系中某元组第 1 分量值的元组。 (2)域表达式:xy|( u) ( v)(R(xy)S(uv)(uy) (3)关系代数表达式: 1,2( 23 (RS) 2.11 试把域表达式ab|R(ab)R(ba)转换成等价的: (1)汉语查询句子;(2)关系代数表达式;(3)元组表达式。 (1)汉语查询句子:选择 R 中元组第 1 分量值与第 2 分量值互换后仍

9、存在于 R 中的元组。 (2)关系代数表达式: 1,2 ( 1=42=3 (RR); (3)元组表达式:t|( u)(R(t)R(u)t1=u2t2=u1) 2.12 设有两个关系 R(A,B,C)和 S(D,E,F),试把下列关系代数表达式转换成等价的元组表达式: (1) A(R);(2) B=17(R);(3)RS;(4) A,F( C=D(RS) (1)t|( u)(R(u)t1=u1) (2)t|R(t)t2=17) (3)t|( u)( v)(R(u)S(v)t1=u1t2=u2t3=u3t4=v1t5=v2t6=v3) (4)t|( u)( v)(R(u)S(v)u3=v1t1=u

10、1t2=v3) 2.13 设有三个关系: S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 试用关系代数表达式表示下列查询语句。(见下一题) 2.14 试用元组表达式表示上题中各个查询语句。 (1)检索 LIU 老师所授课程的课程号、课程名。 C#,CNAME( TEACHER=LIU(C) t|( u)(C(u)C3=LIUt1=u1t2=u2) (2)检索年龄大于 23 岁的男学生的学号与姓名。 S#,SNAME( AGE23SEX=男 (S) t|( u)(S(u)u323u4=男t1=u1t2=u2) (3)检索学号为 S3

11、 学生所学课程的课程名与任课教师名。 CNAME,TEACHER( S#=S3(SC C) t|( u)( v)(SC(u)C(v)u1=S3v1=u2t1=v2t2=v3) (4)检索至少选修 LIU 老师所授课程中一门课程的女学生的姓名。 SNAME( SEX=女TEACHER=LIU (S SC C) t|( u)( v)( w)(S(u)SC(v)C(w)u4=女v1=u1v2=w1w3=LIUt1=u2) (5)检索 WANG 同学不学的课程号。 C#(C)- C#( SNAME=WANG(S SC) 或者, C#(SC)- C#( SNAME=WANG(S SC) (全部课程号减去

12、 WANG 同学所学的课程号) t|( u)( v)(C(u)SC(v)(u1=v2=( w)(s(w)w1=v1W2wang)t1=u1) (从 C 中选择满足条件的元组:SC 中的所有元组,如果学号与 C 中所选元组相同的话,其在 S 中对应的姓名肯定不是wang。) Notice:“p1=p2“的含义是:如果 p1 为真,则 p2 为真。 (6)检索至少选修两门课程的学生学号。 S#( 1=425 (SCSC) SC 自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。 t|( u)( v)(SC(u)SC(v)u1=v1u2v2)t1=u1 (7)检索全部学生都选修的课程的课程

13、号与课程名。 C#,CNAME(C ( S#,C#(SC) S#(S) (涉及到全部值时,应用除法,“除数”是“全部“) t|( u)( v)( w)(S(u)SC(v)C(w)u1=v1v2=w1t1=v1t2=V2) (8)检索选修课程包含 LIU 老师所授课程的学生学号。 S#( TEACHER=LIU(SC C) t|( u)( v)(SC(u)C(v)u2=v1v3=LIUt1=u1) 如果 LIU 老师有多门课程,则选修课程包含 LIU 老师所授全部课程的学生学号为: S#,C#(SC) C#( TEACHER=LIU(C) 2.15 在教学数据库 S、SC、C 中,用户有一查询语

14、句:检索女同学选修课程的课程名和任课教师名。(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。 (1) CNAME,TEACHER( SEX=女 (S SC C) (2)优化为: CNAME,TEACHER (C C#( S#,C#(SC) S#( SEX=女 (S) (基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。 2.16 在 2.15 题中, (1)画出该查询初始的关系代数表达式的语法树。 (2)使用 2.4.4 节的优化算法,对语法树进行优化,并画出优化后的语法树。 该查询初始的关系代数表达式的语法树 优化后的语法树 2.17 为

15、什么要对关系代数表达式进行优化? 在关系代数运算中,各个运算所费时间和空间是不一样的。如何安排若干关系的运算操作步骤, 直接影响到整个操作所需要的时间和空间。对关系代数表达式进行优化, 可以提高系统的操作效率,达到执行过程即省时间又省空间的目的。 二单项选择题(第一部分)1. 下面的选项不是关系数据库基本特征的是( )。A.不同的列应有不同的数据类型 B.不同的列应有不同的列名C.与行的次序无关D.与列的次序无关2. 一个关系只有一个( ) 。A.候选码 B. 外码 C. 超码 D. 主码3. 关系模型中,一个码是( )。A.可以由多个任意属性组成B.至多由一个属性组成 C.可有多个或者一个其

16、值能够唯一表示该关系模式中任何元组的属性组成D.以上都不是4. 现有如下关系:患者(患者编号,患者姓名,性别,出生日起,所在单位)医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()。A. 患者编号 B. 患者姓名 C. 患者编号和患者姓名 D. 医生编号和患者编号5. 现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是( )。A. 书号 B. 读者号 C. 书号+读者号 D. 书号+读者号+借期6. 关系模型中实现实体间 N:M 联系是通过增加一个( )。A.

17、关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现7. 关系代数运算是以( )为基础的运算 。A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算8. 关系数据库管理系统应能实现的专门关系运算包括( )。A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表9. 五种基本关系代数运算是( )。A. B. C. D. 10. 关系代数表达式的优化策略中,首先要做的是( ) 。A.对文件进行预处理B.尽早执行选择运算C.执行笛卡尔积运算D.投影运算11. 关系数据库中的投影操作是指从关系中( ) 。A.抽出特定记录 B.

18、抽出特定字段 C.建立相应的影像 D. 建立相应的图形12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是( )操作 。A.投影 B. 联接 C. 选择 D. 复制13. 关系代数中的联接操作是由( )操作组合而成 。A.选择和投影 B. 选择和笛卡尔积C.投影、选择、笛卡尔积 D. 投影和笛卡尔积14. 自然联接是构成新关系的有效方法。一般情况下,当对关系 R 和 S 是用自然联接时,要求 R 和 S含有一个或者多个共有的( ) 。A.记录 B. 行 C. 属性 D. 元组15. 假设有关系 R 和 S,在下列的关系运算中,( )运算不要求:“R 和 S 具有相

19、同的元数,且它们的对应属性的数据类型也相同” 。A.RS B. RS C. RS D. RS16. 假设有关系 R 和 S,关系代数表达式 R(RS)表示的是( )。A.RS B. RS C. RS D. RS17. 下面列出的关系代数表达是中,那些式子能够成立( ) 。. f1 ( f2 (E) = f1f2 (E) . E1E2 = E2E1 . (E1E2)E3 = E1 (E2E3). f1 ( f2 (E) =f2 ( f1(E)A.全部 B. 和 C. 没有 D. 和18. 下面四个关系表达式是等价的,是判别它们的执行效率( ) 。E1 =A ( B=C D=E (RS) )E2

20、=A ( B=C (R D=E (S) )E3 =A (RB=CD=E(S) )E3 =A (D=E (RB=C S) )A. E3 最快 B. E2 最快 C. E4 最快 D. E1 最快19. 有关系 SC(S_ID,C_ID,AGE,SCORE),查找年龄大于 22 岁的学生的学号和分数,正确的关系代数表达式是( ) 。. S_ID,SCORE ( age22 (SC) ) . age22 (S_ID,SCORE (SC) ) . S_ID,SCORE ( age22 (S_ID,SCORE,AGE (SC) ) )A.和 B. 只有正确 C. 只有 正确 D. 和正确选择题答案:(1

21、) A (2) D (3) C (4) A (5) D(6) A (7) C (8) B (9) A (10) B(11) B (12) C (13) B (14) C (15) D(16) A (17) C (18) A (19) D 三 简答题1. 试述关系模型的三个组成部分。2. 试述关系数据语言的特点和分类。3.设有一个 SPJ 数据库,包括 S,P,J,SPJ 四个关系模式: S( SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表 S 由供应商代码(

22、SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表 P 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表 J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为 QTY。试用关系代数完成如下查询:(1) 求供应工程 J1 零件的供应商号码 SNO;(2) 求供应工程 J1 零件 P1 的供应商号码 SN

23、O;(3) 求供应工程 J1 零件为红色的供应商号码 SNO;(4) 求没有使用天津供应商生产的红色零件的工程号 JNO;(5) 求至少用了供应商 S1 所供应的全部零件的工程号 JNO。4. 定义并理解下列术语,说明它们之间的联系与区别:(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外码(3)关系模式,关系,关系数据库5. 试述关系模型的完整性规则。在参照完整性中,为什么外码属性的值有时也可以为空?什么情况下才可以为空?6. 试述等值连接与自然连接的区别和联系。7. 关系代数的基本运算有哪些?8. 试用关系代数的基本运算来表示其他运算。四 填空题及问答题1 .关系模型的三个组成部分

24、是_,_,_。2 .关系数据模型中,二维表的列称为_,二维表的行称为_。3 . 试述关系数据语言的特点和分类。 (填空题)4 .用户选作元组标识的一个候选码为_,其属性不能取_。5 .定义并理解下列术语,说明它们之间的联系与区别: (1) 域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码 (3)关系模式,关系,关系数据库 6 .关系代数运算中,传统的集合运算有_,_,_,_。7 .试述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 8 .关系代数运算中,基本的运算是_,_,_,_,_。 9 . 等值连接与自然连接的区别是什么?10 .关系代

25、数运算中,专门的关系运算有_,_,_。11 . 代数的基本运算有哪些?如何用这些基本运算来表示其他的关系基本运算? 12 .关系数据库中基于数学上的两类运算是_和_。13 .关系代数中,从两个关系中找出相同元组的运算称为_运算。14 .RS 表示 R 与 S 的_。 15 .设有学生关系:S(XH,XM,XB,NL,DP)。在这个关系中,XH 表示学号,XM 表示姓名,XB 表示性别,NL 表示年龄,DP 表示系部。查询学生姓名和所在系的投影操作的关系运算式是_。 (问答题)16 .在“学生-选课-课程”数据库中的 3 个关系如下:S(S#,SNAME,SEX,AGE);SC(S#,C#,GR

26、ADE); C(C#,CNAME,TEACHER),查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表达式来表示为_。 (问答题)17 .已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主码是_,系关系的外码是_,学生关系的主码是_,学生关系的外码是_。 (问答题)五、综合题1对下列关系模式分别用关系代数、元组关系演算和 SQL 实现下列查询: 查询学生 95001 的所有信息select *from Studentwhere Sno=95001查询学生 95001 的姓名和所在系select Sname,Sdept

27、from Studentwhere Sno=95001查询选修了 1 号课的学生的学号select Snofrom SCwhere Cno=1查询选修了 1 号课的学生的姓名select Snamefrom Student,SCwhere Student.Sno=SC.Sno and Cno=1查询至少选修了 1 号课和 3 号课的学生的学号select Snofrom SC X , SC Ywhere X.Sno=Y.Sno and X.Cno=1 and Y.Cno=3查询至少选修了一门其直接先行课为 5 号课的学生学号select *from SC,Coursewhere Course.

28、Cno=SC.Cno and Cpno=5查询没有选修 1 号课程的学生姓名select Snamefrom Student ,SCwhere not exists(select *from SCwhere SC.Sno=Student.Sno and SC.Cno=1)查询选修了全部课程的学生的学号和姓名select Sno,Snamefrom Student where not exists(select *from Coursewhere not exists(select *from SCwhere SC.Sno=Student.Sno and SC.Cno=C.Cno)查询最少选修了

29、 95002 学生所选课程的学生学号select Snofrom SC X where not exists(select *from SC Ywhere Sno=95002 and not exists(select *from SC Zwhere Z.Sno=X.Sno and Z.Cno=Y.Cno)查询每门课的平均成绩(只要求 SQL)select Cno,avg(Grade)from SCgroup by Sno(11)查询每个学生的平均成绩(只要求 SQL)select Sno,avg(Grade)from SCgroup by Sno2对学生课程数据库有如下查询:select Cname from Student,Course,SC where Student.Sno=SC.Sno and SC.Cno=Course.Cno and Student.Sdept=IS,试画出用关系代数表示的语法树,并进行优化,画出优化后的标准语法树。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 参考答案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。