[sql-server] SQL Server 인덱스 명명 규칙 [닫기]

SQL Server의 인덱스 이름을 지정하는 표준 방법이 있습니까? 기본 키 인덱스의 이름은 PK_이고 비 클러스터형 인덱스는 일반적으로 IX_로 시작합니다. 고유 인덱스에 대한 명명 규칙이 있습니까?



답변

나는 사용한다

기본 키의 경우 PK_

고유 키의 경우 UK_

클러스터되지 않은 비 고유 인덱스의 경우 IX_

고유 인덱스의 경우 UX_

내 색인 이름은 모두
<index or key type>_<table name>_<column 1>_<column 2>_<column n>


답변

나는 보통 테이블 이름과 테이블에 포함 된 열로 인덱스 이름을 지정합니다.

ix_tablename_col1_col2


답변

외래 키와 관련된 인덱스의 특별한 접두어 가치가 있습니까? 외래 키에 대한 인덱스는 기본적으로 생성되지 않으므로 누락되었는지 쉽게 알 수 있기 때문에 그렇게 생각합니다.

이를 위해 외래 키의 이름과 일치하는 이름을 사용하고 있습니다.

FK_[table]_[foreign_key_table]

또는 동일한 테이블에 여러 외래 키가있는 경우

FK_[table]_[foreign_key_table]_[foreign_key_field]


답변

나는 오래된 주제를 알고 있지만 2 센트 가치가 있다고 생각했습니다.

  • PKC_ 기본 키, 클러스터
  • PKNC_ 기본 키, 비 클러스터
  • NCAK_ 비 클러스터, 고유
  • CAK_ 군집, 고유
  • NC_ 비 클러스터

예;

NCAK_AccountHeader_OrganisationID_NextDate

여기서 NCAK : 비 클러스터, 고유, AccountHeader : 테이블 및 OrganizationID_NextDate : 열.


답변