Por que a maioria dos bancos de dados SQL permite definir o mesmo índice duas vezes?
Por que a maioria dos bancos de dados SQL permite definir o mesmo índice (ou restrição) duas vezes?
Por exemplo, no MySQL eu posso fazer:
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`)
)
Não vejo nenhum caso de uso por ter o mesmo índice ou restrição duas vezes. E eu gostaria que os bancos de dados SQL não me permitissem fazê-lo.
Também não vejo sentido em nomear índices ou restrições, pois eu poderia referenciá-los para exclusão, assim como os criei.