Foreign-key et indices/index
Bonjour,
Dans ma base firebird 1.0.3.xxx, sur les colonnes pour lesquelles il y a une foreign key , on constate via ibconsole, ibexpert,... qu'en meme temps que la creation de la contrainte Foreign key, il a été creer un indice/index RDB$FOREIGN1, alors que moi même j'avais déjà créé un index sur cette même colonne.
Du coup dans la partice indices/index de ibexpert/ibconsole ,... on retouve 2 indices/index pointant sur la meme colonne de la meme table : le RDB$FOREIGNx et mon index nommé IK_TOTO.
1) Y a t-il redondance entre ces 2 informations ?
2) Faut il en supprimer un ?
3) Puis je me passer de mon index ? ou du rdb$foreign ?
4) Comment eviter la creation de rdb$foreign depuis le script de creation.
5) Ou Comment faire pour renommer RBD$foreign1 lors du script de creation, et sans revenir dessus via ibexpert.
exemple du script :
create table PARITE
(
NUMPAR INTEGER not null,
CODE_CATEGORIE CHAR( 8 ) not null,
CODE_NIVEAU CHAR( 8 ) ,
constraint PK_PARITE primary key (NUMPAR)
);
create index I_FK_CATEGORIE_PARITE
on PARITE (CODE_CATEGORIE);
alter table PARITE add
constraint FK_CATEGORIE_PARITE
foreign key (CODE_CATEGORIE)
references CATEGORIE (CODE_CATEGORIE);
Re: Foreign-key et indices/index
1) Oui
2) Moi je ne crée pas l'index s'il ne correspond qu'à la foreign key
3) Vous pouvez vous passer de l'index
4) Une cle étrangère est forcément une clé (un index) pour accélérer l'accés aux enregistrements.
5) Je ne pense pas que se soit possible du moins en une fois. Lorsque vous le renommez avec IBExpert, regardez le script qui est généré.
Re: [resolu] Foreign-key et indices/index
C'est ce que je pensai mais comme vous aviez écrit :
Citation:
Envoyé par mesquest
5) Ou Comment faire pour renommer RBD$foreign1 lors du script de creation, et sans revenir dessus via ibexpert.
j'avais supposé que vous aviez reussi avec IBExpert