关系模型课后习题_第1页
关系模型课后习题_第2页
关系模型课后习题_第3页
关系模型课后习题_第4页
关系模型课后习题_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——关系模型课后习题关系模型课后习题2.1名词解释

(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。

(2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。(4)属性:实体的一个特征。在关系模型中,字段称为属性。

(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。(6)元组:在关系中,记录称为元组。元组对应表中的一行;表示一个实体。(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。(8)候选键:不含有多余属性的超键称为候选键。

(9)主键:用户选作元组标识的一个候选键为主键。(单独出现,要先解释“候选键〞)

(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。

(11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。假使出现空值,那么主键值就起不了唯一标识元组的作用。

(12)参照完整性规则:这条规则要求“不引用不存在的实体〞。其形式定义如下:假使属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则在使用时有三点应注意:1)外键和相应的主键可以不同名,只要定义在一致值域上即可。2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。3)外键值是否允许空应视具体问题而定。

(13)过程性语言:在编程时必需给出获得结果的操作步骤,即“干什么〞和“怎么干〞。如Pascal和C语言等。

(14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。各种关系查询语言均属于非过程性语言。

(15)无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这是一个无限关系。

(16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。如验证公式(u)(P(u))的真假时需对所有的元组u进行验证,这是一个无穷验证的问题。2.2为什么关系中的元组没有先后顺序?

由于关系是一个元组的集合,而元组在集合中的顺序无关紧要。因此不考虑元组间的顺序,即没有行序。

2.3为什么关系中不允许有重复元组?

由于关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制,关系中的元组不能重复,可以用键来标识唯一的元组。2.4关系与普通的表格、文件有什么区别?

关系是一种规范化了的二维表格,在关系模型中,对关系作了以下规范性限制:1)关系中每一个属性值都是不可分解的。

2)关系中不允许出现一致的元组(没有重复元组)。

3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。

4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。2.5笛卡尔积、等值联接、自然联接三者之间有什么区别?

笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。等值联接则是在笛卡尔积的结果上再进行选择操作,从关系R和S的笛卡儿积中选择对应属性值相等的元组;

自然连接则是在等值联接(以所有公共属性值相等为条件)的基础上再行投影操作,并去掉重复的公共属性列。当两个关系没有公共属性时,自然连接就转化我笛卡尔积。2.6设有关系R和S(如下:)计算:

2.7设有关系R和S(如下:)

计算:

2.8假使R是二元关系,那么以下元组表达式的结果是什么?{t|(u)(R(t)∧R(u)∧(t[1]≠u[1]∨t[2]≠u[2]))}

这个表达式的意思是:从关系R中选择元组,该元组满足:第1分量值或第2分量值至少有一个不等于其他某元组。由于R是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。所以,这个表达式结果就是关系R。

2.9假设R和S分别是三元和二元关系,试把表达式π1,5(σ2=4∨3=4(R×S))转换成等价的:(1)汉语查询句子;(2)元组表达式;(3)域表达式。(1)汉语表达式:

从R×S关系中选择满足以下条件的元组:

第2分量(R中第2分量)与第4分量(S中第1分量)值相等,或第3分量(R中第3分量)与第4

分量(S中第1分量)值相等;并取第1列与第5列组成的新关系。

(2)元组表达式:{t|(u)(v)(R(u)∧S(v)∧(u[2]=v[1]∨u[3]=v[1])∧t[1]=u[1]∧t[2]=v[2])}(3)域表达式:{xv|(y)(z)(u)(R(xyz)∧S(uv)∧(y=u∨z=u))}2.10假设R和S都是二元关系,试把元组表达式{t|R(t)∧(u)(S(u)∧u[1]≠t[2])}转换成等价的:(1)汉语查询句子;(2)域表达式:(3)关系代数表达式。

(1)汉语表达式:选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。(2)域表达式:{xy|(u)(v)(R(xy)∧S(uv)∧(u≠y))}(3)关系代数表达式:π1,2(σ2≠3(R×S))

2.11试把域表达式{ab|R(ab)∧R(ba)}转换成等价的:(1)汉语查询句子;(2)关系代数表达式;(3)元组表达式。

(1)汉语查询句子:选择R中元组第1分量值与第2分量值互换后仍存在于R中的元组。(2)关系代数表达式:π1,2(σ1=4∧2=3(R×R));

(3)元组表达式:{t|(u)(R(t)∧R(u)∧t[1]=u[2]∧t[2]=u[1])}

2.12设有两个关系R(A,B,C)和S(D,E,F),试把以下关系代数表达式转换成等价的元组表达式:(1)πA(R);(2)σB='17'(R);(3)R×S;(4)πA,F(σC=D(R×S))(1){t|(u)(R(u)∧t[1]=u[1])}(2){t|R(t)∧t[2]='17')}

(3){t|(u)(v)(R(u)∧S(v)∧t[1]=u[1]∧t[2]=u[2]∧t[3]=u[3]∧t[4]=v[1]∧t[5]=v[2]∧t[6]=v[3])}

(4){t|(u)(v)((R(u)∧S(v)∧u[3]=v[1]∧t[1]=u[1]∧t[2]=v[3])}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)∧C[3]='LIU'∧t[1]=u[1]∧t[2]=u[2])}

(2)检索年龄大于23岁的男学生的学号与姓名。πS#,SNAME(σAGE>'23'∧SEX='男'(S))

{t|(u)(S(u)∧u[3]>'23'∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}

(3)检索学号为S3学生所学课程的课程名与任课教师名。πCNAME,TEACHER(σS#='S3'(SCC))

{t|(u)(v)(SC(u)∧C(v)∧u[1]='S3'∧v[1]=u[2]∧t[1]=v[2]∧t[2]=v[3])}

(4)检索至少选修LIU老师所授课程中一门课程的女学生的姓名。πSNAME(σSEX='女'∧TEACHER='LIU'(SSCC))

{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[4]='女'∧v[1]=u[1]∧v[2]=w[1]∧w[3]='LIU'∧t[1]=u[2])}

(5)检索WANG同学不学的课程号。πC#(C)-πC#(σSNAME='WANG'(SSC))或者,

πC#(SC)-πC#(σSNAME='WANG'(SSC))(全部课程号减去WANG同学所学的课程号)

{t|(u)(v)(C(u)∧SC(v)∧(u[1]=v[2]=>(w)(s(w)∧w[1]=v[1]∧W[2]≠'wang'))∧t[1]=u[1])}(从C中选择满足条件的元组:SC中的所有元组,假使学号与C中所选元组一致的话,其在S中对应的姓名确定不是'wang'。)

Notice:\的含义是:假使p1为真,则p2为真。

(6)检索至少选修两门课程的学生学号。πS#(σ1=4∧2≠5(SC×SC))

SC自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。{t|(u)(v)(SC(u)∧SC(v)∧u[1]=v[1]∧u[2]≠v[2])∧t[1]=u[1]}

(7)检索全部学生都选修的课程的课程号与课程名。

πC#,CNAME(C(πS#,C#(SC)÷πS#(S)))(涉及到全部值时,应用除法,“除数〞是\全部\

{t|(u)(v)(w)(S(u)∧SC(v)∧C(w)∧u[1]=v[1]∧v[2]=w[1]∧t[1]=v[1]∧t[2]=V[2])}

(8)检索选修课程包含LIU老师所授课程的学生学号。πS#(σTEACHER='LIU'(SCC))

{t|(u)(v)(SC(u)∧C(v)∧u[2]=v[1]∧v[3]='LIU'∧t[1]=u[1])}

假使LIU老师有多门课程,则选修课程包含LIU老师所授全部课程的学生学号为:πS#,C#(SC)÷πC#(σTEACHER='LIU'(C))

2.15在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。(1)πCNAME,TEACHER(σSEX='女'(SSCC))

(2)优化为:πCNAME,TEACHER(CπC#(πS#,C#(SC)πS#(σSEX='女'(S))))

(基本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。

2.16在2.15题中,

(1)画出该查询初始的关系代数表达式的语法树。

(2)使用2.4.4节的优化算法,对语法树进行优化,并画出优化后的语法树。

该查询初始的关系代数表达式的语优化后的语法树

法树

2.17为什么要对关系代数表达式进行优化?在关系代数运算中,各个运算所费时间和空间是不一样的。如何安排若干关系的运算操作步骤,直接影响到整个操作所需要的时间和空间。对关系代数表达式进行优化,可以提高系统的操作效率,达到执行过程即省时间又省空间的目的。二.单项选择题(第一部分)

1.下面的选项不是关系数据库基本特征的是()。A.不同的列应有不同的数据类型B.不同的列应有不同的列名C.与行的次序无关D.与列的次序无关

2.一个关系只有一个()。

A.候选码B.外码C.超码D.主码

3.关系模型中,一个码是()。A.可以由多个任意属性组成B.至多由一个属性组成

C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成D.以上都不是

4.现有如下关系:

患者(患者编号,患者姓名,性别,出生日起,所在单位)

医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果)其中,医疗关系中的外码是()。A.患者编号B.患者姓名

C.患者编号和患者姓名D.医生编号和患者编号

5.现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假使同一本书允许一个读者屡屡借阅,但不能同时对一种书借多本,则该关系模式的外码是()。A.书号B.读者号C.书号+读者号D.书号+读者号+借期

6.关系模型中实现实体间N:M联系是通过增加一个()。

A.关系实现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.抽出特定字段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具有一致的元数,且它们的对应属性的数据类型也一致〞。A.R∩SB.R∪SC.R-SD.R×S

16.假设有关系R和S,关系代数表达式R-(R-S)表示的是()。A.R∩SB.R∪SC.R-SD.R×S

17.下面列出的关系代数表达是中,那些式子能够成立()。ⅰ.σf1(σf2(E))=σf1∧f2(E)ⅱ.E1∞E2=E2∞E1

ⅲ.(E1∞E2)∞E3=E1∞(E2∞E3)

ⅳ.σf1(σf2(E))=σf2(σf1(E))A.全部B.ⅱ和ⅲC.没有D.ⅰ和ⅳ

18.下面四个关系表达式是等价的,是判别它们的执行效率()。E1=πA(σB=C∧D=E′(R×S))E2=πA(σB=C(R×σD=E′(S))E3=πA(R∞B=CσD=E′(S))E3=πA(σD=E′(R∞B=CS))

A.E3最快B.E2最快C.E4最快D.E1最快

19.有关系SC(S_ID,C_ID,AGE,SCORE),查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是()。

ⅰ.πS_ID,SCORE(σage>22(SC))ⅱ.σage>22(πS_ID,SCORE(SC))

ⅲ.πS_ID,SCORE(σage>22(πS_ID,SCORE,AGE(SC)))A.ⅰ和ⅱB.只有ⅱ正确C.只有ⅰ正确D.ⅰ和ⅲ正确

选择题答案:

(1)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由供应商代码(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的供应商号码SNO;(3)求供应工程J1零件为红色的供应商号码SNO;

(4)求没有使用天津供应商生产的红色零件的工程号JNO;(5)求至少用了供应商S1所供应的全部零件的工程号JNO。

4.定义并理解以下术语,说明它们之间的联系与区别:(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外码

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论