키와 슈퍼키

SQL로 배우는 관계형 데이터베이스 입문

Timo Grossenbacher

Data Journalist

현재 데이터베이스 모델

SQL로 배우는 관계형 데이터베이스 입문

기본 키가 있는 데이터베이스 모델

SQL로 배우는 관계형 데이터베이스 입문

키란?

  • 레코드를 고유하게 식별하는 속성(들)
  • 아직 속성을 더 뺄 수 있으면: 슈퍼키
  • 더는 뺄 수 없으면: 최소 슈퍼키 또는
SQL로 배우는 관계형 데이터베이스 입문
     license_no     | serial_no |    make    |  model  | year
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang |    2
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass |    5
 New York MPO-22    | X83554    | Oldsmobile | Delta   |    1
 California 432-TFY | C43742    | Mercedes   | 190-D   |   99
 California RSK-629 | Y82935    | Toyota     | Camry   |    4
 Texas RSK-629      | U028365   | Jaguar     | XJS     |    4

SK1 = {license_no, serial_no, make, model, year}

SK2 = {license_no, serial_no, make, model}

SK3 = {make, model, year}, SK4 = {license_no, serial_no}, SKi, ..., SKn

Elmasri, Navathe (2011): Fundamentals of Database Systems, 6th Ed., Pearson에서 발췌

SQL로 배우는 관계형 데이터베이스 입문
     license_no     | serial_no |    make    |  model  | year
 -------------------+-----------+------------+---------+------
 Texas ABC-739      | A69352    | Ford       | Mustang |    2
 Florida TVP-347    | B43696    | Oldsmobile | Cutlass |    5
 New York MPO-22    | X83554    | Oldsmobile | Delta   |    1
 California 432-TFY | C43742    | Mercedes   | 190-D   |   99
 California RSK-629 | Y82935    | Toyota     | Camry   |    4
 Texas RSK-629      | U028365   | Jaguar     | XJS     |    4

K1 = {license_no}; K2 = {serial_no}; K3 = {model}; K4 = {make, year}

  • K1~3은 단일 속성으로만 구성됩니다
  • K4에서 "make" 또는 "year"를 제거하면 중복이 생깁니다
  • 후보 키 중 하나만 선택 키가 될 수 있습니다
SQL로 배우는 관계형 데이터베이스 입문

키를 찾아봅시다!

SQL로 배우는 관계형 데이터베이스 입문

Preparing Video For Download...