Есть ли стандартный способ для индексирования SQL Server? Похоже, что индекс первичного ключа называется PK_, а некластеризованные индексы обычно начинаются с IX_. Существуют ли какие-либо соглашения об именах, выходящие за рамки уникальных индексов?
Соглашения об именах индексов SQL Server
Ответ 1
Я использую
PK_ для первичных ключей
UK_ для уникальных ключей
IX_ для не кластеризованных не уникальных индексов
UX_ для уникальных индексов
Все мое имя индекса принимает форму <index or key type>_<table name>_<column 1>_<column 2>_<column n>
Ответ 2
Я обычно называю индексы именем таблицы и столбцами, которые они содержат:
ix_tablename_col1_col2
Ответ 3
Стоит ли специальный префикс для индексов, связанных с внешними ключами? Я так думаю, так как это напоминает мне, что индексы по внешним ключам не создаются по умолчанию, и поэтому легче увидеть, если они отсутствуют.
Для этого я использую имена, которые соответствуют имени внешнего ключа:
FK_[table]_[foreign_key_table]
или, если в одной таблице есть несколько внешних ключей
FK_[table]_[foreign_key_table]_[foreign_key_field]
Ответ 4
Я знаю старую тему, но подумал, что я бы выбрал 2 центов
- Основной ключ PKC_, кластерный
- Основной ключ PKNC_, Non Clusterd
- NCAK_ Non Clustered, Unique
- CAK_ Clustered, Unique
- NC_ Non Clustered
Пример
NCAK_AccountHeader_OrganisationID_NextDate
Где NCAK: Non Clustered, Unique, AccountHeader: Таблица и OrganisationID_NextDate: Столбцы.