数据库复习题集2(答案解析).doc
文本预览下载声明
复习题(2)
试分别判断下列图中G1和G2是否互模拟(bisimulation),并说明理由:
a
a
a
a
b
c
c
b
G1=
G2=
ab
a
b
c
a
b
c
c
G1
G2
d
d
d
答案:
(1) 在图中标出各点的状态,我们构造关系
,
可知G2可以模拟G1,下面我们讨论
是否可模拟,在G2中有一个a变换可对应到G1中2个变换,即,。但有两个变换b,c,而在G1中仅存在只有b或只有c的状态点,可知G1和G2不能互模拟。
(2) 如图,标出各状态点,构造有关系
可知其中G1中的点均可由G2中的点模拟,下面我们考虑
可知同样其中G2中的点均可由G1中的点模拟. 所以G1和G2为互模拟的。
给定如下数据图(Data Graph):
试给出其Strong DataGuide 图
答案:
Strong DataGuide 图
Consider the relation, r , shown in Figure 5.27. Give the result of the following query :
Figure 5.27
Query 1:
select building, room number, time_slo_ id, count(*)
from r
group by rollup (building, room number, time_slo_ id)
Query 1:
select building, room number, time_slo_ id, count(*)
from r
group by cube (building, room number, time_slo_ id)
答案:
Query 1
返回结果集:为以下四种分组统计结果集的并集且未去掉重复数据。
building
room number
time_slo_ id
count(*)
产生的分组种数:4种;
第一种:group by A,B,C
Garfield
359
A
1
Garfield
359
B
1
Saucon
651
A
1
Saucon
550
C
1
Painter
705
D
1
Painter
403
D
1
第二种:group by A,B
Garfield
359
A
2
Garfield
359
B
2
Saucon
651
A
1
Saucon
550
C
1
Painter
705
D
1
Painter
403
D
1
第三种:group by A
Garfield
359
A
2
Garfield
359
B
2
Saucon
651
A
2
Saucon
550
C
2
Painter
705
D
2
Painter
403
D
2
第四种:group by NULL。本没有group by NULL?的写法,在这里指是为了方便说明,而采用之。含义是:没有分组,也就是所有数据做一个统计。例如聚合函数是SUM的话,那就是对所有满足条件的数据进行求和。
Garfield
359
A
6
Garfield
359
B
6
Saucon
651
A
6
Saucon
550
C
6
Painter
705
D
6
Painter
403
D
6
Query 2:
group by后带rollup子句与group by后带cube子句的唯一区别就是:
带cube子句的group by会产生更多的分组统计数据。cube后的列有多少种组合(注意组合是与顺序无关的)就会有多少种分组。
返回结果集:为以下八种分组统计结果集的并集且未去掉重复数据。
building
room number
time_slo_ id
count(*)
产生的分组种数:8种
第一种:group by A,B,C
Garfield
359
A
1
Garfield
359
B
1
Saucon
651
A
1
Saucon
550
C
1
Painter
705
D
1
Painter
403
D
1
第二种:group by A,B
Garfield
359
A
2
Garfield
359
B
2
Saucon
651
A
1
Saucon
550
C
1
Painter
705
D
1
Painter
403
D
1
第三种:group by A,C
Garfield
359
A
1
Garfield
359
B
1
Saucon
651
A
1
Saucon
550
C
1
Painter
705
D
2
Painter
403
D
2
第四种:group by B,C
Garfield
359
A
2
Garfield
359
B
2
Saucon
651
A
1
Saucon
550
C
1
P
显示全部