Горизонтальная и вертикальная фрагментация в распределенных системах управления базами данных (DDBMS)

в контексте DDBMS, в чем разница между Вертикальная Фрагментация и Горизонтальная Фрагментация?

Так ли, что расширение отношения фрагментировано для вертикальной фрагментации, а фрагментация интенсивности-горизонтальная фрагментация?

7 ответов


Предположим, у вас есть связи, студент.

Вы разделяете отношение студент в двух наборах (назовите их set1 и set2) так, что половина атрибутов студента находятся в set1 и половина из них находятся в set2. Это называется "вертикальной фрагментацией", поскольку отношение фрагментировано вдоль столбцов (подобно разрыву страницы по вертикали). Исходное отношение получается путем естественного объединения всех множеств. Для соединения нам потребуется как минимум один атрибут, который является общим для всех наборы(обычно это первичный ключ).

но если наше отношение разделено так, что подмножество строк (см. здесь все атрибуты присутствуют в строках) присутствует с site1 (например), другое подмножество присутствует с site2, и так далее, это называется "горизонтальной фрагментацией", и исходное отношение получается путем объединения всех множеств. Это как рвать страницу по горизонтали.

Как понятно, это в контексте распределенной СУБД.


скажем, у нас есть это отношение

customer_id | Name | Area       | Payment Type  | Sex
      1     | Bob  | London     | Credit card   | Male
      2     | Mike | Manchester | Cash          | Male
      3     | Ruby | London     | Cash          | Female

горизонтальная фрагментация-это подмножества кортежей (строк)

фрагмент 1

customer_id | Name | Area       | Payment Type  | Sex
      1     | Bob  | London     | Credit card   | Male
      2     | Mike | Manchester | Cash          | Male

фрагмент 2

customer_id | Name | Area       | Payment Type  | Sex
      3     | Ruby | London     | Cash          | Female

вертикальная фрагментация-это подмножество атрибутов

фрагмент 1

customer_id | Name | Area       | Sex
      1     | Bob  | London     | Male
      2     | Mike | Manchester | Male
      3     | Ruby | London     Female

фрагмент 2

customer_id | Payment Type
      1     | Credit card 
      2     | Cash        
      3     | Cash        

вертикальная фрагментация требуется только для распределенных баз данных. Скажем, одно из отношений R имеет несколько атрибутов. Некоторые из этих атрибутов состоит в R1 и в R2. Затем мы присоединяемся к странице вертикально. Это называется вертикальной фрагментацией.


в основном горизонтальная фрагментация разбивает таблицы по строкам . В случае вертикальной фрагментации разбивает столбец таблицы wise.

в таблице горизонтальной фрагментации остаются прежними.Только строки являются разделениями. В вертикальной фрагментации одна таблица разбивается на две или более таблиц.


фрагментация данных является важной особенностью распределенных систем управления базами данных (DDBMS) Горизонтальная Фрагментация - это разделение таблиц по горизонтали на кортежи или строки. Например, таблица компании с 1000 записями может быть горизонтально разбита на десять фрагментов, каждый из которых имеет 100 уникальных записей.

Вертикальная Фрагментация фрагментирует таблицу на столбцы, известные как set или site, где каждый сайт должен иметь хотя бы один общий столбец, такой как столбец атрибута первичного ключа (так что при необходимости фрагментированные сайты могут быть снова сформированы в целую (родительскую) таблицу с использованием общего столбца). Например, таблица EMPLOYEE имеет атрибуты ENO (первичный ключ), ENAME, ADDRESS, EMAIL & SALARY. Вертикальная фрагментация этой таблицы на два сайта, такие как site1 и site2. Столбцы в site1-это ENO, ENAME & ADDRESS. Столбцы в site2-это ENO, электронная почта и зарплата.


горизонтальная фрагментация делит отношение на кортежи, называемые строками

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

в зависимости от нашего требования к взгляда применения, мы можем разделить отношение в горизонтальное или вертикальное.

степень фрагментации и правила корректности на основе представления приложения


горизонтальная фрагментация разделяет таблицы по строкам. Он отличается от вертикальной фрагментации тем, что отношения между ключевыми и неключевыми столбцами остаются неизменными. Содержание таблиц различается по значению ключа.

горизонтальная фрагментация e.g: Компания хочет, чтобы каждый отдел поддерживал свои собственные данные. В этом примере будет только одна строка в таблице отдела каждого отдела, а другие таблицы содержат только данные для отдела работники.