Warum erlauben die meisten SQL-Datenbanken, denselben Index zweimal zu definieren?

Warum erlauben die meisten SQL-Datenbanken, denselben Index (oder dieselbe Einschränkung) zweimal zu definieren?

Zum Beispiel in MySQL kann ich:

CREATE TABLE testkey(id VARCHAR(10) NOT NULL, PRIMARY KEY(id));
ALTER TABLE testkey ADD KEY (id);
ALTER TABLE testkey ADD KEY (id);
SHOW CREATE TABLE testkey;
CREATE TABLE `testkey` (
  `id` varchar(10) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `id` (`id`),
  KEY `id_2` (`id`)
)

Ich sehe keinen Anwendungsfall dafür, denselben Index oder dieselbe Einschränkung zweimal zu haben. Und ich möchte, dass SQL-Datenbanken dies nicht zulassen.

Ich sehe auch keinen Sinn darin, Indizes oder Einschränkungen zu benennen, da ich auf sie zum Löschen verweisen könnte, gerade als ich sie erstellt habe.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage