고유 제한 조건의 이름 지정 규칙
명명 규칙이 중요하며 기본 키와 외래 키가 일반적으로 사용되며 명확한 규칙 ( PK_Table
및 FK_Table_ReferencedTable
)이 사용됩니다. IX_Table_Column
인덱스 의 이름도 상당히 표준입니다.
UNIQUE 제약 조건은 어떻습니까? 이 제약 조건에 일반적으로 허용되는 명명 규칙이 있습니까? 나는 , 및 누군가 추천 한 것을 보았습니다 UK_TableName_Column
. 나는 그것이 어디에서 왔는지 모르겠습니다.UQ_TableName_Column
AX_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
'IT story' 카테고리의 다른 글
파일로 HTML5 레코드 오디오 (0) | 2020.07.22 |
---|---|
XMLHttpRequest, jQuery.ajax, jQuery.post, jQuery.get의 차이점은 무엇입니까? (0) | 2020.07.22 |
차단 페이지 이탈 이벤트 (0) | 2020.07.22 |
JPA와 Hibernate에서 persist ()와 merge ()의 차이점은 무엇입니까? (0) | 2020.07.22 |
dict의 값을 일치시켜 목록에서 dict의 색인을 찾으십시오. (0) | 2020.07.22 |