第2章补充作业及答案(选做)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系代数补充习题
(摘自数据库系统导论)
单项选择:
1. 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为
________。
(1)主码(2)候选码(3)主属性(4)外码
2.________由数据结构、关系操作集合和完整性约束三部分组成。
(1)关系模型(2)关系(3)关系模式(4)关系数据库
3.SQL 语言属于________。
(1)关系代数语言(2)元组关系演算语言(3)域关系演算语言(4)具有关系代数和
关系演算双重特点的语言
4.关系演算是用________来表达查询要求的方式。
(1)谓词(2) 关系的运算(3)元组(4)域
5.实体完整性要求主属性不能取空值,这一点可以通过________来保证。
(1)定义外码(2)定义主码(3)用户定义的完整性(4)由关系系统自动
6.一组具有相同数据类型的值的集合称为________。
(1)关系(2)属性(3)分量(4)域
7.在一个关系中,不能有相同的________。
(1)记录(2)属性(3)分量(4)域
8.关系是________。
(1)型(2)静态的(3)稳定的(4)关系模型的一个实例
9.所谓空值就是________的值。
(1)数值0 (2)空的字符串(3)未知的值(4)任何值
10.集合R 与S 的差表示为________。
(1){t|t∈R∨t∈S} (2){t|t∈R∧フt∈S} (3) {t|t∈R∧t∈S}
(4) {trts|tr∈R ∧ts∈S}
问答题
2.1 本章中,我们声称并、交、积和(自然)连接都具有交互性和结合性。证明之。
2.2 在Codd 最初定义的八个操作符中,并、差、积、选择和投影可以被认为是基本的。试用这五种基本操作来表示自然连接、交和除。
2.3 如果A 和B 没有共同的属性,则A JOIN B 等价于A TIMES B。对其进行证明。如果A 和
B 有相同的表头,则上述表达式等价于什么?
2.4 证明2.2 中提到的五个基本操作符是基本的(证明任意一个不能被其余四个来表示)。
2.5 算术里的乘和除是两个互逆的操作。关系代数中的TIMES 和DIVIDEBY是互逆操作吗?
2.6 假设A 是一个n 目的关系。A 有多少个不同的投影?
2.7 算术中的特殊的数字1 使对任意数字n 都有:n * 1 = 1 * n = n。称1 对于乘法具有同一性(identity)。在关系代数中存在类似角色的关系吗?如果有,是什么?
2.8 算术中还有另外一个特殊的数字0,它使:对任意的数字n 有n * 0 = 0 *n = 0。在关系代数中存在类似角色的关系吗?如果有,是什么?
2.9 考虑本章所讲的代数操作符作用于满足上面两个练习要求的关系上会有何种结果。2.10 在2.2 节讲到,由于和算术中封闭性之重要性的同样原因,关系封闭性是很重要的。然
而算术里有一个封闭性被打破的情况——即被零除。关系代数中有类似的情况吗?
2.11 并、交、积和连接最初都被定义为二元(dyadic)操作符(即每个都有两个操作对象)。在本章中显示了怎样把它们扩展到n 元操作符(任意n>1);例
如,A UNION B UNION C 可看作是A、B 和C 的三目并。但当n=1 或n=0 时会怎样呢?
2.12 外连接的作用是什么?它满足交换律吗?为什么?
查询练习
S(s#,sname,status,city)
P(p#,pname,color,weight,city)
J(j#,jname,city)
SPJ(s#,p#,j#,qty)
下面的练习都以suppliers-parts-projects(供应商--零件--工程)数据库为基础。每个例子要求你为某个查询写出关系代数表达式。
......
2.13 求所有有关project 的信息。
2.14 求在伦敦的所有project 的信息。
2.15 求为project(工程)J1 提供part(零件)的supplier(供应商)的号码。
2.16 求数量在300 到750 之间的发货。
2.17 求所有的零件颜色/ 城市对。注意:这里及以后所说的“所有”特指在数据库中。2.18 求所有的supplier-number / part-number / project-number 对。其中所指的供应商,零件和工程在同一个城市。
2.19 求所有的supplier-number / part-number / project-number 对。其中所指的供应商,零件和工程不在同一个城市。
2.20 求所有的supplier-number / part-number / project-number 对。其中所指的供应商,零件和工程三者中的任意两个都不在同一个城市。
2.21 求由伦敦供应商提供的零件的信息。
2.22 求由伦敦供应商为伦敦工程供应的零件号。
2.23 求满足下面要求的城市对,要求在第一个城市的供应商为第二个城市的工程供应零件。
2.24 求供应商为工程供应的零件的号码,要求供应商和工程在同一城市。
2.25 求至少被一个不在同一城市的供应商供应零件的工程号。
2.26 求由同一个供应商供应的零件号的对。
2.27 求所有由供应商S1 供应的工程号。
2.28 求供应商S1 供应的零件P1 的总量。
2.29 对每个供应给工程的零件,求零件号、工程号和相应的总量。
2.30 求为单个工程供应的零件数量超过350 的零件号。
2.31 求由S1 供应的工程名称。
2.32 求由S1 供应的零件颜色。
2.33 求供应给伦敦工程的零件号。
2.34 求使用了S1 供应的零件的工程号。
2.35 设供应了红色零件的供应商为S2,求供应了至少一个S2 供应的零件的供应商号。
2.36 求status 比S1 低的供应商号码。
2.37 求所在城市按字母排序为第一的工程号。
2.38 求被供应零件P1 的平均数量大于供应给工程J1 的任意零件的最大数量的工程号。