Indexation dans un SGBD : qu'est-ce que c'est, types d'index avec des EXEMPLES
Quโest-ce que lโindexation ?
Indexage est une technique de structure de donnรฉes qui vous permet de rรฉcupรฉrer rapidement des enregistrements d'un fichier de base de donnรฉes. Un index est un petit tableau comportant seulement deux colonnes. La premiรจre colonne comprend une copie de la clรฉ primaire ou candidate d'une table. Sa deuxiรจme colonne contient un ensemble de Pointeurs pour conserver l'adresse du bloc de disque oรน cette valeur de clรฉ spรฉcifique est stockรฉe.
Un index -
- Prend une clรฉ de recherche en entrรฉe
- Renvoie efficacement une collection dโenregistrements correspondants.
Types d'indexation dans les SGBD

L'indexation dans la base de donnรฉes est dรฉfinie en fonction de ses attributs d'indexation. Il existe deux principaux types de mรฉthodes d'indexation :
- Indexation primaire
- Indexation secondaire
Index primaire dans le SGBD
L'index primaire est un fichier ordonnรฉ de taille fixe avec deux champs. Le premier champ est identique ร une clรฉ primaire et le second, le champ, pointe vers ce bloc de donnรฉes spรฉcifique. Dans l'index principal, il existe toujours une relation un ร un entre les entrรฉes de la table d'index.
L'indexation principale dans le SGBD est รฉgalement divisรฉe en deux types.
- Indice dense
- Index clairsemรฉ
Indice dense
Dans un index dense, un enregistrement est crรฉรฉ pour chaque clรฉ de recherche valorisรฉe dans la base de donnรฉes. Cela vous aide ร rechercher plus rapidement mais nรฉcessite plus d'espace pour stocker les enregistrements d'index. Dans cette indexation, les enregistrements de mรฉthode contiennent la valeur de la clรฉ de recherche et pointent vers l'enregistrement rรฉel sur le disque.
Index clairsemรฉ
Il s'agit d'un enregistrement d'index qui n'apparaรฎt que pour certaines valeurs du fichier. Sparse Index vous aide ร rรฉsoudre les problรจmes d'indexation dense dans SGBD. Dans cette mรฉthode de technique d'indexation, une plage de colonnes d'index stocke la mรชme adresse de bloc de donnรฉes, et lorsque les donnรฉes doivent รชtre rรฉcupรฉrรฉes, l'adresse de bloc sera rรฉcupรฉrรฉe.
Cependant, Sparse Index stocke les enregistrements d'index pour certaines valeurs de clรฉ de recherche uniquement. Il nรฉcessite moins d'espace, moins de frais de maintenance pour l'insertion et les suppressions, mais il est plus lent que l'index dense pour la localisation des enregistrements.
Vous trouverez ci-dessous un index de base de donnรฉes. Exemple d'index clairsemรฉ
Index secondaire dans le SGBD
L'index secondaire dans le SGBD peut รชtre gรฉnรฉrรฉ par un champ qui a une valeur unique pour chaque enregistrement, et il doit s'agir d'une clรฉ candidate. Il est รฉgalement connu sous le nom dโindex non clusterisant.
Cette technique d'indexation de base de donnรฉes ร deux niveaux est utilisรฉe pour rรฉduire la taille de mappage du premier niveau. Pour le premier niveau, une large gamme de nombres est sรฉlectionnรฉe pour cette raison ; la taille du mappage reste toujours petite.
Exemple d'index secondaire
Comprenons l'indexation secondaire avec un exemple d'index de base de donnรฉes :
Dans une base de donnรฉes de comptes bancaires, les donnรฉes sont stockรฉes sรฉquentiellement par acc_no ; vous souhaiterez peut-รชtre trouver tous les comptes dโune succursale spรฉcifique de la banque ABC.
Ici, vous pouvez avoir un index secondaire dans le SGBD pour chaque clรฉ de recherche. L'enregistrement d'index est un point d'enregistrement vers un compartiment qui contient des pointeurs vers tous les enregistrements avec leur valeur de clรฉ de recherche spรฉcifique.
Clustering Index dans le SGBD
Dans un index clusterisรฉ, les enregistrements eux-mรชmes sont stockรฉs dans l'index et non dans les pointeurs. Parfois, l'index est crรฉรฉ sur des colonnes de clรฉ non primaire qui peuvent ne pas รชtre uniques pour chaque enregistrement. Dans une telle situation, vous pouvez regrouper deux colonnes ou plus pour obtenir les valeurs uniques et crรฉer un index appelรฉ index clusterisรฉ. Cela vous aide รฉgalement ร identifier lโenregistrement plus rapidement.
Exemple :
Supposons qu'une entreprise recrute de nombreux employรฉs dans diffรฉrents dรฉpartements. Dans ce cas, une indexation clusterisรฉe dans le SGBD doit รชtre crรฉรฉe pour tous les employรฉs appartenant au mรชme service.
Il est considรฉrรฉ dans un seul cluster et les points d'index pointent vers le cluster dans son ensemble. Ici, Department _no est une clรฉ non unique.
Quโest-ce que lโindex multiniveau ?
Indexation multiniveau dans Base de donnรฉes est crรฉรฉ lorsqu'un index principal ne rentre pas dans la mรฉmoire. Dans ce type de mรฉthode d'indexation, vous pouvez rรฉduire le nombre d'accรจs au disque pour raccourcir n'importe quel enregistrement conservรฉ sur un disque sous forme de fichier sรฉquentiel et crรฉer une base clairsemรฉe sur ce fichier.
Index de l'arbre B
L'index B-tree est la structure de donnรฉes largement utilisรฉe pour l'indexation arborescente dans les SGBD. Il s'agit d'un format multiniveau d'indexation arborescente dans la technique SGBD qui a รฉquilibrรฉ arbres de recherche binaire. Tous les nลuds feuilles de lโarbre B signifient de vรฉritables pointeurs de donnรฉes.
De plus, tous les nลuds feuilles sont interconnectรฉs avec une liste de liens, ce qui permet ร un arbre B de prendre en charge ร la fois un accรจs alรฉatoire et sรฉquentiel.
- Les nลuds principaux doivent avoir entre 2 et 4 valeurs.
- Tous les chemins de la racine ร la feuille sont pour la plupart de mรชme longueur.
- Les nลuds non feuilles en dehors du nลud racine ont entre 3 et 5 nลuds enfants.
- Chaque nลud qui n'est ni une racine ni une feuille a entre n/2] et n enfants.
Avantages de l'indexation
Les avantages/avantages importants de lโindexation sont :
- Cela vous aide ร rรฉduire le nombre total d'opรฉrations d'E/S nรฉcessaires pour rรฉcupรฉrer ces donnรฉes, vous n'avez donc pas besoin d'accรฉder ร une ligne de la base de donnรฉes ร partir d'une structure d'index.
- Offre une recherche et une rรฉcupรฉration plus rapides des donnรฉes aux utilisateurs.
- L'indexation vous aide รฉgalement ร rรฉduire l'espace table car vous n'avez pas besoin de crรฉer un lien vers une ligne dans une table, car il n'est pas nรฉcessaire de stocker le ROWID dans l'index. Ainsi vous pourrez rรฉduire le tablespace.
- Vous ne pouvez pas trier les donnรฉes dans les nลuds principaux car la valeur de la clรฉ primaire les classe.
Inconvรฉnients de l'indexation
Les inconvรฉnients/inconvรฉnients importants de lโindexation sont :
- Pour effectuer l'indexation du systรจme de gestion de base de donnรฉes, vous avez besoin d'une clรฉ primaire sur la table avec une valeur unique.
- Vous ne pouvez effectuer aucun autre index dans la base de donnรฉes sur les donnรฉes indexรฉes.
- Vous n'รชtes pas autorisรฉ ร partitionner une table organisรฉe en index.
- Indexation SQL Diminuer les performances dans les requรชtes INSERT, DELETE et UPDATE.
Rรฉsumรฉ
- L'indexation est un petit tableau composรฉ de deux colonnes.
- Deux principaux types de mรฉthodes d'indexation sont 1) L'indexation primaire 2) L'indexation secondaire.
- L'index primaire est un fichier ordonnรฉ de taille fixe avec deux champs.
- L'indexation principale est รฉgalement divisรฉe en deux types 1) Index dense 2) Index clairsemรฉ.
- Dans un index dense, un enregistrement est crรฉรฉ pour chaque clรฉ de recherche valorisรฉe dans la base de donnรฉes.
- Une mรฉthode d'indexation clairsemรฉe vous aide ร rรฉsoudre les problรจmes d'indexation dense.
- L'index secondaire dans le SGBD est une mรฉthode d'indexation dont la clรฉ de recherche spรฉcifie un ordre diffรฉrent de l'ordre sรฉquentiel du fichier.
- ClusterL'index ing est dรฉfini comme un fichier de donnรฉes de commande.
- L'indexation multiniveau est crรฉรฉe lorsqu'un index principal ne rentre pas dans la mรฉmoire.
- Le plus grand avantage de l'indexation est qu'elle vous aide ร rรฉduire le nombre total d'opรฉrations d'E/S nรฉcessaires pour rรฉcupรฉrer ces donnรฉes.
- Le plus gros inconvรฉnient de l'exรฉcution du systรจme de gestion de base de donnรฉes d'indexation est que vous avez besoin d'une clรฉ primaire sur la table avec une valeur unique.





