식별자(Identifier)와 키(Key) 차이

식별자(Identifier)와 키(Key) 차이

데이터베이스나 프로그래밍을 배우다 보면 식별자(Identifier)와 키(Key)라는 개념을 접하게 됩니다. 이 두 용어는 혼용되는 경우도 있지만, 그 의미와 역할이 서로 다릅니다. 오늘은 이 두 개념의 차이를 명확히 이해할 수 있도록 설명드리겠습니다.

식별자(Identifier)란 무엇인가?

식별자는 데이터나 객체를 고유하게 식별하기 위한 이름입니다. 데이터베이스뿐만 아니라 프로그래밍 언어에서도 흔히 사용됩니다. 식별자는 사람이 데이터를 더 쉽게 이해하고 관리할 수 있도록 만들어줍니다.

예시

  • 프로그래밍에서 변수 이름(예: userName, productID)
  • 데이터베이스에서 테이블 이름 또는 컬럼 이름

특징

  • 주로 사람이 읽기 쉬운 이름으로 설정됩니다.
  • 고유성이 반드시 필요하지는 않습니다. (하나의 테이블에 동일한 데이터가 있을 수 있음)

키(Key)란 무엇인가?

키는 데이터베이스에서 데이터를 고유하게 구분하기 위해 사용되는 속성(attribute) 또는 속성의 집합입니다. 모든 데이터베이스 레코드는 키를 통해 정확히 식별됩니다.

키의 종류

  1. 기본 키(Primary Key): 한 테이블 내에서 각 레코드를 유일하게 식별할 수 있는 속성. 중복 불가, NULL 값 불가.
  2. 대체 키(Candidate Key): 기본 키로 선택될 수 있는 후보 속성.
  3. 외래 키(Foreign Key): 다른 테이블의 기본 키를 참조하는 속성.

예시

  • 학생 테이블의 학번
  • 제품 테이블의 제품 ID

특징

  • 고유성무결성을 보장합니다.
  • 데이터 검색이나 테이블 간 관계를 설정하는 데 사용됩니다.

식별자(Identifier)와 키(Key) 차이점

주 식별자 (Primary Identifier)와 기본 키 (Primary Key)

  • 정의: 데이터베이스 내에서 각 레코드를 고유하게 식별하는 데 사용되는 주요 속성입니다.
  • 특징:
    • 반드시 고유해야 하며 중복될 수 없습니다.
    • NULL 값을 허용하지 않습니다.
    • 테이블 설계 시 반드시 하나의 기본 키가 필요합니다.
 

예시

  • 학생 테이블의 학번
  • 주민등록번호 테이블의 주민등록번호

대응 키: 기본 키 (Primary Key)

보조 식별자 (Secondary Identifier)와 대체 키 (Candidate Key)

  • 정의: 기본 키로 선택되지 않았지만, 기본 키가 될 수 있는 속성(들)을 말합니다.
  • 특징:
    • 기본 키로 선택되지 않은 고유 속성입니다.
    • 필요에 따라 대체 키를 추가로 기본 키로 설정할 수 있습니다.
 

예시

  • 학생 테이블에서 학번이 기본 키라면, 이메일이나 전화번호는 대체 키가 될 수 있음.

대응 키: 대체 키 (Candidate Key)

내부 식별자 (Internal Identifier)와 기본 키 (Primary Key)

  • 정의: 시스템 내부에서 관리 목적으로 사용하는 고유 식별자입니다.
  • 특징:
    • 데이터베이스에서 주로 사용하며 외부 사용자에게 노출되지 않을 수도 있습니다.
    • 내부적으로만 데이터의 고유성을 보장합니다.

예시

  • 테이블의 AUTO_INCREMENT로 생성된 ID
  • 시스템에서 자동으로 생성된 고유번호

대응 키: 기본 키 (Primary Key)

외부 식별자 (External Identifier)와 외래 키 (Foreign Key)

  • 정의: 다른 테이블의 데이터를 참조하는 데 사용되는 속성입니다.
  • 특징:
    • 다른 테이블의 기본 키를 참조합니다.
    • 테이블 간 관계를 정의하고 무결성을 보장합니다.

예시

  • 주문 테이블의 customer_id는 고객 테이블의 기본 키 id를 참조.

대응 키: 외래 키 (Foreign Key)

단일 식별자 (Single Identifier)와 단일 키 (Single Key)

  • 정의: 하나의 속성만으로 고유하게 식별할 수 있는 경우를 말합니다.
  • 특징:
    • 식별자(또는 키)가 단일 속성으로 구성됩니다.
    • 구조가 단순하고 관리가 쉽습니다.

예시

  • 학번 (학생 테이블에서 고유)
  • 주문번호 (주문 테이블에서 고유)

대응 키: 단일 키 (Single Key)

복합 식별자 (Composite Identifier)와 복합 키 (Composite Key)

  • 정의: 두 개 이상의 속성을 조합하여 고유하게 식별할 수 있는 경우를 말합니다.
  • 특징:
    • 단일 속성만으로 고유성을 보장할 수 없을 때 사용합니다.
    • 복합 키로 설계된 경우, 테이블 관계가 더 복잡해질 수 있습니다.

예시

  • 과목-학생 테이블 (학생이 수강한 과목을 기록):
    • 복합 식별자: (학생ID, 과목ID)
    • 각 속성만으로는 고유하지 않지만, 두 속성을 합치면 고유함.

대응 키: 복합 키 (Composite Key)

추가적으로 알아두면 좋은 점

  • 기본 키대체 키는 고유성(Unique)을 보장하지만, 데이터베이스 설계 단계에서만 역할이 다릅니다.
  • 외래 키는 데이터 무결성을 보장하며, 테이블 간의 관계 설정에 필수적입니다.
  • 복합 키는 관계형 데이터베이스의 구조적 복잡성을 증가시킬 수 있으므로 설계 단계에서 신중해야 합니다.

논리 모델과 물리 모델

식별자(Identifier)와 키(Key) 차이 설명 글 마치겠습니다.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Loading...