데이터베이스에 대한 고찰(3) - KEY

AM_I_TRASH·2022년 7월 3일

DMBS

목록 보기
3/3

이번에는 KEY와 관련된 이야기를 풀어보고자 한다. 이해를 돕기 위해 인터넷에서 예시 이미지를 추가했는데, 도움이 되었으면 좋겠다.

KEY의 종류

  1. 슈퍼 키 (Super Key)
    • 테이블에서 각 행을 유일하게 식별할 수 있는 하나 또는 그 이상의 속성들의 집합이다. 유일성만 만족하게 되면 누구나 슈퍼 키가 될 수 있는데, 여기서 유일성이란 하나의 키로 특정 행을 바로 찾아낼수 있는 데이터 속성을 말한다.
      여러가지 속성 값들을 묶어 중복값이 안나오게 서로 구별만 할 수 있으면 누구나 슈퍼 키가 될 수 있다. 대표적인 예시로 주민등록번호가 있겠다.
		어떻게 묶던 중복값만 나오지 않으면 상관없다!
  1. 후보 키 (Candidate Key)
    • 한 테이블 내에서 각 튜플 값들을 유일하게 식별할 수 있게 하는 속성 값들 전체를 뜻한다. 즉, 기본 키가 될 수 있는 후보들인 셈이다. 이 중, 선택받은 자는 기본 키가 되고, 그렇지 못한 자들은 대체키가 되는데...
		후보 키는 단일 속성으로 유일성과 최소성을 확보해야 하기 때문에,
        위의 이름+나이 조합으로는 후보키가 될 수 없다는 말이다.
  1. 기본 키 (Primary Key)
    • 한 테이블 내에서 각 튜플 값들을 유일하게 식별할 수 있게 하는 속성 값 중,
      기준으로 선택한 키를 뜻한다. 당연히 한 테이블 아래 두개의 기본 키는 존재할 수 없다! 유일하게 식별할 수 있어야 한다는 특성에 의해 NULL 값을 가질 수 없고, 기본 키로 정의된 속성에는 중복이 허용되지 않는다는 특성이 있다.
      대표적인 예시로 학번이 있겠다.

여기서 잠깐, 기본 키와 후보 키가 되기 위해서 만족해야 하는 조건이 있는데,
그것은 바로 유일성최소성이다.

  • 유일성: 하나의 키값으로 하나의 튜플을 인식할 수 있어야 함
  • 최소성: 특정 값을 유일하게 식별할 수 있는 필수적인 속성으로만 구성되어야 함
  1. 대체 키 (Alternate Key)
    • 한 테이블 내에서 각 튜플 값들을 유일하게 식별할 수 있게 하는 속성 값 중,
      기준으로 선택되지 못한 키를 뜻한다. 기본 키로 선택되지 못한 낙동강 오리알 신세이지만, 낙심하지 말자! 기본 키인 학번이 사라지면 주민번호가 기본 키 자리를 대체할 수 있게 된다.
  1. 외래 키 (Foreign Key)
    • 다른 테이블을 참조 및 연계하여 데이터를 처리해야 할 때 사용되는 키로,
      외래키는 참조하는 테이블의 기본 키를 가르키는 동시에 해당 키의 속성을 가진다.

RDBMS의 제약 조건도 다뤄보고 싶었지만, 시간 관계상 나중에 포스팅을 하든, 추후 수정을 하든 해야할 것 같다. 응애미안 ㅎ
핵심적으로 다루게 될 내용은 무결성 제약 조건인데, 그 중 개체 무결성과 참조 무결성에 대해 다뤄보겠다

profile
짝퉁 프로그래머

0개의 댓글