Primary Key, Foreign Key

금은체리·2024년 1월 8일
0

면접

목록 보기
4/15
  1. Primary Key, Foreign Key에 대해 설명해주세요.
    • 답변 1:1 1:N N:M
      • PK : not null unique
      • FK : PK 참조

Primary Key(기본 키)는 관계형 데이터베이스에서 테이블의 각 레코드를 고유하게 식별하기 위해 사용되는 열입니다. Primary Key는 각 행을 고유하게 식별하며, 중복된 값을 가질 수 없습니다. Primary Key는 해당 테이블에서 유일한 식별자로 사용되며, NULL 값을 가질 수 없으며 중복된 값이나 빈 값이 포함되어서는 안 됩니다. 주로 테이블의 기본 키로는 자동으로 증가하는 정수형 데이터나 고유한 식별자(UUID 등)가 사용됩니다.

Foreign Key(외래 키)는 한 테이블의 열(또는 열들)이 다른 테이블의 Primary Key를 참조하는 열입니다. Foreign Key는 다른 테이블과의 관계를 맺기 위해 사용됩니다. Foreign Key는 참조된 테이블의 Primary Key와 동일한 데이터 타입과 값 범위를 가져야 하며, 참조 무결성을 유지하기 위해 참조된 테이블의 값과 일치하는지 확인됩니다. Foreign Key는 해당 테이블과 다른 테이블 간의 관계를 정의하고, 데이터의 무결성과 일관성을 보장하는 데 사용됩니다.

관계형 데이터베이스에서는 다양한 관계를 표현할 수 있으며, 이를 위해 1:1, 1:N, N:M 관계를 사용합니다.

1:1 관계: 한 테이블의 레코드가 다른 테이블의 레코드와 1:1로 대응됩니다. 예를 들어, 한 명의 사용자가 한 개의 주소를 가지는 경우입니다.
1:N 관계: 한 테이블의 레코드가 다른 테이블의 레코드와 1:N으로 대응됩니다. 예를 들어, 한 명의 사용자가 여러 개의 주문을 가지는 경우입니다.
N:M 관계: 한 테이블의 레코드가 다른 테이블의 레코드와 N:M으로 대응됩니다. 예를 들어, 여러 명의 학생이 여러 개의 과목을 수강하는 경우입니다. 이러한 관계는 중간 테이블을 통해 구현됩니다.
따라서, Primary Key는 테이블의 고유성을 보장하고 Foreign Key는 다른 테이블과의 관계를 정의하는 데 사용됩니다. 이를 통해 데이터의 무결성과 일관성을 유지할 수 있습니다.


Key

: 검색, 정렬시 Tuple을 구분할 수 있는 기준이 되는 Attribute.

  1. Candidate Key (후보키)
    • Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분 집합. (기본키로 사용할 수 있는 속성들)
    • 2가지 조건 만족
      • 유일성 : Key로 하나의 Tuple을 유일하게 식별할 수 있음
      • 최소성 : 꼭 필요한 속성으로만 구성

  1. Primary Key (기본키)
    • 후보키 중 선택한 Main Key
    • 특징
      • Null 값을 가질 수 없음
      • 동일한 값이 중복될 수 없음

  1. Alternate Key (대체키)
  • 후보키 중 기본키를 제외한 나머지 키 = 보조키

  1. Super Key (슈퍼키)
  • 유일성은 만족하지만, 최소성은 만족하지 못하는 키

  1. Foreign Key (외래키)
  • 다른 릴레이션의 기본키를 그대로 참조하는 속성의 집합
profile
전 체리 알러지가 있어요!

0개의 댓글