Merci pour la réponse. Mais un doute persiste parce que j'ai voulu faire un exemple qui n'est pas adaptée à ma question. Je voulais plutôt demander, d'après les 2 tables ci-dessous, quel est l'intérêt d'indexer un nom (categorie_name) plutôt que le ID (categorie_id) ? (Dans l'ex du dessus en effet je comprends qu'il n'y a pas de réel utilité à marquer "INDEX (name)" en plus de" PRIMARY KEY (id)".)
Si je me réfère à ta réponse, je devrais donc dire que, dans ce cas, categorie_id et categorie_name sont indexés. Est-ce exacte ? Et si oui, est-ce utile d'indexer categorie_name en plus de categorie_id ?
create table categorie
(
categorie_id integer not null auto_increment,
categorie_name varchar(100) binary not null,
categorie_description varchar(250) binary,
primary key (categorie_id),
unique (categorie_id,categorie_name)
) ENGINE = InnoDB;
create table rubrique_test (
rubrique_test_id INT NOT NULL,
rubrique_test_name CHAR(30) NOT NULL,
rubrique_test_description VARCHAR(150)
PRIMARY KEY (rubrique_test_id),
unique (rubrique_test_id,rubrique_test_name),
INDEX (categorie_name)
FOREIGN KEY (categorie_id) REFERENCES categorie (categorie_name) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE = InnoDB;
Merci