Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППСУБД Архангельский БСТ2154.pdf
Скачиваний:
10
Добавлен:
31.07.2024
Размер:
454.89 Кб
Скачать

Задача 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

Исходные данные для задачи – Вариант 2

Задача 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