Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Тоу Д. -> "Настройка SQL. Для профессионалов" -> 147

Настройка SQL. Для профессионалов - Тоу Д.

Тоу Д. Настройка SQL. Для профессионалов — СПб.: Питер, 2004. — 333 c.
ISBN 5-94723-959-0
Скачать (прямая ссылка): nastroykasqldlyaprof2004.djvu
Предыдущая << 1 .. 141 142 143 144 145 146 < 147 > 148 149 150 151 152 153 .. 161 >> Следующая

Решения для задач из главы 5

299

поэтому диапазоны даты, определяемые Effecti ve_Start_Date и Effecti ve_End_Date, не перекрывают друг друга. Даже хотя комбинации идентификаторов (ID) и условий на диапазон даты не составляют условий равенства для полного уникального ключа, описываемая ими допустимая дата гарантирует, что соединение уникально, если оно включает условия на диапазон даты.

Г

ITxRIJ)

Рис. А.З. Решение для упражнения 3

Так как вы считаете диапазон даты, определяемый Effecti ve_Start_Date и Effective_End_Date, частью соединения в запросе, не принимайте это условие за фильтр. Считайте действующей в условиях диаграммы запроса только ту подтаб-лицу, которая отвечает условию, налагаемому на диапазон даты. Так, количество строк в P и IV будет одинаково и равно 8 500, и также будут равны 4 количества строк в ITx и ItxR. Это подтверждает, что данные соединения принадлежат типу «один к одному» и коэффициенты соединения, равные 1,0, на обоих концах связей.

Как и для примера на рис. 5.4, вы должны использовать количества строк только в подтаблицах для соединений с SPCT, TRCT и СТСТ, так как Code_Trans I ati ons — это одна из тех таблиц с яблоками и апельсинами, которая в определенный момент соединяется только с некоей конкретной подтаблицей.

ПРИМЕЧАНИЕ --------------------------------------------------------------------------

Я ослабил собственное правило насчет указания только одной значащей цифры для коэффициентов соединения и фильтрации. В основном я сделал это для того, чтобы показать вам, что ваши вычисления верны; вы не просто случайно выбрали правильное число по каким-то неверным причинам.

Упражнение 4

На рис. А.4 показано решение для упражнения 4, которое на самом деле является упрощенным решением для упражнения 1.

Так как эта за; ача включает только большие детальные коэффициенты соединения и главные коэффициенты соединения, равные 1,0, вы просто добавляете заглавную букву F к наиболее сильно фильтрованному узлу и строчную букву f
300

Приложение А. Решения задач

к остальным фильтрованным узлам, добавляя звездочку к уникальному фильтру для узла R.

Cf

1

Z

DF MP

Рис. А.4. Решение для упражнения 4

Упражнение 5

На рис. А.5 показано решение для упражнения 5, являющееся упрощенным решением для упражнения 2.

CM

С Mf

І I'

Z Ca t

І I

R BF.*

Рис. А.5. Решение для упражнения 5

Так как эта задача включает только большие детальные коэффициенты соединения и главные коэффициенты соединения, равные 1,0, вы просто добавляете заглавную букву F к наиболее сильно фильтрованному узлу и строчную букву f к другому фильтрованному узлу, добавляя звездочку к уникальному фильтру для узла В.

Упражнение 6

На рис. А.6 показано решение для упражнения 6, являющееся упрощенным решением для упражнения 3.

Так как эта задача включает только большие детальные коэффициенты соединения, их можно не указывать на диаграмме. Однако обратите внимание, что она включает один главный коэффициент соединения, намного меньший 1,0, в соединении вниз с таблицей ITx, поэтому его необходимо все же указать. Иначе нужно
Решение для задачи из главы 6

301

просто добавить заглавную F к наиболее сильно фильтрованному узлу и строчную f к остальным фильтрованным узлам, добавляя звездочку к уникальному фильтру для узла В.

LOC f

1

IT XR _f

Рис. А.6. Решение для упражнения 6

Решение для задачи из главы 6

Эта глава содержит только одну, исключительно сложную задачу. В этом разделе дано подробное пошаговое решение задачи.

На рис А.7 показано, как скорректировать эффективные фильтры, чтобы учесть коэффициенты соединения, меньшие 1,0, появляющиеся на рис. 6.33 в трех местах.

Al (К4 А2 0.3x0.02 0/\300 Ї

BI 0.5x01 62 0.08 1

¦ОтЗ*

Cl 0.1x0.1 С2 1x0.02x0.4 СЗ 0.2x0.02 С4 1x0.02 С5 1x0.02

2^\200 |10

Dl 0.7x0.02x0.4

Г

D2 0.7x0.02

D3 0.4x0.02

Рис. А.7. Эффективные фильтры, учитывающие коэффициенты соединения, для выбора ведущей таблицы

Корректируйте эффективные фильтры одновременно с обеих сторон, начиная с главных коэффициентов соединения, так как эти фильтры можно перемещать
302

Приложение А. Решения задач

вверх при помощи явных условий IS NOT NULL для внешних ключей. Таким образом корректируются фильтры для таблиц BI, Cl, С2 и Dl, после чего нужно зачеркнуть главные коэффициенты соединения, чтоб показать, что они уже учтены. Обратите внимание на детальный коэффициент соединения, равный 0,02, между M и Al, при помощи которого можно достигнуть еще более существенной корректировки всех фильтров, находящихся ниже M в ветви А2.

ПРИМЕЧАНИЕ-----------------------------------------------------------------------

Если бы существовали и другие ветви, то коэффициенты для них тоже были бы скорректированы. Корректировка не влияет только на ветвь Al. присоединенную через фильтрующее соединение.

Обратите внимание, что эффективные коэффициенты соединения для С2 и Dl корректируются дважды, так как на них влияют два фильтрующих соединения. Просмотрев все полученные числа, мы видим, что лучший эффективный фильтр, равный 0,004 (0,2 х 0,02), принадлежит СЗ, поэтому она становится ведущей таблицей.
Предыдущая << 1 .. 141 142 143 144 145 146 < 147 > 148 149 150 151 152 153 .. 161 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100