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.