关系模型课后习题.docx
- 文档编号:27757451
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:16
- 大小:89.81KB
关系模型课后习题.docx
《关系模型课后习题.docx》由会员分享,可在线阅读,更多相关《关系模型课后习题.docx(16页珍藏版)》请在冰豆网上搜索。
关系模型课后习题
关系模型课后习题
名词解释
(I)关系模型:
用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。
⑵关系模式:
关系模式实际上就是记录类型。
它的定义包括:
模式名,属性名,值域名以及模式的主
键。
关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。
(3)关系实例:
元组的集合称为关系和实例,一个关系即一张二维表格。
(4)属性:
实体的一个特征。
在关系模型中,字段称为属性。
(5)域:
在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。
(6)元组:
在关系中,记录称为元组。
元组对应表中的一行;表示一个实体。
(7)超键:
在关系中能唯一标识元组的属性集称为关系模式的超键。
(8)候选键:
不含有多余属性的超键称为候选键。
(9)主键:
用户选作元组标识的一个候选键为主键。
(单独出现,要先解释“候选键”)
(10)外键:
某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有
两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。
(II)实体完整性规则:
这条规则要求关系中元组在组成主键的属性上不能有空值。
如果出现空值,那
么主键值就起不了唯一标识元组的作用。
(12)参照完整性规则:
这条规则要求“不引用不存在的实体”。
其形式定义如下:
如果属性集K是关
系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中,K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。
这条规则在使用时有三点应注意:
1)外键和相应的主键可以不同名,只要定义在相同值域上即可。
2)R1和R2也可以是同一个关系模式,表示了属性之间的联
系。
3)外键值是否允许空应视具体问题而定。
(13)过程性语言:
在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。
如Pascal和C语言等。
(14)非过程性语言:
编程时只须指出需要什么信息,不必给出具体的操作步骤。
各种关系查询语言均
属于非过程性语言。
(15)无限关系:
当一个关系中存在无穷多个元组时,此关系为无限关系。
如元组表达式{t|nR(t)}
表示所有不在关系R中的元组的集合,这是一个无限关系。
(16)无穷验证:
在验证公式时需对无穷多个元组进行验证就是无穷验证。
如验证公式(^u)(P(u))的
真假时需对所有的元组u进行验证,这是一个无穷验证的问题。
为什么关系中的元组没有先后顺序
因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。
因此不考虑元组间的顺序,即没有行序。
为什么关系中不允许有重复元组
因为关系是一个元组的集合,而集合中的元素不允许重复出现,因此在关系模型中对关系作了限制,关系中的元组不能重复,可以用键来标识唯一的元组。
ftUS,R-S,RDS=RXS,f9CSLBVf(Rh甲誉,RM®
6也2\2
-关系与普通的表格、文件有什么区别•;:
:
一
关系是一种规范化了的二维表格,在关系模型中,对关系作了下列规范性限制:
1)关系中每一个属性值都是不可分解的。
:
J-
2)关系中不允许出现相同的元组(没有重复元组)。
345
3)由于关系是一个集合,因此不考虑元组间的顺序,即没有行序。
4)元组中,属性在理论上也是无序的,但在使用时按习惯考虑列的顺序。
笛卡尔积、等值联接、自然联接三者之间有什么区别
笛卡尔积对两个关系R和S进行乘操作,产生的关系中元组个数为两个关系中元组个数之积。
上再行投影操作,并去掉重复的自然连接就转化我笛卡尔积。
bd
bc
bd
等值联接则是在笛卡尔积的结果上再进行选择操作,从关系4R和S的笛卡儿积中选择对应属性值相等的元组;
R凶自沁接则是在等值联疇(以所有公共属性值相等为条件)的基础公共属性列。
b当两个关系没有公
at>d3b
设有关系R和S(如下:
)cb
计算:
cbd"b
:
设有关系R和S(如下:
)■计算:
如果R是二元关系,那么下列元组表达式的结果是什么
{t|(三u)(R(t)AR(u)A(t[1]工u[1]Vt[2]工u[2]))}
这个表达式的意思是:
从关系R中选择元组,该元组满足:
第1分量值或第2分量值至少有一个不等于其他某元组。
由于R是二元关系,只有两个分量,由于没有重复元组,上述条件显然满足。
所以,这个表达式结果就是关系Ro
假设R和S分别是三元和二元关系,试把表达式n1,5((T2=4V3=4(RXS))转换成等价的:
⑴汉语查询句子;
(2)元组表达式;(3)域表达式。
(1)汉语表达式:
从RXS关系中选择满足下列条件的元组:
第2分量(R中第2分量)与第4分量(S中第1分量)值相等,或第3分量(R中第3分量)与第4分量(S中第1分量)值相等;并取第1列与第5列组成的新关系。
⑵元组表达式:
{t|(三u)(")(R(u)AS(v)A(u[2]=v[1]Vu[3]=v[1])At[1]=u[1]At[2]=v[2])}⑶域表达式:
{xv|(匚y)(匚z)(三u)(R(xyz)AS(uv)A(y=uVz=u))}
假设R和S都是二元关系,试把元组表达式{t|R(t)A(三u)(S(u)Au[1]工t[2])}转换成等价的:
(1)汉语查询句子;
(2)域表达式:
(3)关系代数表达式。
(1)汉语表达式:
选择R关系中元组第2分量值不等于S关系中某元组第1分量值的元组。
⑵域表达式:
{xy|(九)(二v)(R(xy)AS(uv)A(u工y))}
⑶关系代数表达式:
n1,2((T2p(RXS))
试把域表达式{ab|R(ab)AR(ba)}转换成等价的:
(1)汉语查询句子;
(2)关系代数表达式;(3)元组表达式。
(1)汉语查询句子:
选择R中元组第1分量值与第2分量值互换后仍存在于R中的元组。
⑵关系代数表达式:
n1,2((T1=4A2=3(RXR));
(3)元组表达式:
{t|(三u)(R(t)AR(u)At[1]=u[2]At[2]=u[1])}
设有两个关系R(A,B,C)和S(D,E,F),试把下列关系代数表达式转换成等价的元组表达式:
(1)na(R);
⑵TB='17'(R);(3)RXs;(4)na,f(TC=d(RXS))
(1){t|(三u)(R(u)At[1]=u[1])}
(2){t|R(t)At[2]='17')}
⑶{t|(三u)(Wv)(R(u)AS(v)At[1]=u[1]At[2]=u[2]At[3]=u[3]At[4]=v[1]At[5]=v[2]A
t[6]=v[3])}
⑷{t|(三u)(三v)((R(u)AS(v)Au[3]=v[1]At[1]=u[1]At[2]=v[3])}
设有三个关系:
s(s#,sname,age,sex)sc(s#,c#grade)
C(C#,CNAME,TEACHER)
试用关系代数表达式表示下列查询语句。
(见下一题)
试用元组表达式表示上题中各个查询语句。
(1)检索LIU老师所授课程的课程号、课程名。
nc#,cnam(eTTEACHER='LIU(C))
{t|(三u)(C(u)AC[3]='LIU'At[1]=u[1]At[2]=u[2])}
(2)检索年龄大于23岁的男学生的学号与姓名。
nS#,SNAmETAGE>'23'ASEX='男'(S))
{t|(三u)(S(u)Au[3]>'23'Au[4]='男'At[1]=u[1]At[2]=u[2])}
(3)检索学号为S3学生所学课程的课程名与任课教师名。
nCNAME,TEACf(ErCS#='S3'(SC:
・:
1C))
{t|(三u)(三v)(SC(u)AC(v)Au[1]='S3'Av[1]=u[2]At[1]=v[2]At[2]=v[3])}
⑷检索至少选修LIU老师所授课程中一门课程的女学生的姓名。
nSNAMIeTSEX='女'ATEACHER='LIU(S-*1SC';:
1C))
{t|(3u)(三v)(三w)(S(u)ASC(v)AC(w)Au[4]='女'Av[1]=u[1]Av[2]=w[1]Aw[3]='LIU'A
t[1]=u[2])}
(5)检索WAN同学不学的课程号
nC#(C)-nC#((TSNAME='WAN(S〉:
1SC))
或者,
nC#(SC)-nC#(TSNAME='WAN(S:
・:
1SC))(全部课程号减去WAN同学所学的课程号)
{t|(三u)(Tv)(C(u)ASC(v)A(u[1]=v[2]=>(三w)(s(w)Aw[1]=v[1]AW[2]工'wang'))At[1]=u[1])}
(从C中选择满足条件的元组:
SC中的所有元组,如果学号与C中所选元组相同的话,其在S中对应的
姓名肯定不是'wang'。
)
Notice:
"p1=>p2"的含义是:
如果p1为真,则p2为真。
(6)检索至少选修两门课程的学生学号。
nS#(T1=4A2N5(SCXSC))
SC自乘之后,再选择(同一个学号中两个课程号不同的元组),投影。
{t|(三u)(三v)(SC(u)ASC(v)Au[1]=v[1]Au[2]工v[2])At[1]=u[1]}
(7)检索全部学生都选修的课程的课程号与课程名。
nc#,cnaMC>:
1(ns#,c#(SC)十ns#(S)))(涉及到全部值时,应用除法,“除数”是"全部")
{t|(:
u)(三v)(三w)(S(u)ASC(v)AC(w)Au[1]=v[1]Av[2]=w[1]At[1]=v[1]At[2]=V[2])}
(8)检索选修课程包含LIU老师所授课程的学生学号。
nS#(TTEACHER='LIU(SCh:
】C))
{t|(三u)(三v)(SC(u)AC(v)Au[2]=v[1]Av[3]='LIU'At[1]=u[1])}
71.
ISC.Srt,SC„C#|
sc■0
节的优化算法,对语法树进行优化,并画出优化后的语法树。
一-■■
SCC「.
该查询初始的关系优化后的语法树
代数表达式的语法树
为什么要对关系代数表达式进行优化
在关系代数运算中,各个运算所费时间和空间是不一样的。
如何安排若干关系的运算操作步骤,直接影响到整个操作所需要的时间和空间。
对关系代数表达式进行优化,可以提高系统的操作效率,
达到执行过程即省时间又省空间的目的。
二•单项选择题(第一部分)
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.U—X(Tn
B.U—(Tn
C.UAX(Tn
D.UA(Tn
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具有相同的元数,且它们的对应属性的数据类型也相同”。
ASB.RUSC.R—SD.RXS
16.假设有关系R和S,关系代数表达式R—(R—S)表示的是()。
ASB.RUSC.R—SD.RXS
17.下面列出的关系代数表达是中,那些式子能够成立()。
i.(Tfl((Tf2(E))=(TflAf2(E)
ii.E1%E2=E2E1
iii.(E1%E2)%E3=E1(E2E3)
iv.Tfl(Tf2(E))=Tf2(Tf1(E))
A.全部B.ii和iC.没有D.i和V
18.下面四个关系表达式是等价的,是判别它们的执行效率()。
E1=nA(tB=CAD=E'(RXS))
E2=nA(tB=C(RXtD=E(S))
E3=nA(R%B=CcD=E(S))
E3=nA(tD=E(R%B=CS))
A.E3最快B.E2最快C.E4最快D.E1最快
19.有关系SC(S_ID,C_ID,AGESCORE,查找年龄大于22岁的学生的学号和分数,正确的关系代数表达式是()。
i.nS」D,SCORETage>22(SC))
ii.tage>22(nS」D,SCORE(SC))
i.nS」D,SCORETage>22(nS_ID,SCORJEAGE(SC)))
A.i和iiB.只有ii正确C.只有i正确D.i和i正确
选择题答案:
(I)A
(2)D(3)C(4)A(5)D
(6)A(7)C(8)B(9)A(10)B
(II)B(12)C(13)B(14)C(15)D
(16)A(17)C(18)A(19)D
3.简答题
1.试述关系模型的三个组成部分。
2.试述关系数据语言的特点和分类。
3.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAM,STATUSCITY);
P(PNO,PNAM,COLORWEIGHT)
J(JNO,JNAMECITY);
SPJ(SNQPNOJNOQTY);
供应商表S由供应商代码(SNO、供应商姓名(SNAME、供应商状态(STATUS、供应商所在城市(CITY)组成;零件表P由零件代码(PNO、零件名(PNAME、颜色(COLOR、重量(WEIGH)组成;工程项目表J由工程项目代码(JNO、工程项目名(JNAME、工程项目所在城市(CITY)组
成;供应情况表SPJ由供应商代码(SNO、零件代码(PNO、工程项目代码(JNO、供应数量(QTY组成,表示某供应商供应某种零件给某工程项目的数量为QTY
试用关系代数完成如下查询:
(1)求供应工程J1零件的供应商号码SNO
(2)求供应工程J1零件P1的供应商号码SNO
(3)求供应工程J1零件为红色的供应商号码SNO
(4)求没有使用天津供应商生产的红色零件的工程号JNQ
(5)求至少用了供应商S1所供应的全部零件的工程号JNQ
4.定义并理解下列术语,说明它们之间的联系与区别:
(1)域,笛卡尔积,关系,元组,属性
(2)主码,候选码,外码
(3)关系模式,关系,关系数据库
5.试述关系模型的完整性规则。
在参照完整性中,为什么外码属性的值有时也可以为空什么情况下才可以为空
6.试述等值连接与自然连接的区别和联系。
7.关系代数的基本运算有哪些
8.试用关系代数的基本运算来表示其他运算。
4.填空题及问答题
1.关系模型的三个组成部分是,,。
2.关系数据模型中,二维表的列称为二维表的行称为。
3.试述关系数据语言的特点和分类。
(填空题)
4.用户选作元组标识的一个候选码为其属性不能取。
5.定义并理解下列术语,说明它们之间的联系与区别
(1)域,笛卡尔积,关系,元组,属性
(2)主码,候选码,外部码
(3)关系模式,关系,关系数据库
6.关系代数运算中,传统的集合运算有,__
7.试述关系模型的完整性规则。
在参照完整性中,为什么外部码属性的值也可以为空什么情况下才可以为空
8.关系代数运算中,基本的运算是,,,_
9.等值连接与自然连接的区别是什么
10.关系代数运算中,专门的关系运算有,,
11.代数的基本运算有哪些如何用这些基本运算来表示其他的关系基本运算
12.关系数据库中基于数学上的两类运算是和。
13.关系代数中,从两个关系中找出相同元组的运算称为算。
14.RXS表示R与S的。
15.设有学生关系:
S(XHXMXB,NL,DP。
在这个关系中,XH表示学号,XM表示姓名,XB表示
性别,NL表示年龄,DP表示系部。
查询学生姓名和所在系的投影操作的关系运算式是。
(问答题)
16.在“学生-选课-课程”数据库中的3个关系如下:
S(S#,SNAMJESEXAGE;SC(S#,C#,GRAD);
C(C#,CNAMETEACH日R,查找选修“数据库技术”这门课程学生的学生名和成绩,若用关系代数表
达式来表示为。
(问答题)
17.已知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,
系编号)两个关系,系关系的主码是,系关系的外码是,学生关系的主码是
学生关系的外码是。
(问答题)五、综合题
1•对下列关系模式分别用关系代数、元组关系演算和SQL实现下列查询:
⑴查询学生95001的所有信息
select*
fromStudent
whereSno='95001'
⑵查询学生95001的姓名和所在系
selectSname,Sdept
fromStudent
whereSno='95001'
⑶查询选修了1号课的学生的学号
selectSno
fromSC
whereCno='1'
⑷查询选修了1号课的学生的姓名
selectSname
fromStudent,SC
where=andCno='1'
⑸查询至少选修了1号课和3号课的学生的学号
selectSno
fromSCX,SCY
where=and='1'and='3'
⑹查询至少选修了一门其直接先行课为5号课的学生学号
select*
fromSC,Course
where=andCpno='5'
⑺查询没有选修1号课程的学生姓名
selectSname
fromStudent,SC
wherenotexists
(select*
fromSC
where=and='1')
⑻查询选修了全部课程的学生的学号和姓名
selectSno,Sname
fromStudent
wherenotexists
(select*
fromCourse
wherenotexists
(select*
fromSC
where=and=)
)
⑼查询最少选修了95002学生所选课程的学生学号
selectSno
fromSCX
wherenotexists
(select*
fromSCY
whereSno='95002'andnotexists
(select*
fromSCZ
where=and=)
)
⑽查询每门课的平均成绩(只要求SQL
selectCno,avg(Grade)
fromSC
groupbySno(11)查询每个学生的平均成绩(只要求SQL)
selectSno,avg(Grade)
fromSCgroupbySno
2.对学生—课程数据库有如下查询:
selectCnamefromStudent,Course,SCwhere=and=and=
IS',试画出用关系代数表示的语法树,并进行优化,画出优化后的标准语法树。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 模型 课后 习题