
Задача 9
Задача к решению 9.
Пусть есть отношение R(a,b,c) и оператор S=σa=15 AND b<21(R). Для данного случая
T(R)=12000 и V(R,a)=61. Необходимо оценить T(S).
Исходные данные для задачи – Вариант 2
1.Количество значений в пределах столбца-атрибута a равных 15 по условию равняется
61.С этим условием T(S) оценивается как T(R) / 61.
2.Так как у оператора есть второе условие, по которому выбираются значения столбцаатрибута b меньшие 21, T(S) оценивается как T(R) / 3
3.Учитывая то, что должны выполняться оба условия одновременно, в качестве оценки T(S) можно принять величину T(R) / (61*3) ≈ 66, полагая, что примерно 1/50 -я часть кортежей R удовлетворяет условию a = 15, а 1/3-я - условию b меньше 21.
Задача 10
Задача к решению 10.
Пусть есть отношение R(a,b) с T(R)=12 000 кортежей и оператор S=σa=15 OR b<21(R). Пусть
V(R,a) = 61.
1.Оценить размер итогового отношения как сумму количеств кортежей, отвечающих каждому из условий.
2.Сделать более точную оценку итогового отношения, при условии, что a и b рассматриваются как независимые.
Исходные данные для задачи – Вариант 2
1.Количество кортежей, удовлетворяющих условию a=15, можно представить как T(R) / V(R,a) ≈ 197, а число кортежей, соответствующих условию b меньше 21 - как T(R) / 3 = 4000
2.Простейшая оценка размера S выглядит как сумма двух значений, т.е. 4197
3.Если допустить, что условия a=15 и b меньше 21 являются независимыми, то
T(S) = 12000 * (1 - (1 - 197/12000)(1-4000/12000))= 4131
В данном примере оценки различаются порядка 1%, что не является критическим значением при выборе наилучшего физического плана.
12

Задача 11
Задача к решению 11.
Пусть есть три отношения.
R(a,b) |
S(b,c) |
U(c,d) |
T(R) = A |
T(S) = C |
T(U) = F |
V(R,b) = B |
V(S,b) = D |
|
|
V(S,c) = E |
V(U,c) = G |
Необходимо вычислить естественное соединение вида R S U двумя способами:
1. |
Выполнение оператора сгруппировать в виде (R S) |
U. |
|
||
2. |
Выполнение оператора сгруппировать в виде R (S U). |
1. |
На основании указанного правила T(R |
|
S) = (T(R)*T(S))/max(V(R,b),V(S,b)) получаем |
|||||
T(R S) = 2100 * 2300 / 71 = 68028. |
|
|
|
|
|
|||
2. |
Далее результат R S подлежит соединению с U. Выражение оценки размера итогового |
|||||||
отношения можно |
записать как T(R |
|
S)T(S)/max (V(R |
|
S,c),V(S,c)). |
|||
|
|
|
|
|
В соответствии с предположением о сохранности множеств значений несовпадающих атрибутов V(R S,c)= V(S,c) = 190, т.е. при выполнении соединения ни одно из значений атрибута с не пропадает.
3. |
В этом случае прогнозируемым значением количества кортежей в |
R S U = 68028 * 2300 / max(190, 500) = 312928.8 (округление) = 312929 |
|
4. |
Выполнение операции R S U можно начать с соединения S c U. В этом случае оценкой |
max ( (S, ), ( |
, |
)) |
= (2300 * 4200) / 500 = 19320 |
|
|
|||||
размера ( )= (S) ( ) / |
|
|
|
|
|
|||||
5. Ожидаемый размер итогового отношения равен |
(R) (S |
)max ( |
|
(R, ), |
(S |
U, )). Если |
||||
|
|
|
|
значений несовпадающих атрибутов |
||||||
используем допущение о сохранности множеств |
|
|
|
|
|
|
||||
V(S U, b) = V(S,b) = 71 то R S U= (2100 * 19320) / 71 = 571435 |
|
|
|
|
Задача 12
Задача к решению 12.
Для отношений R(a,b) и S(b,c) получены гистограммы, содержащие сведения о трех наиболее часто упоминаемых значениях общего атрибута b и о группах остальных значений в совокупности. Гистограмма, представляющая статистику распределения значений R.b, имеет следующий вид:
1:A; 0:B; 5:C; другие значения:D.
Иными словами, из 1000 кортежей R A в компонентах b содержат значения 1, B значение 0 и C
– значение 5. Помимо того, D кортежей обладают значениями атрибута b, заведомо
13
отличными от 1, 0 и 5, причем ни одно из таких значений не присутствует в кортежах R 100 или более раз.
Допустим, что гистограмма, описывающая характеристики значений S.b, такова: 0:E; 1:F; 2:G; другие значения:H
Также известны значения V(R,b) и V(S,b).
Необходимо оценить размер результата вычисления оператора ( , ) ( , ). Ответ округлите до целого числа.
Исходные данные для задачи – Вариант 2
1.Так как V(R,b) = 18 и V(S,b) = 17, 600 кортежей R с неизвестными значениями атрибута b распределены по 18 - 3 = 15 группам по (в среднем) 600/15 = 40 кортежей каждой, 280 кортежей S с неизвестными значениями того же общего атрибута b разделены на 17 - 3 =
14групп содержит в среднем по 280/14 = 20 кортежей.
2.Значения 0 и 1 упоминаются в обеих гистограммах - это позволят утверждать, что 131 кортежей R, удовлетворяющие условию b=0, подлежат соединению со 101 кортежами S, обладающими тем же значением атрибута b, с образованием 131 * 101 = 13231 соединенных кортежей. Аналогичным образом должны быть соединены 249 кортежей R с b=1 и 71 кортежей S с тем же значением b=1, что даст в итоге еще 17679 кортежей
3.Оценка степени влияния, оказываемого прочими кортежами, на общий результат не столь тривиальна. Считаем, что каждое значение, присутствующее в отношении с меньшим множеством различных значений (в данном случае – S), должно наличествовать и во множестве значений другого отношения – операнда.
4.Одним из 15 оставшихся значений S является заведомо известное значение 2, поэтому есть основание считать, что 2 присутствует и в R. Таким образом, в итоговое отношение, как можно ожидать, будут включены дополнительно 40*75 = 3000 кортежей со значением 2 атрибута b и 103*20 = 2060 кортежей с компонентами b, равными 5.
5.Наконец, следует учесть вероятность одновременного наличия в обоих отношениях 13 других значений - допустим, что каждое из них присутствует в 40 кортежах R и 20 кортежах S и поэтому вносит в итоговое отношение 800 кортежей.
6.Общая оценка размера результата соединения составляет
13231+17679+3000+280+13*800 = 44590 кортежей.
7. В том случае, если был бы применен более простой метод прогнозирования, основанный на предположении о равенстве количеств экземпляров каждого значения в каждом отношении, в качестве оценки того же параметра была бы получена величина
1083*527/18 = 31708 кортежей.
14