Почему большинство баз данных SQL позволяют определять один и тот же индекс дважды?
Почему большинство баз данных SQL позволяют определять один и тот же индекс (или ограничение) дважды?
Например, в MySQL я могу сделать:
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`)
)
Я не вижу ни одного варианта использования для того, чтобы иметь один и тот же индекс или ограничение дважды. И я бы хотел, чтобы базы данных SQL не позволяли мне этого делать.
Я также не вижу смысла в именовании индексов или ограничений, так как я мог бы ссылаться на них для удаления так же, как я их создал.