상세 컨텐츠

본문 제목

[데이터베이스 CS지식] 관계형 데이터베이스에서 제공되는 키의 종류

데이터베이스

by 소란한소란 2024. 2. 13. 15:26

본문

728x90

제목: 관계형 데이터베이스에서 제공하는 여러 키의 종류 이해하기

안녕하세요, 블로그 독자 여러분! 오늘은 데이터베이스에서 핵심적인 역할을 하는 여러 키의 종류에 대해 알아보도록 하겠습니다.  관계형 데이터베이스에서는 데이터를 구분하고 관리하기 위해 여러 종류의 키를 제공합니다. 각 키는 데이터의 유일성 및 관계 정의에 기여하며, 다양한 목적으로 사용됩니다.

 


1. 주 키 (Primary Key)

  • 정의: 테이블 내의 각 레코드를 식별하기 위한 유일한 식별자입니다.
  • 특징:
    • 유일성 보장
    • NULL 값을 가질 수 없음
    • 하나의 테이블에 하나의 주 키만 존재

예시 (SQL):

CREATE TABLE 사용자 (
    사용자ID INT PRIMARY KEY,
    이름 VARCHAR(50),
    이메일 VARCHAR(100)
);

2. 외래 키 (Foreign Key)

  • 정의: 다른 테이블의 주 키를 참조하는 키로, 두 테이블 간의 관계를 정의합니다.
  • 특징:
    • 다른 테이블의 주 키를 참조
    • 무결성 제약을 통해 데이터 일관성 유지

예시 (SQL):

CREATE TABLE 주문 (
    주문ID INT PRIMARY KEY,
    사용자ID INT,
    상품ID INT,
    FOREIGN KEY (사용자ID) REFERENCES 사용자(사용자ID),
    FOREIGN KEY (상품ID) REFERENCES 상품(상품ID)
);

3. 후보 키 (Candidate Key)

  • 정의: 주 키가 될 수 있는 유일한 키로, 유일성과 NULL 값의 존재 여부를 만족합니다.
  • 특징:
    • 주 키가 될 수 있는 가능성을 가짐
    • 주 키로 선택되지 않은 경우 후보 키로 간주됨

4. 대체 키 (Alternate Key)

  • 정의: 후보 키 중에서 주 키로 선택되지 않은 나머지 키입니다.
  • 특징:
    • 주 키가 선택된 후에는 대체 키로 남음

5. 복합 키 (Composite Key)

  • 정의: 두 개 이상의 칼럼을 조합하여 주 키를 생성하는 방식입니다.
  • 특징:
    • 개별적으로는 유일성을 보장하지 않지만 조합 시에 유일성을 가짐

예시 (SQL):

CREATE TABLE 주문 (
    주문ID INT,
    사용자ID INT,
    상품ID INT,
    PRIMARY KEY (주문ID, 사용자ID)
);

6. 슈퍼 키 (Super Key)

  • 정의: 테이블 내의 모든 키를 포함하는 키로, 최소성을 만족하지 않습니다.
  • 특징:
    • 최소성을 만족하지 않음
    • 여러 키의 조합으로 이루어짐

이러한 다양한 종류의 키는 관계형 데이터베이스에서 데이터의 구조와 관계를 명확하게 정의하고 유지하는 데 중요한 역할을 합니다. 함께 더 깊이 있는 이해를 얻어보도록 하죠! 감사합니다.

 

728x90

관련글 더보기