IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DB2 Discussion :

[OS/390] Question généralités sur les index ?


Sujet :

DB2

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [OS/390] Question généralités sur les index ?
    Bonjour !
    en train de réviser mes cours DB2, je bute sur un point :
    Lors d'un "create table" avec primary key on nomme les colonnes faisant partie de l'index primaire, il est précisé qu'il faut ensuite créer un index primaire, s'agit il de l'ordre "create unique index" qui reprend ces mêmes colonnes ? Si c'est le cas quel est le but de faire un "primary key" avant ?
    Je ne vois que pour le référencer comme "foreign key" dans une autre table...

    Autre question : faut-il toujours utiliser l'option "cluster" sur un index unique ?
    est ce lié au volume ou à l'accés ?

    A +

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 289
    Points
    3 289
    Par défaut
    Citation Envoyé par mainframe
    ... Lors d'un "create table" avec primary key on nomme les colonnes faisant partie de l'index primaire, il est précisé qu'il faut ensuite créer un index primaire, s'agit il de l'ordre "create unique index" qui reprend ces mêmes colonnes ? Si c'est le cas quel est le but de faire un "primary key" avant ?
    Il ne faut pas créer un "index primaire" (ça n'existe pas d'ailleurs) mais un index unique.
    Pour moi l'interêt principal est de faire porter la contrainte de clé primaire à la création de la table. Tant que l'index unique associé à la clé primaire n'est pas créé DB2 considère la table comme indisponible. Alors que si on crée la table sans définir de clé primaire dans un premier temps, puis un index unique dans un second temps, rien n'interdit en théorie d'insérer des lignes en double dans l'intervalle. La création de l'index unique dans ce cas de figure deviendra alors impossible.
    Un autre interêt est documentaire. Dans le cas de la présence de plusieurs index uniques, on peut savoir lequel a été choisi par le concepteur de la table comme clé primaire en interrogeant le catalogue.
    Enfin, je trouve bon de respecter une des régles du modèle relationnel qui stipule que toute table doit avoir une clé primaire.
    A contrario, la suppression de l'index associé à la clé primaire ne sera pas possible directement. Il faudra d'abord supprimer la contrainte de clé primaire au niveau de la table.

    Autre question : faut-il toujours utiliser l'option "cluster" sur un index unique ?
    est ce lié au volume ou à l'accés ?
    Ce sont deux concepts différents.

    L'index CLUSTER (index plaçant ou de rangement en français) définit l'ordre dans lequel DB2 va tenter d'insérer la ligne dans la table et ceci en fonction de l'espace libre (FREESPACE) disponible.
    C'est aussi en fonction de l'index CLUSTER qu'on détermine qu'une table est désorganisée ou pas.
    L'utilitaire de réorganisation (IBM ou autre) remet toutes les lignes de la table dans l'ordre de l'index CLUSTER.
    De par sa définition même, il n'y a qu'un seul index CLUSTER par table.

    L'index unique définit une contrainte d'unicité sur la ou les colonnes le composant.
    Plusieurs index uniques sont possibles sur une seule table.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [resolu]
    J'y vois mieux maintenant, grand merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. question sur les index
    Par sohm dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 25/07/2006, 13h42
  2. Question sur les index
    Par Veve44 dans le forum Oracle
    Réponses: 3
    Dernier message: 09/11/2005, 15h01
  3. Question sur les index
    Par barok dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 31/05/2005, 09h06
  4. [DB2] Question sur les index et les vues
    Par ahoyeau dans le forum DB2
    Réponses: 1
    Dernier message: 14/03/2005, 09h30
  5. Questions sur les indexations
    Par freud dans le forum Bases de données
    Réponses: 2
    Dernier message: 11/05/2004, 12h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo