Computer Science/Database
CS - Database - Key
besforyou999
2022. 10. 7. 19:50
[ Key ]
검색, 정렬 시 Tuple을 구분할 수 있는 기준이 되는 Attribute
테이블 간의 관계를 조금 더 명확히 하게 테이블 자체의 인덱스를 위해 설정된 장치
기본키, 외래키, 후보키, 슈퍼키, 대체키가 있습니다.
슈퍼키 하위에 후보키가 존재하고 후보키 하위에 기본키, 대체키가 존재함
슈퍼키는 유일성만 갖추고 후보키는 유일성, 최소성 모두 갖춘 키 입니다.
유일성 : 중복되는 값이 없음
최소성 : 필드 조합 없이 최소 필드만 써서 키를 형성
기본키 (Primary Key)
줄여서 PK, Primary Key라고도 부르며 테이블에서 PK는 중복되선 안됩니다. (유일성)
여러 개의 속성으로 이루어진 복합키 또한 존재 가능하나 복합키는 최소성을 만족하지 못합니다.
기본키는 자연키 혹은 인조키 중 골라 설정합니다.
자연키
예로, 유저 테이블을 만든다고 가정할 경우 주민등록번호, 성별, 나이 등의 속성이 있을때 중복될 수 있는 속성부터 빼면서 자연스럽게 남아 선택되는 키가 자연키.
나이, 성별은 중복 가능하므로 제거하면 주민등록번호만 남으므로 자연스럽게 기본키가 될 수 있어 자연키.
인조키
자연키와는 반대로 새로운 속성을 추가하여 만든 기본키
외래 키 (Foreign Key) - FK
다른 테이블의 기본키를 그대로 참조하는 값.
기본키와는 다르게 외래 키는 중복되어도 문제 없음
후보 키 (candidate key)
기본키가 될 수 있는 후보들이며 유일성과 최소성을 만족
대체 키 (alternate key)
후보 키가 두 개 이상인 경우 기본 키를 선택하고 남은 키.
슈퍼 키 (super key)
각 레코드를 유일하게 식별할 수 있는 유일성을 갖춘 키.