Pré. | Proc. |
Index de base de données
Les index de base de données sont appliqués aux Tableaux pour améliorer les performances des opérations de récupération et de tri des données. Plusieurs index peuvent être définis par rapport à un Tableau . Cependant, chaque index impose des frais généraux (sous forme de temps de traitement et de stockage) au serveur de base de données pour les maintenir à mesure que des informations sont ajoutées et supprimées du Tableau
Dans Enterprise Architect un index est modélisé comme une opération stéréotypée.
Certains SGBD support des types d'index spéciaux ; Enterprise Architect les définit à l'aide de propriétés supplémentaires telles que les index basés sur les fonctions, les index groupés et les index basés sur le facteur de remplissage.
Accéder
Ruban |
Développer > Modélisation des données > Générateur de base de données > Cliquez sur le nom Tableau > Contraintes/Index |
Menu Contexte |
Dans diagramme | Cliquez-droit sur Tableau | Fonctionnalités | Contraintes/Index |
Raccourcis Clavier |
Cliquez sur Tableau : > Contraintes/Index |
Travailler sur un index
Étape |
Action |
Voir aussi |
---|---|---|
1 |
Dans l'onglet « Contraintes/Index » du Tableau , cliquez-droit et sélectionnez « Ajouter une nouvelle contrainte ». La nouvelle contrainte est ajoutée avec le nom par défaut « constraint1 » et le Type « index ». Remplacez le nom par le nom de votre index préféré. |
|
2 |
Affectez les colonnes appropriées à l’index. La liste « Colonnes attribuées » comporte un champ « Ordre » supplémentaire qui spécifie l'ordre (croissant ou décroissant) dans lequel chaque colonne attribuée est stockée dans l'index. Vous pouvez modifier l'ordre de chaque colonne, selon vos besoins. De plus, pour les index MySQL, un champ « Len » sera visible dans lequel vous pourrez définir des index partiels, c'est-à-dire un index qui utilise le nombre « n » de caractères d'un champ textuel. Le champ « Len » ne prend que des valeurs numériques entières comprises entre 0 et la longueur définie de la colonne. Une valeur de 0 (qui est la valeur par défaut) indique que la colonne entière doit être indexée. |
Contraintes/index Tableau base de données |
3 |
Dans le panneau « Propriété », révision les paramètres des propriétés étendues définies pour le SGBD actuel. |
Propriétés supplémentaires
Propriété |
Description |
Voir aussi |
---|---|---|
Est unique |
(True / False) indique si l'index actuel est un « index unique ». Un index unique garantit que la ou les colonnes indexées ne contiennent pas de valeurs en double, garantissant ainsi que chaque ligne possède une valeur unique (ou une combinaison de valeurs lorsque l'index se compose de plusieurs colonnes). |
|
Est groupé |
(True / False) indique si l'index actuel est un « index groupé ». Avec un index groupé, les lignes du tableau sont physiquement stockées dans le même ordre que dans l'index. Il ne peut donc y avoir qu'un seul index groupé par tableau . Par défaut, Primary Key d'un tableau est groupée. Tous les SGBD ne prennent pas support les index clusterisés. Par conséquent, la propriété Index « Est clusterisé » ne sera visible que pour les SGBD qui la support . |
|
Est-ce un bitmap |
(True / False) indique si l'index actuel est un index « Bitmap ». Les index Bitmap sont destinés à être utilisés sur des colonnes qui ont relativement peu de valeurs uniques (appelées colonnes « à faible cardinalité ») et qui se composent physiquement d'un tableau de bits (communément appelé bitmaps) pour chaque valeur unique. Chacun des tableaux aura un bit pour chaque ligne du tableau . Considérez cet exemple : un index bitmap est créé sur une colonne appelée « Sexe », qui contient les options « Homme » ou « Femme ». Physiquement, l'index sera constitué de deux tableaux de bits, un pour « Homme » et un pour « Femme ». Le tableau de bits féminin aura un 1 dans chaque bit où la ligne correspondante a la valeur « Femme ». Les propriétés « Is Bitmap » et « Is Unique » s'excluent mutuellement. Par conséquent, la génération DDL ignorera la propriété « Is Unique » lorsque la propriété « Is Bitmap » est définie sur True. Les index bitmap ne sont pris en charge que par Oracle ; par conséquent, cette propriété n'est visible que lors de modélisation des index Oracle. |
|
Facteur de remplissage |
Une valeur numérique comprise entre 0 et 100, qui définit le pourcentage d'espace disponible qui doit être utilisé pour les données. Tous les SGBD ne support le facteur de remplissage. Par conséquent, la propriété d'index « Facteur de remplissage » ne sera visible que pour les SGBD qui le support . |
|
Basé sur la fonctionnalité |
Une instruction SQL qui définit la fonction/instruction qui sera évaluée et les résultats indexés ; par exemple : LOWER("champ") Tous les SGBD ne prennent pas support les index fonctionnels. Par conséquent, la propriété Index « Fonctionnel » ne sera visible que pour les SGBD qui les support , tels que PostgreSQL et Oracle. |
|
Inclure |
Identifie une liste séparée par des virgules (CSV) de colonnes non clés du tableau actuel. Tous les SGBD ne prennent pas support la propriété « Include » sur les index. Par conséquent, cette propriété ne sera visible que pour les SGBD qui la support . |
Notes
- Avertissement : Enterprise Architect suppose que les index ont au moins une colonne qui leur est attribuée ; cependant, Enterprise Architect n'applique pas cette règle lors de modélisation
Si un DDL est généré pour un Tableau qui possède un index défini sans colonne(s) attribuée(s), ce DDL sera invalide, sauf si l'index est basé sur des fonctions.
- Toutes les colonnes attribuées à un index fonctionnel sont ignorées