![](/user_photo/2706_HbeT2.jpg)
2.2.2 Фрагментация а) Назначение фрагментации
Существуют следующие причины вызывающие необходимость фрагментации отношений.
Условия использования. Чаще всего приложения работают с некоторыми представлениями, а не с полными базовыми отношениями. Следовательно, с точки зрения распределения данных, целесообразнее организовать работу приложений с определенными фрагментами отношений, выступающими как распределяемые элементы,
Эффективность. Данные хранятся в тех местах, в которых они чаще всего используются. Кроме того, исключается хранение данных, которые не используются локальными приложениями,
Параллельность. Поскольку фрагменты являются распределяемыми элементами, транзакции могут быть разделены на несколько подзапросов, обращающихся к различным фрагментам. Такой подход дает возможность повысить уровень параллельности обработки в системе, т.е. позволяет транзакциям, которые допускают это, безопасно выполняться в параллельном режиме,
Защищенность. Данные, не используемые локальными приложениями, не хранятся в узле, а значит, неавторизированные пользователи не смогут получить к ним доступ.
Механизму фрагментации свойственны два основных недостатка:
Производительность. Производительность приложений, требующих доступа к данным из нескольких фрагментов, расположенных различных узлах может оказаться недостаточной,
Целостность данных, Поддержка целостности данных может существенно осложняться, поскольку функционально зависимые данные могут оказаться фрагментированными и размещаться на различных узлах.
Б) Корректность фрагментации
Существуют три правила, которых следует обязательно придерживаться при проведении фрагментации.
Полнота. Если экземпляр отношения R разбивается на фрагменты, например R1 ,R2 …Rn , то каждый элемент данных, присутствующий в отношении R, должен присутствовать, по крайней мере, в одном из созданных фрагментов. Выполнение этого правила гарантирует, что какие-либо данные не будут утрачены в результате выполнения фрагментации.
2.Восстановимость. Должна существовать операция реляционной алгебры, позволяющая восстановить отношение R из его фрагментов. Это правило гарантирует сохранение функциональных зависимостей.
3. Непересекаемость. Если элемент данных присутствует во фрагменте R то он не должен одновременно присутствовать в каком-либо ином фрагменте. Исключением из этого правила является операция вертикальной фрагментации, поскольку в этом случае в каждом фрагменте должны присутствовать атрибуты первичного ключа, необходимые для восстановления исходного отношения. Данное правило гарантирует минимальную избыточность данных во фрагментах.
В случае горизонтальной фрагментации элементом данных является кортеж, а в случае вертикальной фрагментации — атрибут.
2.2.3 Типы фрагментации
Существуют два основных типа фрагментации; горизонтальная и вертикальная.
Горизонтальные фрагменты представляют собой подмножества кортежей отношения, а вертикальные — подмножества атрибутов отношения, как показано на рис.
Кроме того, существуют еще 2 типа фрагментации: смешанная и производная.
Рис 2.1 Различные типы фрагментации:
а) горизонтальная; б) вертикальная
Рис.2.2. Смешанная фрагментация:
а) горизонтально разделенные вертикальные фрагменты;
б) вертикально разделенные горизонтальные фрагменты