Pré. | Proc. |
Index de base de données
Les index de base de données sont appliqués à 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 sur un Tableau ; cependant, chaque index impose des frais généraux (sous la forme de temps de traitement et de stockage) au serveur de base de données pour les maintenir au fur et à 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 prennent en support des types d'index spéciaux ; Enterprise Architect les définit en utilisant des propriétés supplémentaires telles que basées sur la fonction, en cluster et le facteur de remplissage.
Accéder
Ruban |
Développer > Modélisation des données > Database Builder > Cliquer sur le nom du Tableau > Contraintes/Index |
Menu Contexte |
Dans diagramme | Cliquez-droit sur Tableau | Fonctionnalités | Contraintes/Indices |
Raccourcis Clavier |
Cliquez sur Tableau : > Contraintes/Index |
Travailler sur un index
Marcher |
Action |
Voir également |
---|---|---|
1 |
Sur l'onglet 'Constraints/Index' du Tableau , cliquez-droit et sélectionnez 'Add nouvelle contrainte'. La nouvelle contrainte est ajoutée avec le nom par défaut 'constraint1' et le Type de 'index'. Remplacez le nom par votre nom d'index préféré. |
|
2 |
Affectez les colonnes appropriées à l'index. La liste "Colonnes affectées" comporte un champ "Ordre" supplémentaire qui spécifie l'ordre (croissant ou décroissant) dans lequel chaque colonne affectée est stockée dans l'index. Vous pouvez basculer l'ordre de chaque colonne, si nécessaire. 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 premier 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 du Tableau de 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 également |
---|---|---|
Est unique |
(True / False) indique si l'index courant est un 'Unique Index'. Un index unique garantit que la ou les colonnes indexées ne contiennent pas de valeurs en double, garantissant ainsi que chaque ligne a une valeur unique (ou une combinaison de valeurs lorsque l'index se compose de plusieurs colonnes). |
|
Est groupé |
(True / False) indique si l'index courant est un 'Clustered Index'. Avec un index clusterisé, 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 clusterisé par tableau . Par défaut, la clé primaire d'un tableau est groupée. Tous les SGBD ne prennent pas en support les index clusterisés. Par conséquent, la propriété d'index "Is Clustered" ne sera visible que pour les SGBD qui la prennent en support . |
|
Est un bitmap |
(True / False) indique si l'index courant 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 consistent physiquement en un tableau de bits (communément appelés 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 'Gender', qui a les options 'Male' ou 'Female'. Physiquement, l'index sera composé de deux tableaux de bits, un pour 'Male' et un pour 'Female'. Le tableau de bits femelle aura un 1 dans chaque bit où la ligne correspondante a la valeur 'Female'. Les propriétés 'Is Bitmap' et 'Is Unique' s'excluent mutuellement, et donc la génération DDL ignorera la propriété 'Is Unique' lorsque la propriété 'Is Bitmap' est True. Les index bitmap ne sont pris en charge que par Oracle ; par conséquent, cette propriété n'est visible que lors de la modélisation index Oracle. |
|
Facteur de remplissage |
Une valeur numérique valeur entre 0 et 100, qui définit le pourcentage d'espace disponible qui doit être utilisé pour les données. Tous les SGBD ne prennent pas en 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 prennent en support . |
|
Fonctionnel |
Une instruction SQL qui définit la fonction/instruction qui sera évaluée et les résultats indexés ; par exemple: INFÉRIEUR("champ") Tous les SGBD ne prennent pas en support les index basés sur les fonctions. Par conséquent, la propriété d'index "basé sur les fonctions" ne sera visible que pour les SGBD qui les prennent en support , tels que PostgreSQL et Oracle. |
|
Comprendre |
Identifie une liste séparée par des virgules (CSV) de colonnes non clés du tableau actuel. Tous les SGBD ne prennent pas en support la propriété 'Include' sur les index, donc cette propriété ne sera visible que pour les SGBD qui la prennent en support . |
Notes
- Avertissement : Enterprise Architect suppose que les Index ont au moins une colonne qui leur est assignée ; cependant, Enterprise Architect n'applique pas cette règle lors modélisation
Si un DDL est généré pour un Tableau dont l'index est défini sans colonne(s) affectée(s), ce DDL sera invalide, sauf si l'index est basé sur les fonctionnalités
- Toutes les colonnes affectées à un index fonctionnel sont ignorées