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 값을 유지하고 싶지 않을 때 유용합니다. 테이블 간 관계를 생성하기 위해 다른 테이블에 외래 키가 있는 경우에도 이상적일 수 있습니다.