Précédent   Forum des professionnels en informatique > Bases de données > DB2
DB2 Forum d'entraide technique sur la base de données DB2. Voir aussi -> Rubrique DB2
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/09/2006, 17h32   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 4
Points : 2
Points : 2
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 +
mainframe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 21h17   #2
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 097
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 53
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 097
Points : 1 706
Points : 1 706
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.

Citation:
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.
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 13h33   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 4
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 4
Points : 2
Points : 2
Par défaut [resolu]

J'y vois mieux maintenant, grand merci !
mainframe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h17.


 
 
 
 
Partenaires

Hébergement Web