관계형 데이터베이스에서 키(Key)의 개념에 대해 알아보고,
어떤 종류가 있는지 간단하게 정리해보겠습니다.
관계형 데이터베이스에서 키(Key)란 ?
각 ‘행’ 을 구분하는 ‘유일한 식별자’ 를 의미합니다.
•
일반적으로 키는 테이블에서 하나 이상의 열로 구성되며 해당 열 값은 유일하고 불변해야 합니다.
•
키는 데이터 정합성 유지, 검색, 수정, 삭제 등의 작업을 수행할 때 중요한 역할을 합니다.
키(Key)의 종류
•
슈퍼 키(Super Key): 유일성을 만족하는 키. 예를 들면, {학번 + 이름}, {주민등록번호 + 학번}
•
복합 키(Composite Key): 2개 이상의 속성(attribute)를 사용한 키.
•
후보 키(Candidate key): 유일성과 최소성을 만족하는 키. 기본키가 될 수 있는 후보이기 때문에 후보키라고 불린다. 예를 들면, 주민등록번호, 학번 등
•
기본 키(Primary key): 후보 키에서 선택된 키. NULL값이 들어갈 수 없으며, 기본키로 선택된 속성(Attribute)은 동일한 값이 들어갈 수가 없다.
•
대체 키(Surrogate key): 후보 키 중에 기본 키로 선택되지 않은 키.
•
외래 키(Foreign Key): 어떤 테이블(Relation) 간의 기본 키(Primary key)를 참조하는 속성이다. 테이블(Relation)들 간의 관계를 나타내기 위해서 사용된다.
리뷰를 마치며
키의 개념은 기초적인 지식이라고 생각할 수 있지만, 커뮤니케이션이나 DB설계에 있어서 중요한 역할을 합니다.
예를들어 기초적인 개념중 하나인 정규화를 설명할 때도, 키의 종류를 이해 못하면 정규화를 이해하기 어렵습니다.
처음 학습자라면 이 개념을 단순히 암기하는데 그치지지 않고, DB설계를 직접해보고 정규화를 거치면서 어떤 의미로 사용되는지 이해하면 좋습니다.
실무자는 당연히 이 개념을 숙지하고 있어야 하고, 개발자간의 커뮤니케이션에서 오류가 없도록 해야 합니다.