Dans le contexte de DDBMS, quelle est la différence entre la fragmentation verticale et la fragmentation horizontale ?
Est-il tel que l'extension de la relation est fragmentée pour la fragmentation verticale et que la fragmentation d'intension est une fragmentation horizontale?
Supposons que vous ayez une relation, étudiant.
Vous divisez la relation Student en deux ensembles (appelez-les set1 et set2) de sorte que la moitié des attributs de Student soient dans set1 et que la moitié d'entre eux soient dans set2. C'est ce qu'on appelle la «fragmentation verticale», car une relation est fragmentée le long des colonnes (ce qui revient à déchirer une page verticalement). La relation originale est obtenue en prenant la jointure naturelle de tous les ensembles. Pour la jointure naturelle, nous avons besoin d'au moins un attribut commun à tous les ensembles (généralement, il s'agit de la clé primaire).
Mais si notre relation est divisée de telle sorte qu'un site de lignes (voir ici tous les attributs sont présents) est présente avec site1 (par exemple), il en existe un autre avec site2, etc. La relation originale s'obtient en prenant l'union de tous les ensembles. C'est comme déchirer une page horizontalement.
Comme il est clair, cela s’applique au SGBD distribué.
Disons que nous avons cette relation
customer_id | Name | Area | Payment Type | Sex
1 | Bob | London | Credit card | Male
2 | Mike | Manchester | Cash | Male
3 | Ruby | London | Cash | Female
Fragment 1
customer_id | Name | Area | Payment Type | Sex
1 | Bob | London | Credit card | Male
2 | Mike | Manchester | Cash | Male
Fragment 2
customer_id | Name | Area | Payment Type | Sex
3 | Ruby | London | Cash | Female
Fragment 1
customer_id | Name | Area | Sex
1 | Bob | London | Male
2 | Mike | Manchester | Male
3 | Ruby | London Female
Fragment 2
customer_id | Payment Type
1 | Credit card
2 | Cash
3 | Cash
La fragmentation verticale est requise uniquement pour les bases de données distribuées. Supposons que l'une des relations R ait plusieurs attributs. Certains de ces attributs sont constitués de R1 et d'autres de R2. Ensuite, nous rejoignons la page verticalement. C'est ce qu'on appelle la fragmentation verticale.
La fragmentation des données est une caractéristique importante des systèmes de gestion de base de données distribuée (DDBMS) Fragmentation horizontale est le fractionnement de tables horizontalement en tuples ou en lignes. Par exemple, une table COMPANY contenant 1000 enregistrements peut être fragmentée horizontalement en dix fragments, chaque fragment ayant 100 enregistrements uniques.
Fragmentation verticale fragmente la table en colonnes appelées ensemble ou site, où chaque site doit avoir au moins une colonne en commun, telle que la colonne d'attribut de clé primaire (afin que les sites fragmentés puissent à nouveau être formés par exemple, la table EMPLOYEE ayant des attributs tels que ENO (PRIMARY KEY), ENAME, ADDRESS, EMAIL & SALARY. Fragmentant verticalement cette table en deux sites tels que site1 et site2. Les colonnes du site 1 sont ENO, ENAME et ADDRESS. Les colonnes dans site2 sont ENO, EMAIL & SALARY.
En gros, la fragmentation horizontale divise les tableaux par rangée . Dans le cas d'une fragmentation verticale, le tableau est divisé par colonne.
Dans la table de fragmentation horizontale, restez les mêmes que précédemment. Seules les lignes sont fractionnées . Dans la fragmentation verticale, une table est scindée en deux ou plusieurs.
La fragmentation horizontale divise les tableaux en lignes. Elle diffère de la fragmentation verticale en ce que la relation entre les colonnes clés et les colonnes non clés reste la même. Le contenu des tableaux diffère par la valeur de la clé.
Fragmentation horizontale, par exemple: La société souhaite que chaque service conserve ses propres données. Dans cet exemple, il n'y aurait qu'une seule ligne dans la table Department de chaque service et les autres tables ne contiendraient que les données relatives aux employés du service.
La fragmentation horizontale divise la relation en tuples appelées rangées
La fragmentation verticale divise la relation en attributs appelés colonnes.
Selon les besoins de notre vue d’application, nous pouvons fragmenter la relation en horizontale ou verticale.
Le degré de règle de fragmentation et de correction basé sur la vue de l'application