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

Types d'indexation dans les SGBD
Type d'index dans la base de données

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.

Indice dense

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 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.

Exemple d'index secondaire

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.

Mise en situation :

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 multiniveau

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.

Index de l'arbre B

  • 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.