데이터베이스 키(Key)와 제약조건

반응형
SMALL

후보키(CANDIDATE KEY)

  • 후보키는 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용되는 속성들의 부분집합이다.
  • 기본키로 사용할 수 있는 속성들을 말한다.
  • 후보키는 유일성(UNIQUE)과 최소성(MINIMALITY)을 모두 만족시켜야한다.유일성(UNIQUE) 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야함 
    유일성(UNIQUE) 하나의 키 값으로 하나의 튜플만을 유일하게 식별할 수 있어야함
    최소성(MINIMALITY) 키를 구성하는 속성 하나를 제거하면 유일하게 식별할 수 없도록 꼭 필요한 최소의 속성으로 구성되어야 함

 

기본키(PRIMARY KEY)

  • 기본키는 후보키 중에서 특별히 선정되 주키(MAIN KEY)이다.
  • 기본키는 중복된 값을 가질 수 없다.
  • 기본키는 한 릴레이션에서 특정 튜플을 유일하게 구별할 수 있는 속성이다.
  • 기본키는 NULL 값을 가질 수 없다. 즉 튜플에서 기본키로 설정된 속성에는 NULL 값이 있어서는 안된다.

슈퍼키(SUPER KEY)

  • 슈퍼키는 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키를 말한다.
  • 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구성된 속성의 집합과 동일한 값은 나타나지 않는다.
  • 슈퍼키는 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족하지만, 최소성은 만족하지 못한다.

외래키(FOREIGN KEY)

  • 외래키는 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합을 의미한다.
  • 한 릴레이션에 속한 속성 A와 참조 릴레이션의 기본키 B가 동일한 도메인 상에서 정의되었을 때의 속성 A를 외래키라고 한다.
  • 외래키로 지정되면 참조 릴레이션의 기본키에 없는 값은 입력할 수 없다.

무결성(INTEGRITY)

  • 무결성은 데이터베이스에 저장된 데이터 값과 그것이 표현하는 현실 세계의 실제값이 일치하는 정확성을 의미한다.
  • 개체 무결성: 기본 테이블의 기본키를 구성하는 어떤 속성도 NULL 값이나 중복 값을 가질 수 없다는 구성
  • 참조 무결성: 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함. 즉 릴레이션은 참조할 수 없는 외래키 값을 가질 수 없다는 규정

테이블: 학생(Student)

학번 (기본키)이름학년신장이메일학과코드 (외래키)

19001 김예소 2 170 yeso@ex.com CD
20002 고강민 1 169 kangmin@ex.com CD
19012 이향기 2 180 hyanggi@ex.com ID
17032 김동준 4 174 dongjun@ex.com ED

1. 기본키 (Primary Key):

  • 학번은 각 학생을 고유하게 식별할 수 있는 값입니다. 중복이나 NULL이 허용되지 않습니다.

2. 후보키 (Candidate Key):

  • 학번과 이메일은 각각 학생을 고유하게 식별할 수 있습니다. 따라서 둘 다 후보키가 될 수 있습니다. 이 중 **학번**이 기본키로 선택되었습니다.

3. 슈퍼키 (Super Key):

  • 학번, 학번 + 이름, 이메일 등은 모두 슈퍼키입니다. 이 속성들은 각 튜플을 유일하게 식별할 수 있는 속성들의 집합입니다.

4. 외래키 (Foreign Key):

  • 학과코드는 학과(Department) 테이블의 **학과코드**를 참조하는 외래키입니다. 이 값은 참조 테이블에 반드시 존재해야 합니다.

무결성 예시

  1. 개체 무결성 (Entity Integrity):
    • 기본키인 학번은 중복되거나 NULL일 수 없습니다.
  2. 참조 무결성 (Referential Integrity):
    • 학과코드 값은 학과 테이블에 존재하는 값이어야 하며, 그렇지 않으면 참조 무결성 위반입니다.
  3. 도메인 무결성 (Domain Integrity):
    • 신장 값은 정수로 정의되어야 하며, 문자열이나 범위 외의 값은 입력될 수 없습니다.
반응형
LIST

'정보처리기사 > 데이터 입출력 구현' 카테고리의 다른 글

정규화과정  (1) 2024.10.13
관계  (5) 2024.10.13
릴레이션  (1) 2024.10.13
데이터 모델  (1) 2024.10.13
데이터 설계  (2) 2024.10.13