数据库系统基础教程第五章答案 下载本文

内容发布更新时间 : 2024/5/18 15:42:43星期一 下面是文章的全部内容请认真阅读。

Exercise 5.1.1

As a set:

speed 2.66 2.10 1.42 2.80 3.20 2.20 2.00 1.86 3.06

Average = 2.37

As a bag:

speed 2.66 2.10 1.42 2.80 3.20 3.20 2.20 2.20 2.00 2.80 1.86 2.80 3.06

Average = 2.48

Exercise 5.1.2

As a set:

hd 250 80 320 200 300 160

Average = 218

As a bag:

hd 250 250 80 250 250 320 200 250 250 300 160 160 80

Average = 215

Exercise 5.1.3a

As a set:

bore 15 16 14 18

As a bag:

bore 15 16 14 16 15 15 14 18

Exercise 5.1.3b

πbore(Ships Classes)

Exercise 5.1.4a

For bags:

On the left-hand side:

Given bags R and S where a tuple t appears n and m times respectively, the union of bags R and S will have tuple t appear n + m times. The further union of bag T with the tuple t appearing o times will have tuple t appear n + m + o times in the final result. On the right-hand side:

Given bags S and T where a tuple t appears m and o times respectively, the union of bags R and S will have tuple t appear m + o times. The further union of bag R with the tuple t appearing n times will have tuple t appear m + o + n times in the final result.

For sets:

This is a similar case when dealing with bags except the tuple t can only appear at most once in each set. The tuple t only appears in the result if all the sets have the tuple t. Otherwise, the tuple t will not appear in the result. Since we cannot have duplicates, the result only has at most one copy of the tuple t.

Exercise 5.1.4b

For bags:

On the left-hand side:

Given bags R and S where a tuple t appears n and m times respectively, the intersection of bags R and S will have tuple t appear min( n, m ) times. The further intersection of bag T with the tuple t appearing o times will produce tuple t min( o, min( n, m ) ) times in the final result. On the right-hand side:

Given bags S and T where a tuple t appears m and o times respectively, the intersection of bags R and S will have tuple t appear min( m, o ) times. The further intersection of bag R with the tuple t appearing n times will produce tuple t min( n, min( m, o ) ) times in the final result.

The intersection of bags R,S and T will yield a result where tuple t appears min( n,m,o ) times.

For sets:

This is a similar case when dealing with bags except the tuple t can only appear at most once in each set. The tuple t only appears in the result if all the sets have the tuple t. Otherwise, the tuple t will not appear in the result.

Exercise 5.1.4c

For bags:

On the left-hand side:

Given that tuple r in R, which appears m times, can successfully join with tuple s in S, which appears n times, we expect the result to contain mn copies. Also given that tuple t in T, which appears o times, can successfully join with the joined tuples of r and s, we expect the final result to have mno copies. On the right-hand side:

Given that tuple s in S, which appears n times, can successfully join with tuple t in T, which appears o times, we expect the result to contain no copies. Also given that tuple r in R, which appears m times, can successfully join with the joined tuples of s and t, we expect the final result to have nom copies.

The order in which we perform the natural join does not matter for bags.

For sets:

This is a similar case when dealing with bags except the joined tuples can only appear at most once in each result. If there are tuples r,s,t in relations R,S,T that can successfully join, then the result will contain a tuple with the schema of their joined attributes.

Exercise 5.1.4d

For bags:

Suppose a tuple t occurs n and m times in bags R and S respectively. In the union of these two bags R ? S, tuple t would appear n + m times. Likewise, in the union of these two bags S ? R, tuple t would appear m + n times. Both sides of the relation yield the same result.

For sets:

A tuple t can only appear at most one time. Tuple t might appear each in sets R and S one or zero times. The combinations of number of occurrences for tuple t in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple t appears in both sets R and S will the union R ? S have the tuple t. The same reasoning holds when we take the union S ? R.

Therefore the commutative law for union holds.

Exercise 5.1.4e

For bags:

Suppose a tuple t occurs n and m times in bags R and S respectively. In the intersection of these two bags R ∩ S, tuple t would appear min( n,m ) times. Likewise in the intersection of these two bags S ∩ R, tuple t would appear min( m,n ) times. Both sides of the relation yield the same result.

For sets:

A tuple t can only appear at most one time. Tuple t might appear each in sets R and S one or zero times. The combinations of number of occurrences for tuple t in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple t appears in at least one of the sets R and S will the

intersection R ∩ S have the tuple t. The same reasoning holds when we take the intersection S ∩ R.

Therefore the commutative law for intersection holds.

Exercise 5.1.4f

For bags:

Suppose a tuple t occurs n times in bag R and tuple u occurs m times in bag S. Suppose also that the two tuples t,u can successfully join. Then in the natural join of these two bags R S, the joined tuple would appear nm times. Likewise in the natural join of these two bags S R, the joined tuple would appear mn times. Both sides of the relation yield the same result.

For sets:

An arbitrary tuple t can only appear at most one time in any set. Tuples u,v might appear

respectively in sets R and S one or zero times. The combinations of number of occurrences for tuples u,v in R and S respectively are (0,0), (0,1), (1,0), and (1,1). Only when tuple u exists in R