IT story

고유 제한 조건의 이름 지정 규칙

hot-time 2020. 7. 22. 07:57
반응형

고유 제한 조건의 이름 지정 규칙


명명 규칙이 중요하며 기본 키와 외래 키가 일반적으로 사용되며 명확한 규칙 ( PK_TableFK_Table_ReferencedTable)이 사용됩니다. IX_Table_Column인덱스 이름도 상당히 표준입니다.

UNIQUE 제약 조건은 어떻습니까? 이 제약 조건에 일반적으로 허용되는 명명 규칙이 있습니까? 나는 , 및 누군가 추천 한 것을 보았습니다 UK_TableName_Column. 나는 그것이 어디에서 왔는지 모르겠습니다.UQ_TableName_ColumnAX_TableName_Column

나는 일반적으로 사용 UQ했지만 특히 마음에 들지 않으며, UK옹호자 로부터 그것을 사용하기로 선택한 것을 변호하는 것을 좋아하지 않습니다 .

나는 가장 널리 사용되는 네이밍에 대한 합의가 있는지, 왜 하나가 다른 것보다 더 합당한 지에 대한 합당한 이유가 있는지 간단히보고 싶습니다.


내 생각은 그것이 핵심이 아니라 제약이다.

과정의 핵심으로 사용하고 행을 고유하게 식별하지만 할 수 없는 키.

예는 키가 "ThingID"대리입니다 것 ThingName 자연 키 대신에 사용. 여전히 ThingName 제한 해야합니다 .하지만 키로 사용되지는 않습니다.

또한 UQ 및 UQC (클러스터 된 경우)를 사용합니다.

대신 고유 색인을 사용하여 "IXU"로 이동할 수 있습니다. 사용 된 논리에 따라 인덱스는 키이지만 고유 한 경우에만 사용됩니다. 그렇지 않으면 인덱스입니다. 그런 다음 IK_columnname고유 인덱스와 IX_columnname고유하지 않은 인덱스 부터 시작 합니다. 기이.

고유 제한 조건과 고유 인덱스의 유일한 차이점은 INCLUDE 열입니다.

편집 : 2013 년 2 월. SQL Server 2008 이후로 인덱스에도 필터가있을 수 있습니다. 제약은 할 수 없습니다

따라서 다음 중 하나에 해당합니다.

  • 나머지 SQL 사용 행성에 따라 UQ를 고수하십시오.
  • 고유 색인에 IK를 사용하여 (클러스터에 대한 IIK도) 일관성을 유지하십시오.

인덱스 및 제약 조건에 대한 내 명명 규칙 :

  • 기본 키. _PK
  • 고유 인덱스 / 제약 _AK {xx}
  • 고유하지 않은 인덱스. _IX {xx}
  • 구속 조건을 점검하십시오. _CK {xx}
  • 기본 제약. _DF {xx}
  • 외래 키 제약 조건 _FK {xx}

여기서 {xx}는 테이블 당 각 제한 조건 유형에 대해 01에서 시작하는 2 자리 시퀀스 번호입니다. 기본 키는 시퀀스 번호가 하나만 있기 때문에 시퀀스 번호를 얻지 못합니다. 2 자 알파 접미사 의미는 다음과 같습니다.

  • PK : 기본 키
  • AK : 대체 키
  • FK : 외래 키
  • IX : IndeX
  • CK : ChecK
  • DF : 결함

일반적으로 메타 데이터 / 시스템 카탈로그 데이터를 객체 유형이 아닌 제어 객체로 그룹화하고 싶습니다.


UQ를 사용합니다. 영국의 K는 K가 PK 및 FK에서 사용되는 것으로 생각합니다. 어쨌든 영국을 생각한 후에; 영국이 다른 많은 협회를 만들 때 이것이 UNIQUE의 접두사 여야한다는 아이러니

참고 URL : https://stackoverflow.com/questions/4836391/naming-convention-for-unique-constraint

반응형