Skip to content

Primary Key & Foreign Key #

Find similar titles

4회 업데이트 됨.

Edit
  • 최초 작성자
    jmkang
  • 최근 업데이트

Structured data

Category
Database

Primary Key와 Foreign Key를 배워야 하는 이유? #

  • Data-Base 구축 시 각 Data-Table을 잘 관리하기 위해 하나의 고유한 Data를 지정하고 이에 파생되는 다른 Data들을 관리하기 위해 배워야 한다.

기본 키 (Primary Key) #

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

특징 #

  1. 고유성 (Uniqueness)

    Primary Key는 각 행(row)을 식별하는 데 사용되며, 모든 값은 고유해야 한다. 즉, 특정 열의 Primary Key 값은 중복되지 않는다.

  2. NULL 값의 허용 불가능 (Non-nullable)

    Primary Key 값은 NULL이 될 수 없다. 각 행은 반드시 Primary Key 값을 가져야 한다.

  3. 일반적으로 숫자나 문자열

    데이터베이스 대부분에서 Primary Key는 정수 또는 문자열과 같은 데이터 타입일 수 있다.

  4. 테이블의 기본 정렬 기준

    데이터베이스 시스템은 주로 테이블을 Primary Key로 정렬하므로, 검색 및 연산이 효율적으로 수행된다.

  5. 기본 키 제약 조건

    Primary Key로 지정된 열은 해당 테이블에서 기본 키 제약 조건을 가진다.

외래 키 (Foreign Key) #

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

특징 #

  1. 다른 테이블의 Primary Key를 참조

    Foreign Key는 다른 테이블의 Primary Key를 참조하여 관계를 설정한다.

  2. 무결성 제약 조건

    Foreign Key는 참조된 Primary Key 값이나 NULL이어야 한다. 즉, 참조 무결성을 유지한다.

  3. 한 테이블 내에서 외래 키값은 중복 가능

    특정 테이블 내에서 Foreign Key 값은 중복될 수 있다.

  4. 삭제 및 갱신 규칙 설정 가능

    Foreign Key를 사용하여 부모 테이블에서 행을 삭제하거나 갱신할 때 자식 테이블의 관련 행도 자동으로 처리할 수 있는 규칙을 정의할 수 있다.

후보 키 (Candidate Key) #

  • Primary Key와 Foreign Key와 같은 각 Data를 식별하기 위해 사용되는 속성들의 집합입니다.

특징 #

  1. 고유성 보장

    후보 키는 각 행을 고유하게 식별할 수 있는 키로, 특정 열 또는 열의 조합이다.

  2. 최소성 (Minimality)

    후보 키는 최소성을 가져야 한다. 즉, 후보 키에 포함된 어떠한 열도 제거하면 더 이상 고유성을 유지할 수 없어야 한다.

  3. NULL 값의 허용 불가능

    후보 키값은 NULL이 될 수 없다.

  4. 후보 키의 예시

    특정 테이블에서 후보 키는 여러 개일 수 있다. 예를 들어, 학생 테이블에서 학번과 주민등록번호가 후보 키가 될 수 있다.

슈퍼 키 (Super Key) #

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

특징 #

  1. 고유성을 가짐

    슈퍼 키는 각 행을 고유하게 식별할 수 있는 키로, 후보 키일 필요는 없다.

  2. 후보 키 및 추가 열의 조합

    슈퍼 키는 후보 키일 수도 있고, 후보 키에 추가적인 열을 포함할 수도 있다.

  3. NULL 값의 허용 불가능

    슈퍼 키값은 NULL이 될 수 없다.

  4. 슈퍼 키의 예시

    특정 테이블에서 슈퍼 키는 후보 키인 열 뿐만 아니라 다른 열들의 조합일 수 있다. 예를 들어, 학생 테이블에서 학번이나 주민등록번호와 학년을 합친 것이 슈퍼 키가 될 수 있다.

Image

그림 1. Primary Key와 Foreign Key와의 관계 (출처 : 잉고래 블로그)

0.0.1_20231010_1_v71