주요 차이점 : 기본 키는 null을 허용 할 수 없으며 테이블에서 한 번만 생성 될 수 있습니다. 고유 한 키는 널 (NULL)을 허용하며 테이블에서 여러 번 작성할 수 있습니다. 키는 데이터 저장 및 검색과 관련하여 중요한 역할을합니다.
Microsoft SQL은 Microsoft에서 개발 한 관계형 데이터베이스 관리 시스템입니다. 주요 기능에는 네트워크를 통해 동일한 컴퓨터 또는 다른 컴퓨터에서 실행되는 다른 소프트웨어 응용 프로그램에서 요청할 때 데이터를 저장하고 검색하는 기능이 포함됩니다.
키는 데이터 저장 및 검색과 관련하여 중요한 역할을합니다. 서버에 저장된 데이터는 열이있는 일련의 테이블입니다. 이 열은 다양한 유형의 정보를 저장하며 지침을 사용하여 검색 할 수 있습니다. 기본 키 및 고유 키는 데이터가 시스템에 저장되는 방법을 결정하는 두 가지 유형의 키입니다.
SQL Server 데이터베이스의 개체는 테이블과 인덱스로 구성되며 8KB 페이지 모음으로 저장됩니다. 키는 정보가 데이터베이스에 저장되는 위치를 판별하는 데 도움이됩니다. 두 키는 서로 다릅니다. 그러나 기본 키는 고유 한 키 유형입니다. 그들은 또한 기능면에서 유사하지만 다른 기능을 제공합니다.
기본 키는 PRIMARY KEY 제약 조건을 통해 정의되며 테이블 생성 중에 지정할 수 있습니다. SQL 표준에서 기본 키는 하나 이상의 열로 구성 될 수 있습니다. 기본 키에 참여하는 각 열은 암시 적으로 NOT NULL로 정의됩니다. 기본 키는 3 가지 주요 기능을 제공합니다.
각 테이블에는 둘 이상의 기본 키가있을 수 없습니다.
일부 데이터베이스 시스템에서 기본 키는 기본적으로 클러스터형 인덱스를 만듭니다.
고유 키는 기본 키와 유사하며 테이블 작성 중에 정의 될 수 있습니다. 고유 한 키로 인해 다른 테이블에서도 데이터 또는 행을 반복 할 수 없습니다. 고유 한 키가 제공하는 3 가지 주요 기능은 다음과 같습니다.
고유 한 키는 null을 허용 할 수 있지만 하나만 허용합니다 (null을 허용하는 열에 대해 고유 한 키를 정의 할 수 있음).
각 테이블에는 여러 고유 키가있을 수 있습니다.
일부 데이터베이스 시스템에서는 고유 키가 기본적으로 비 클러스터형 인덱스를 만듭니다.
기본 키와 고유 키의 비교 :
기본 키 | 고유 키 | |
정의 | 기본 키는 고유 키의 한 유형입니다. 이것은 엔터티간에 존재하는 관계를 정의하기 위해 다른 엔터티로 마이그레이션 할 수있는 키입니다. | 고유 키는 0, 하나 또는 그 이상의 속성 집합입니다. 이러한 속성의 값은 관계의 각 튜플 (행)마다 고유해야합니다. 임의의 튜플에 대한 유일한 키 속성 값 또는 값 조합은 해당 관계의 다른 튜플에 대해 반복해서는 안됩니다. |
에서 사용 | 관계형 데이터베이스 관리 시스템 (MySQL, Oracle 등) | 관계형 데이터베이스 관리 시스템 (MySQL, Oracle 등) |
Null 값 | null 값을 허용하지 않습니다. | 테이블에 하나의 null 값만 허용합니다. |
색인 유형 | 클러스터 된 인덱스이고 데이터베이스 테이블의 데이터는 물리적으로 클러스터 된 인덱스 시퀀스로 구성됩니다. | 고유 한 클러스터되지 않은 인덱스입니다. |
허용 된 키 수 | 테이블의 기본 키 하나만 | 테이블에 둘 이상의 고유 키를 가질 수 있습니다. |
바꿀 수 있는 | 다른 테이블에 외래 키를 만들 수 있습니다. | 다른 테이블에 외래 키를 만들 수 있습니다. |