DB/DB 필요한 지식

Primary key,foreign key 비교와 그 외의 key들

Nubbie 2023. 3. 17. 12:48

Primary key 와 foreign key 비교

SQL에서 Primary Key와 Foreign Key는 데이터베이스에서 관계형 데이터를 구성하는 데 중요한 역할을 합니다.

Primary Key는 테이블 내의 각 행을 고유하게 식별하는 데 사용되는 열 또는 열의 집합입니다. Primary Key는 테이블 내에 있는 다른 열들과 중복되지 않으며, Null 값을 가질 수 없습니다. Primary Key를 지정하면 해당 테이블에서 행을 쉽게 찾을 수 있으며, 다른 테이블과의 관계를 맺을 때 사용할 수 있습니다.

Foreign Key는 다른 테이블의 Primary Key를 참조하는 열입니다. 다른 테이블의 Primary Key와 일치하는 값을 Foreign Key로 지정함으로써 두 테이블 사이에 관계를 맺을 수 있습니다. Foreign Key는 데이터의 무결성을 보장하고 데이터를 일관성 있게 유지하는 데 도움을 줍니다. 예를 들어, 주문 테이블에서는 고객 테이블의 Primary Key인 고객 ID를 참조하는 Foreign Key가 존재할 수 있습니다. 이렇게 하면 고객 테이블에서 해당하는 고객 정보를 변경하거나 삭제해도 주문 테이블에서 해당 정보를 참조할 수 있으므로 데이터 일관성이 유지됩니다.

즉, Primary Key는 테이블 내의 각 행을 고유하게 식별하고 참조할 때 사용하고, Foreign Key는 다른 테이블의 Primary Key와 관계를 맺고 데이터 일관성을 유지하는 데 사용됩니다.

 

Primary key 와 Unique Key 비교

Primary Key와 Unique Key는 모두 테이블 내에서 중복을 허용하지 않는 열 또는 열의 집합을 지정하는 데 사용됩니다. 하지만 둘은 몇 가지 차이점이 있습니다.

먼저, Primary Key는 테이블에서 각 행을 식별하는 데 사용됩니다. Primary Key는 테이블에서 유일해야 하며, Null 값을 가질 수 없습니다. 또한, 하나의 테이블에는 Primary Key가 하나만 지정될 수 있습니다. 그리고 Primary Key는 해당 테이블의 다른 테이블과의 관계를 맺을 때 사용됩니다.

반면에, Unique Key는 해당 열의 값을 고유하게 유지하기 위해 사용됩니다. Unique Key는 Primary Key처럼 Null 값을 가질 수 없으며, 테이블에 중복 값을 가지는 행을 삽입하는 것을 방지합니다. 또한, 하나의 테이블에는 여러 개의 Unique Key가 지정될 수 있습니다.

즉, Primary Key는 테이블의 각 행을 고유하게 식별하는 데 사용되고, 해당 테이블과 다른 테이블 간의 관계를 맺을 때 사용됩니다. Unique Key는 해당 열의 값을 고유하게 유지하는 데 사용되고, 여러 개의 Unique Key가 테이블 내에 지정될 수 있습니다.

 

출처 : 챗 gqt님

기본 키 (Primary Key) #

  • Data-Table에 있는 유일하게 구분되는 Data-Key를 기본 키(Primary Key)라 부른다.
  • Primary Key는 유일한 값이기 때문에 중복된 값을 가질 수 없다.
  • Primary Key는 공백을 가질 수 없습니다.

외래 키 (Foreign Key) #

  • 한 Table과 참조되는 다른 Table 간의 연결되는 Primary Key Column을 Foreign Key라 합니다.
  • Foreign Key는 다른 Primary Key를 참조하는 속성 또는 속성들의 집합을 의미한다.
  • Foreign Key는 참조관계의 기본 키와 같은 속성을 가진다.

후보 키 (Candidate Key) #

  • Primary Key와 Foreign Key와 같은 각 Data를 식별하기 위해 사용되는 속성들의 집합입니다.
  • Candidate Key는 유일성과 최소성을 모두 만족합니다.
  • 유일성(Unique) : 하나의 Key 값으로 하나의 Data를 식별하는 성질
  • 최소성(Minimality) : 모든 Data를 유일하게 식별하는 속성으로만 구성되는 성질

슈퍼 키 (Super Key) #

  • 하나 이상의 속성이 하나의 Data를 구별하면 그것은 슈퍼 키 (Super Key)라 정의한다.
  •  

출처 : http://www.incodom.kr/Primary_Key_%26_Foreign_Key