|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2004 Messages : 74 ![]() |
Bonjour!
J'ai remarqué dans FireBird que lorsqu'on veut faire une integrité référentielle entre 2 tables, il nous oblige à mettre les clés voyagé comme index. Dans mon cas, ca me fait des index répétitif ainsi que plusieurs index multiples. (Alors que je croyais qu'il fallait en avoir un seul maximum par table). Est ce qu'on peut enlever ces indices qu'ils nous mettent automatiquement d'une certaine manière? Aussi, les index qu'ils font sur les clé primaire, on ne pourrais pas choisir l'ordre des champs dans le cas des index multiples? Merci |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Lors de le création d'une clé étrangère, n'importe quel SGBD digne de ce nom va créer un index afin pour des raison évidentes de performance. Si vous de votre coté vous en avez créés des indexs indentiques, libre à vous de les supprimer (les votres pas les indexes 'techniques' des cles etrangères)
Ensuite pour les index multiples, l'ordres des champs est celui que vous avez spécifié lors de la création de cet index. Si vous voulez changer l'ordre détruisez votre index et recrééz le avec le bon ordre. |
|
|
00
|
|
|
#3 | |
|
Nouveau Membre du Club
![]() Inscription : décembre 2004 Messages : 74 ![]() |
Bonjour,
Mon problème vient peut être du fait que la base de données à été mal construite à la base, mais ca je n’y peux rien. Je vais vous donner un exemple de mes index: PK: noCheque, idChequeDebiteur, idGroupe, idDossier, dateDepot FK: idDossier, idGroupe FK: idDossier, idGroupe, idChequeDebiteur FK: idChequeDebiteur Donc, je ne peux pas effacer l'index sur la PK, ca ne veut pas et c'est cet index là qui n'est pas dans le bon ordre. Et je ne peux pas non plus effacer les FK car ça veut pas: Citation:
|
|
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Vous faites quoi pour supprimer la PK ?
Code :
ALTER TABLE MaTable DROP CONSTRAINT NomContraintePK; |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : décembre 2004 Messages : 74 ![]() |
Bonjour,
En fait, depuis le début, j'utilisais IBExpert. Je cliquais droit et je mettais DROP INDEX sur l'index de la PK. J'ai été dans les contraintes et j'ai effacé la clé primaire pour la refaire. Avec la requête que vous m'avez donné et ca a marché. MERCI! Maintenant, je veux garder les contraintes des FK mais enlever les index, car ils se repetent, ce n'est pas possible? Merci beaucoup |
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Ne touchez pas aux index créés par le FK. La FK en a besoin et ne saura pas utiliser ceux que vous avez définis dans un index multiple.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com