추천, 2020

에디터의 선택

기본 키와 고유 키의 차이점

우리는 이미 이전 기사에서 데이터베이스와 스키마에 사용 된 여러 유형의 키 즉 기본 키와 외래 키의 차이를 연구했습니다. 이 기사에서는 기본 키와 고유 키를 구별합니다. 기본 키와 고유 키는 튜플을 고유하게 식별하는 데 사용되며 열 또는 열의 조합에 고유성을 적용합니다.

기본 키와 고유 키의 근본적인 차이점은 기본 키는 NULL 값을 허용하지 않지만 NULL 값은 고유 키 제약 조건 내에서 허용된다는 것입니다.

비교 차트

비교 근거기본 키고유 키
기본테이블의 각 행에 대한 고유 식별자로 사용됩니다.또한 기본 키로 정의되지 않은 행을 고유하게 결정합니다.
NULL 값 수용기본 키는 NULL 값을 허용하지 않습니다.Unique는 NULL 값을 허용합니다.
테이블에 정의 할 수있는 키 수하나의 기본 키만하나 이상
색인클러스터 된 인덱스를 만듭니다.비 클러스터형 인덱스를 만듭니다.

기본 키의 정의

열이 해당 테이블의 각 튜플 (행)을 고유하게 식별하는 경우 해당 열의 기본 키로 열을 호출 할 수 있습니다. 테이블에 + 결성 제한 조건을 강요합니다. 하나의 기본 키만 테이블에 허용됩니다. 기본 키는 중복 및 NULL 값을 허용하지 않습니다. 기본 키는 드물게 변경이 발생할 수있는 테이블에서 기본 키가 매우 드물게 변경된다는 것을주의하여 선택됩니다.

테이블의 도움으로 기본 키의 개념을 이해합시다. 여기서 우리는 Roll_number, Name, Batch, Phone_number, Citizen_ID와 같은 속성을 가진 Student 테이블이라는 테이블을 생성합니다.

주어진 예에서 모든 학생이 유일한 Roll_number를 가진 대학에 등록했기 때문에 속성 롤 번호는 절대적으로 동일하고 NULL 값을 가질 수 없습니다. 두 명의 학생이 같은 Roll_number를 가질 수는 없으며 테이블의 각 행은 학생의 롤 번호로 고유하게 식별됩니다. 따라서이 특별한 경우 Roll_number 특성을 기본 키로 만들 수 있습니다.

기본 키는 외래 키에 의해 참조 될 수 있습니다. 테이블에 고유 한 클러스터 된 인덱스 를 작성합니다. 클러스터 된 인덱스에서 데이터 행은 키 값에 따라 정렬되거나 테이블 또는 뷰에 저장됩니다. 한 테이블에 하나의 클러스터 된 인덱스 만있을 수 있습니다. 그 이유는 테이블의 데이터 행을 한 번만 정렬 할 수 있기 때문입니다.

고유 키의 정의

기본 키와 마찬가지로 고유 키 제약 조건은 관계에서 고유 튜플을 고유하게 식별합니다. 그러나, 그들 사이에 특정 차이가 있습니다. 테이블은 하나 이상의 고유 키를 가질 수 있습니다. 고유 키 제약 조건은 열에 대해 하나의 NULL 값만 허용 할 수 있습니다.

Roll_number, Name, Batch, Phone_number 및 Citizen_ID 특성을 가진 Student 테이블이있는 유사한 예제를 통해이 점을 이해해 봅시다. 롤 번호 속성은 기본 키와 함께 할당됩니다.

여기서 Citizen_ID는 고유 한 제약 조건으로 할당 할 수 있습니다. Citizen_ID 열의 각 항목은 고유하지 않아야합니다. 각 국가의 시민이 고유 한 식별 번호를 가져야하므로 중복되지 않아야합니다. 그러나 학생이 다른 국가에서 이주하는 경우 Citizen_ID가 없으며 고유 제한 조건에서 하나의 NULL이 허용되므로 항목에 NULL 값이있을 수 있습니다.

고유 제한 조건은 외부 키가 참조합니다. 누군가가 기본 키가 아닌 C 럼 및 C 럼 그룹에 대해 제한 조건을 적용하려고 할 때 g 용할 수 있습니다. 기본 키와 달리 비 클러스터형 인덱스를 생성합니다. 비 클러스터형 인덱스는 데이터 행과 구별되는 구조를 가지고 있습니다. 각 키 - 값 항목은 키 값을 포함하는 데이터 행을 가리키며 따라서 포인터를 사용합니다.

기본 키와 고유 키의 주요 차이점

  1. 기본 키로 선언 된 속성은 NULL 값을 허용하지 않습니다. 한편, 속성이 고유으로 선언되면 하나의 NULL 값을 허용 할 수 있습니다.
  2. 테이블에는 기본 키만있을 수 있지만 테이블에는 여러 개의 고유 제한 조건이있을 수 있습니다.
  3. 기본 키가 정의 될 때 자동으로 생성되는 클러스터 된 인덱스입니다. 반대로 고유 키는 클러스터되지 않은 인덱스를 생성합니다.

결론

기본 키와 고유 키는 모두 열이나 열 그룹의 고유 한 값을 가진 테이블의 행에 대한 고유 식별자의 용도로 사용됩니다. 이러한 키 제약 조건은 모든 테이블이 최대 하나의 기본 키를 가질 수있는 반면 테이블은 기본 키가 아닌 여러 개의 고유 키를 가질 수있는 곳에서 상당히 차별화됩니다.

Top