数据库第二章关系代数习题
- 格式:doc
- 大小:71.50 KB
- 文档页数:5
第2章关系数据库习题参考答案1、试述关系模型的三个组成部分。
(46页)答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2、试述关系数据语言的特点和分类。
(47页)答:关系数据语言可以分为三类:A、关系代数语言。
B、关系演算语言:元组关系演算语言和域关系演算语言。
C、SQL:具有关系代数和关系演算双重特点的语言。
这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
2、定义并理解下列术语,说明它们联系与区别:(P46---50页)(1)域,笛卡尔积,关系,元组,属性(2)主码,候选码,外部码(3)关系模式,关系,关系数据库3、试述关系模型的完整性规则(53页),在参照完整性中,为什么外部码属性也可以为空?什么情况下才可以为空?(55页)答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。
(P55页)若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:●或者取空值(F的每个属性值均为空值);●或者等于S中某个元组的主码值。
即属性F本身不是主属性,则可以取空值,否则不能取空值。
5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)∞SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P)5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))(见P62页例6)6.试述等值连接与自然连接的区别和联系。
一、单项选择题1 对关系模型叙述错误的是___________.A建立在严格的数学理论、集合论和谓词演算公式的基础之上B微机DBMS绝大部分采取关系数据模型C用二维表表示关系模型是其一大特点D不具有连接操作的DBMS也可以是关系数据库系统2 关系模式的任何属性____________。
A 不可再分B 可再分C 命名在该关系模式中可以不唯一D 以上都不是3在通常情况下,下面的关系中不可以作为关系数据库的关系是________A R1(学生号,学生名,性别)B R2(学生号,学生名,班级号)C R3(学生号,学生名,宿舍号)D R4(学生号,学生名,简历)4 关系数据库中的关键字是指______________。
A 能唯一决定关系的字段B 不可改动的专用保留字C 关键的很重要的字段D 能唯一标识元组的属性或属性集合5 根据关系模式完整性规则,一个关系中的“主码”______________。
A 不能有两个属性B 不能成为另一个关系的外码C 不允许为空D 可以取值6 关系数据库中能唯一识别元组的那个属性/属性组合称为____________。
A 唯一性的属性B 不可改动的保留字段C 关系元组的唯一性 D 关键字段7关系模型中,一个关键字是_________。
A可由多个任意属性组成 B至多由一个属性组成C可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成 D以上都不是8 在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为___________。
A 外码B 候选码C 主码D 超码9 一个关系数据库文件中的各条记录__________。
A前后顺序不能任意颠倒,一定要按照输入的顺序排列B前后顺序可以任意颠倒,不影响库中数据关系C前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果就可能不同D前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列10 在关系代数运算中,五种基本运算为___________。
第2章关系数据库一、选择题1、关于关系模型,下列叙述不正确的是()。
A. 一个关系至少要有一个候选码B. 列的次序可以任意交换C. 行的次序可以任意交换D. 一个列的值可以来自不同的域2、下列说法正确的是()。
A. 候选码都可以唯一地标识一个元组B. 候选码中只能包含一个属性C. 主属性可以取空值D. 关系的外码不可以取空值3、关系操作中,操作的对象和结果都是()。
A. 记录B. 集合C. 元组D. 列4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于()。
A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 关系不变性5、有两个关系R(A, B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列()A. 6B. 4C. 5D. 2二、判断题1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。
()2、关系模型中,非主属性不可能出现在任何候选码中。
()3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。
()三、填空题1、在关系模型中,关系操作包括查询、____________、____________和_____________等。
2、关系模型的三类完整性约束是指______________、_______________和_____________。
3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。
4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。
四、综合题假设有一个数据库包含以下关系模式:Teacher(Tno, Tname, Tage, Tsex)Department(Dno, Dname, Tno)Work(Tno, Dno,Year, Salary)教师表Teacher由教师代码Tno、教师名字Tname、教师年龄Tage、教师性别Tsex组成。
第二章关系数据库系统一、单选题1. ___ 不是集合。
A. 关系B.关系模式C.域D.笛卡儿乘积2. 任何关系的一个元组只能通过外部键与另一个关系中存在的元组相关联,这是。
A. 关系运算的安全性B.数据库的安全性C.关联完整性约束D.实体完整性约束3. 关系数据库系统实体完整性约束的意义在于________ 。
A.用主键唯一识别元组B.实现实体间联系C.防范非授权访问D.保证关系运算安全性4. 设关系R和S的共同属性是a, ______ 不是R和S的连接运算(记条件f.R.a=S.a)A.R g f SB. d f(R X S)C.(R f S)00f SD.(R f S)00f R5. 在不另加约束条件的情况下,________系统是安全的。
A.关系运算B.关系代数C.兀组关系演算D.域关系演算6. 实体-联系模型是_______ 的数据模型。
A. 每个关系代数表达式都有一个等价的元组演算表达式与之对应。
B. 每个元组演算表达式都有一个等价的关系代数表达式与之对应。
C. 每个域演算表达式都有一个等价的关系代数表达式与之对应。
D. 每个元组演算表达式都有一个等价的域演算表达式与之对应。
7. 关系模式的候选键必须具有的性质是________ 。
A.唯一性B.最小性C.A和BD.由单个属性组成8. 数据库语言的使用方式是_______ 。
A.交互使用B.嵌入到宿主语言C.A或BD.作为程序设计语言的子语言9. 关系代数查询语言ISBL的并/交运算与关系代数标准定义的区别是参加运算的关系____ 。
A.是否具有相同的属性数目B.对应属性是否具有相同的域C.对应属性的名称是否相同D.元组数目是否相同10. 具有重命名功能的投影操作属于________ 的运算系统。
A.标准关系代数B.ISBL语言C.QUEL语言D.QBE语言11. ___________________________________ 关于DBMS勺主要任务,最准确的是。
关系代数习题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.∪∩σ π11. 关系数据库中的投影操作是指从关系中()。
A.抽出特定记录B. 抽出特定字段C.建立相应的影像D. 建立相应的图形12. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是()操作。
A.投影B. 联接C. 选择D. 复制13. 关系代数中的联接操作是由()操作组合而成。
第2章关系数据库一、选择题1、关于关系模型,下列叙述不正确的是()。
A. 一个关系至少要有一个候选码B. 列的次序可以任意交换C. 行的次序可以任意交换D. 一个列的值可以来自不同的域2、下列说法正确的是()。
A. 候选码都可以唯一地标识一个元组B. 候选码中只能包含一个属性C. 主属性可以取空值D. 关系的外码不可以取空值3、关系操作中,操作的对象和结果都是()。
A. 记录B. 集合C. 元组D. 列4、假设存在一张职工表,包含“性别”属性,要求这个属性的值只能取“男”或“女”,这属于()。
A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 关系不变性5、有两个关系R(A, B, C)和S(B, C, D),将R和S进行自然连接,得到的结果包含几个列()A. 6B. 4C. 5D. 2二、判断题1、关系模型的一个特点是,实体以及实体之间的联系都可以使用相同的结构类型来表示。
()2、关系模型中,非主属性不可能出现在任何候选码中。
()3、关系模式是对关系的描述,关系是关系模式在某一时刻的状态或内容。
()三、填空题1、在关系模型中,关系操作包括查询、____________、____________和_____________等。
2、关系模型的三类完整性约束是指______________、_______________和_____________。
3、关系模型包括8种查询操作,其中__________、_________、并、________和笛卡儿积是5种基本操作,其他操作可以用基本操作定义和导出。
4、职工(职工号,姓名,年龄,部门号)和部门(部门号,部门名称)存在引用关系,其中________________是参照关系,____________是外码。
四、综合题假设有一个数据库包含以下关系模式:Teacher(Tno, Tname, Tage, Tsex)Department(Dno, Dname, Tno)Work(Tno, Dno,Year, Salary)教师表Teacher由教师代码Tno、教师名字Tname、教师年龄Tage、教师性别Tsex组成。
数据库(关系代数)练习题习题一实体联系图(e-r图)1、设立某汽车运输公司数据库中存有三个实体集,一就是“车队”实体集,属性存有车队号、车队名;二就是“车辆”实体集,属性存有车牌号、厂家、出厂日期;三就是“司机”实体集,属性存有司机编号、姓名、电话。
设车队与司机之间存在“聘用”联系,每个车队可以聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可以被多个司机使用。
要求:画出e-r图,并在图上注明属性、联系的类型。
2、某学校管理系统中有三个部门:后勤部、教务处和财务处。
后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资。
后勤部涉及到的实体及实体之间的联系如下:学生:属性存有学号、姓名、性别、年龄、专业和入学时间?宿舍:楼号、房间、档次一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金。
教务处涉及到的实体及实体之间的联系如下:学生:属性存有学号、姓名、性别、年龄、专业和入学时间教师:属性存有教师号、姓名、性别、职称、专业课程:属性存有课程号、课程名、学时数、专业一个学生可以选多门课,一门课可以由多个学生选修;一个教师可以教多门课,一门课也可以由多个老师教;学生选修某门课有一个成绩;教师教某门课有一个工作量。
财务处涉及到的实体及实体之间的联系如下:教师:属性有教师号、姓名、性别、职称、专业工资:属性存有基本工资、上班工资、物主、工资编号一个教师只能领一份工资,一份工资只能由一个教师领,领工资时应注明是某月工资。
试画出以上各实体的e-r图关系代数1、建有一个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.在下列选项中,_A__不是基本关系的性质。
A.不同列应有不同的数据类型B.不同列应有不同的列名C.行的顺序可以任意D.列的顺序可以任意2.在关系模型中,一个关系只能有一个 D 。
A.候选码B.外码C.内码D.主码3.在关系模型中,一个候选码 C 。
A.只能由两个以上的属性组成B.至多包含一个属性C.可以由一个或多个属性组成D.必须包含关系的全部属性4.设X是关系R的属性组,但不是R的主码,若X引用了关系S的主码Y,则称 C 。
A.X是S的外码B.Y是R的外码C.X是R的外码D.Y是S的外码5.设域D1、D2、D3分别有K1、K2、K3个元素,则D1⨯D2⨯D3的元组数为__A____。
A.K1⨯ K2⨯ K3B.K1+ K2+ K3C.(K1+ K2)⨯K3D.(K1+ K2)÷K3 6.关系数据库管理系统应能实现的专门关系运算包括 B 。
A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表7.关系模式和关系数据库模式之间的关系是 D 。
A.关系模式是型,关系数据库模式是它的值B.关系数据库模式是型,关系模式是它的值C.关系模式是关系数据库模式的集合D.关系数据库模式是关系模式的集合8.关系和关系模式之间的关系是A。
A.关系模式是型,关系是它的值B.关系是型,关系模式是它的值C.关系模式是关系的集合D.关系是关系模式的集合9.关系数据库和关系数据库模式之间的关系是 B 。
A.关系数据库是型,关系数据库模式是它的值B.关系数据库模式是型,关系数据库是它的值C.关系数据库模式是关系数据库的集合D.关系数据库是关系数据库模式的集合10.关系和关系数据库之间的关系是 C 。
A.关系数据库是型,关系是它的值B.关系是型,关系数据库是它的值C.关系数据库是关系的集合D.关系是关系数据库的集合11.属性取空值的含义是 D 。
A .属性值为0B .属性值为空集合C .属性值为空格D .属性的值不知道12. C 称为关系模式。
1.设有如图所示的关系S、SC和C,试用关系代数表达式表示下
列查询语句:
S C SC
S# SNAME AGE SEX
1 李强 23 男
2 刘丽 22 女
5 张友 22 男
C# CNAME TEACHER
k1 C语言 王华
k5 数据库原理 程军
k8 编译原理 程军
S# C# GRADE
1 k1 83
2 k1 85
5 k1 92
2 k5 90
5 k5 84
5 k8 80
(1) 检索”程军”老师所授课的课程号(C#)和课程名(CNAME)。
∏C#,CNAME(δTEACHER=程军(C))
(2) 检索年龄大于21的男学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(δAGE>21∧SEX=男(S))
(3) 检索至少选修”程军”老师所授全部课程的学生姓名(SNAME)。
∏SNAME((∏S#,C#(SC)÷∏C#(δTEACHER=程军(C)))
S)
(4) 检索”李强”同学不学课程的课程号(C#)。
∏C#(C)-∏C#(δSNAME=李强(S)SC)
(5) 检索至少选修两门课程的学号(S#)。
∏S#(δ1=4∧2≠5(SC×SC))
(6) 检索全部学生都选修的课程的课程号(C#)和课程名(CNAME)。
∏C#,CNAME(∏S#,C#(SC)÷∏S#(S)C)
(7) 检索选修课程包含”程军”老师所授课程之一的学生学号(S#)。
∏C#(δTEACHER=程军(C)SC)
(8) 检索选修课程号为k1和k5的学生学号(S#)。
∏S#,C#(SC)÷∏C#(δC#=k1∨C#=k5(C))
(9) 检索选修全部课程的学生姓名(SNAME)。
∏SNAME((∏S#,C#(SC)÷∏C#(C))S)
(10) 检索选修课程包含学号为2的学生所选修课程的学生学号(S#)。
∏S#,C#(SC)÷∏C#(δS#=2(SC))
(11) 检索选修课程名为”C语言”的学生学号(S#)和姓名(SNAME)。
∏S#,SNAME(∏S#(SC(δCNAME=C语言(C)))S)
(12)检索没有一门课程成绩不及格的学生学号,姓名。
∏S#,SNAME((∏S#(S)-∏S#(δGRADE<60(SC))S)
2.现有关系数据库如下:
学生(学号,姓名,性别,专业,奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1-4小题:
1. 检索"英语"专业学生所学课程的信息,包括学号、姓名、课程名和分数。
∏学号,姓名,课程,分数(δ专业=英语(学生⋈课程⋈学习))
2. 检索"数据库原理"课程成绩高于90分的所有学生的学号、姓名、专业和分数。
∏学号,姓名,专业,分数(δ名称=数据库原理∧分数>90(课程⋈学生
⋈学
习))
3. 检索不学课程号为"C135"课程的学生信息,包括学号,姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ课程号=C135(学习)
⋈
学生)
4. 检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ分数<60(学习
⋈
学生))
3.现有关系数据库如下:
学生(学号,姓名,性别,专业、奖学金)。
课程(课程号,名称,学分)。
学习(学号,课程号,分数)。
用关系代数表达式实现下列1—4小题:
1. 检索“国际贸易”专业中获得奖学金的学生信息,包括学号、姓名、课程名和分数。
∏学号,姓名,课程名,分数(δ专业=国际贸易∧奖学金>0(学生⋈课程⋈学
习))
2. 检索学生成绩得过满分(100分)的课程的课程号、名称和学分。
∏课程号,名称,学分((δ分数=100(学习))⋈课程)
3. 检索没有获得奖学金、同时至少有一门课程成绩在95分以上的学生信息,包括学号、姓名和专业。
∏学号,姓名,专业(δ奖学金<=0∧分数>95(学生⋈学习))
4. 检索没有任何一门课程成绩在80分以下的学生的信息,包括学号、姓名和专业。
∏学号,姓名,专业(学生)- ∏学号,姓名,专业(δ分数<80(学生
⋈
学习))
4. 设有关系S、SC和C,试用关系代数表达式完成下列操作。
S(snum,sname,age,sex),例:(1,“李强”,23,‘男’)是一条数
据记录。SC(snum,cnum,score), 例:(1,“C1”,83)是一条
数据记录。C(cnum,cname,teacher) 例:(“C1”,“数据库原理”,
“王华”)是一条数据记录。
(1) 检索“刘祥”同学不学课程的课程号。
∏cnum(C)-∏cnum(δsname=刘祥(S⋈SC))
(2) 检索有一门课程成绩在90分以上的男同学的姓名。
∏sname(δscore>90∧sex=男(S⋈SC))
(3) 列出没有选修“人工智能”的学生名单。
∏sname(S)-∏sname(δcname=人工智能(C⋈SC⋈S))
(4) 找出选修了袁老师教的所有课程的学生名单。
∏sname(∏snum,cnum(SC)÷∏cnum(δteacher=袁老师(C))⋈S)
(5) 查找每门课程成绩在70分以上并且平均成绩在75分以上的学生名单。
∏sname-∏sname(δscore<=70∨avg(score)<=75(SC⋈S))
5.数据模型如下:
厂家S(SNO,SNAME,STATUS,CITY)
产品P(PNO,PNAME,WEIGHT,COLOR)
工程J(JNO,JNAME,CITY)
供货SPJ(SNO,PNO,JNO,QTY)
用关系代数写出下述操作.
1. 给出为工程J1供货的厂商号.
∏SNO(δJNO=J1(SPJ))
2. 给出供货量在300~500之间的所有供货情况.
δQTY>=300∧QTY<=500(SPJ)
3. 给出由LONDON的厂商供给LONDON的工程的产品号.
∏ PNO((δCITY=LONDON(S))⋈(δCITY=LONDON(J))⋈SPJ)
4. 给出满足如下条件的所有产品号:提供该零件的厂商和使用该零件的工程在同一城市.
∏PNO((∏SNO,CITY(S))⋈(∏JNO,CITY(J))⋈SPJ)
5. 给出由S1提供产品的工程名.
∏JNAME((δSNO=S1(SPJ))⋈J)
6. 给出使用了由供应红色产品的厂商供应的产品的工程名.
∏JNAME(∏SNO((∏PNO(δCOLOR=红色(P)))⋈(∏SNO,PNO(SPJ)))
⋈SPJ⋈
J)
7. 求使用了全部零件的工程名.
∏JNAME(∏PNO,JNO(SPJ)÷∏PNO(P)⋈J)
8. 供应P1,P2两种产品的厂家名.
∏SNAME(∏SNO(δ2=P1∧6=P2∧1=5(SPJ×SPJ))⋈S)
9. 显示与”TV”颜色相同的产品名.
∏PNAME(∏COLOR(δPNAME=TV(P))⋈P)
10. 给出使用了S1所提供的全部零件的工程名.
∏JNAME((∏JNO,PNO(SPJ)÷∏PNO(δSNO=S1(SPJ)))⋈J)
6.设教学数据库中有三个关系:
S(SNO,SNAME,AGE,SEX,SDEPT)
SC(SNO,CNO,GRADE)
C(CNO,CNAME,TNAME)
试用关系代数表达式表示下列查询语句:
① 查询LIU老师所授课程的课程号,课程名
∏CNO,CNAME(δTNAME=LIU(C))
② 查询年龄大于23岁的男生的学号与姓名
∏SNO,SNAME(δAGE>23∧SEX=男)
③ 查询学号为S3学生所学课程的课程名与任课教师名
∏CNAME,TNAME((δSNO=S3(SC))⋈C)
④ 查询选修LIU老师所授课程中一门课的女学生姓名
∏SNAME(δTNAME=LIU(C⋈SC)⋈δSEX=女(S))
⑤ 查询WANG同学不学的课程的课程号
∏CNO(C)-∏CNO(δSNAME=WANG(S)⋈SC)
⑥ 查询至少选修两门课程的学生学号
∏SNO(δ1=4∧2≠5(SC×SC))
⑦ 查询全部学生都选修的课程的课程号和课程名
∏CNO,CNAME((δSNO,CNO(SC)÷δSNO(S))⋈C)
⑧ 查询选修课程包含LIU老师所授课程的学生学号
∏SNO,CNO(SC)÷∏CNO(δTNAME=LIU(C))