logo

기본 키와 고유 키의 차이점

MySQL의 키는 하나 또는 두 개 이상의 테이블 간의 관계를 구성하는 데 사용되는 열 또는 열 집합입니다. 또한 테이블의 레코드에 액세스하는 데에도 사용됩니다. 두 키 모두 테이블이나 관계의 열 또는 열 집합에 대해 보장된 고유성을 제공합니다. 이들 간의 가장 큰 차이점은 기본 키는 테이블의 각 레코드를 식별하고 고유 키는 NULL 값을 제외한 열의 중복 항목을 방지한다는 점입니다. . 이 기사에서는 다양한 매개 변수를 기반으로 기본 키와 고유 키의 근본적인 차이점을 비교해 보겠습니다. 비교하기 전에 이러한 키에 대해 간략하게 설명하겠습니다.

자바 while 조건
기본 키와 고유 키

기본 키란 무엇입니까?

기본 키는 고유하거나 null이 아님 해당 테이블이나 관계의 모든 레코드를 고유하게 식별하는 키입니다. 기본 키 열은 중복 값을 저장할 수 없습니다. 즉, 기본 키 열 값은 항상 고유합니다. 그것은 또한 최소 슈퍼 키 ; 따라서 어떤 관계에서도 기본 키를 두 개 이상 지정할 수 없습니다. 한 테이블의 기본 키 열은 다른 테이블의 외래 키 열에서 참조될 수 있습니다.

예를 들어 , 이름이 지정된 테이블이 있습니다. 재학생 Stud_ID, Roll_No, 이름, 모바일 및 이메일과 같은 속성을 사용합니다.

기본 키와 고유 키

여기서는 오직 롤_아니요 열에는 동일한 NULL 값이 포함될 수 없습니다. 우리는 모든 학생이 고유한 롤 번호를 가지고 있다는 것을 알고 있습니다. 그러므로 두 명의 학생이 같은 번호를 가질 수는 없습니다. 이 기능은 데이터베이스의 각 레코드를 고유하게 식별하는 데 도움이 됩니다. 따라서 Roll_No 속성을 기본 키로 만들 수 있습니다.

기본 키의 특징

다음은 필수 기본 핵심 기능입니다.

자바 우선순위 큐
  • 기본 키 열에는 중복된 값이 포함될 수 없습니다.
  • 기본 키는 테이블의 엔터티 무결성을 구현합니다.
  • 테이블에는 기본 키 열이 두 개 이상 있을 수 없습니다.
  • 하나 이상의 테이블 필드에서 기본 키를 만들 수 있습니다.
  • 기본 키 열에는 NOT NULL 제약 조건이 있어야 합니다.

고유 키란 무엇입니까?

그만큼 고유 키 데이터베이스 레코드를 고유하게 식별하기 위한 테이블의 단일 열 또는 열 조합입니다. 고유한 키 예방하다 저장에서 중복된 값 열에서. 테이블에는 기본 키 열과 달리 여러 개의 고유 키 열이 포함될 수 있습니다. 이 키는 하나의 NULL 값이 고유 키 열에 저장될 수 있다는 점을 제외하면 기본 키와 유사합니다. 고유 키라고도 합니다. 고유 제약조건 다른 테이블의 외래 키에서 참조할 수 있습니다.

예를 들어 , 이름이 같은 동일한 테이블을 고려해 보겠습니다. 재학생 Stud_ID, Roll_No, 이름, 모바일 및 이메일과 같은 속성을 사용합니다.

기본 키와 고유 키

여기 스터드_ID 각 학생은 고유한 식별 번호를 가지고 있어야 하므로 고유 제약 조건으로 할당할 수 있습니다. 학생이 대학을 변경하면 학생증이 없습니다. 이 경우 항목에는 다음이 포함될 수 있습니다. 없는 고유 키 제약 조건은 NULL 저장을 허용하지만 하나만 있어야 하기 때문입니다.

고유키의 특징

다음은 필수적인 고유 핵심 기능입니다.

  • 하나 이상의 테이블 필드에서 고유 키를 구성할 수 있습니다.
  • 테이블은 여러 개의 고유 키 열을 정의할 수 있습니다.
  • 기본적으로 고유 키는 비클러스터형 고유 인덱스에 있습니다.
  • 고유 제약 조건 열은 NULL 값을 저장할 수 있지만 열당 하나의 NULL만 허용됩니다.
  • 외래 키는 테이블의 고유성을 유지하는 데 있어 고유 제약 조건을 참조할 수 있습니다.

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

다음 사항은 기본 키와 후보 키의 주요 차이점을 설명합니다.

  • 기본 키는 테이블의 레코드를 고유하게 식별하기 위해 테이블의 하나 이상의 필드를 구성할 수 있습니다. 반면에 고유 키는 두 행이 한 열에 중복 항목을 갖는 것을 방지합니다.
  • 관계형 데이터베이스에서는 테이블에 기본 키가 두 개 이상 있을 수 없지만, 테이블당 고유 키가 여러 개 있을 수 있습니다.
  • 기본 키 열에는 NULL 값이 포함될 수 없지만 고유 키에는 NULL 값이 포함될 수 있지만 테이블에는 하나의 NULL만 허용됩니다.
  • 기본 키는 고유해야 하지만 고유 키가 반드시 기본 키일 수는 없습니다.
  • 기본 키는 기본적으로 데이터가 순차 인덱스로 물리적으로 구성되는 클러스터형 인덱스입니다. 대조적으로, 고유 키는 고유한 비클러스터형 인덱스입니다.
  • 기본 키는 엔터티 무결성을 구현하는 반면 고유 키는 고유한 데이터를 적용합니다.

기본 키와 고유 키 비교 차트

다음 비교 차트에서는 주요 차이점을 빠르게 설명합니다.

자바 예외 처리를 던져라
비교 기준 기본 키 고유 키
기초적인 기본 키는 테이블의 각 레코드에 대한 고유 식별자로 사용됩니다. 고유 키는 기본 키가 테이블에 없을 때 레코드에 대한 고유 식별자이기도 합니다.
없는 기본 키 열에는 NULL 값을 저장할 수 없습니다. 고유 키 열에 NULL 값을 저장할 수 있지만 NULL은 하나만 허용됩니다.
목적 엔터티 무결성을 시행합니다. 고유한 데이터를 적용합니다.
색인 기본 키는 기본적으로 클러스터형 인덱스를 생성합니다. 기본적으로 고유 키는 비클러스터형 인덱스를 생성합니다.
키 수 각 테이블은 하나의 기본 키만 지원합니다. 테이블에는 둘 이상의 고유 키가 있을 수 있습니다.
값 수정 기본 키 값을 변경하거나 삭제할 수 없습니다. 고유 키 열 값을 수정할 수 있습니다.
용도 테이블의 각 레코드를 식별하는 데 사용됩니다. NULL 값을 제외하고 한 열에 중복된 항목이 저장되는 것을 방지합니다.
통사론 아래 구문을 사용하여 테이블에 기본 키 열을 만들 수 있습니다.
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
아래 구문을 사용하여 테이블에 고유 키 열을 생성할 수 있습니다.
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

결론

이 기사에서는 기본 키 제약 조건과 고유 키 제약 조건을 비교했습니다. 여기서는 열에 중복 값이 ​​포함되지 않도록 하려는 경우 고유 키가 유용하다는 결론을 내렸습니다. 그리고 기본 키는 테이블에 NULL 값을 유지하고 싶지 않을 때 유용합니다. 테이블 간 관계를 생성하기 위해 다른 테이블에 외래 키가 있는 경우에도 이상적일 수 있습니다.