그림 2-21의 회원 테이블에서 회원번호 속성은 각 튜플마다 중복되지 않고 고유한 값을 가집니다. 반면에 이름 속성은 ‘이길벗’과 같이 중복되는 값(동명이인)을 허용하고, 나이 속성도 ‘21’과 같이 중복되는 값을 허용하며, 주소 속성도 ‘종로구’와 같이 중복되는 값을 허용합니다. 따라서 유일성과 최소성을 충족하는 회원번호 속성을 기본키로 지정할 수 있습니다. 테이블의 각 튜플이 구별돼야 하므로 반드시 기본키가 있어야 합니다.
• 외래키
외래키(FK, Foreign Key)는 다른 테이블의 기본키를 참조하는 키로, 두 테이블 간의 관계를 나타내기 위해 사용합니다. 예를 들어 회원 테이블과 주문 테이블이 있다고 합시다. 주문 테이블에는 어떤 회원이 어떤 상품을 주문했는지에 대한 정보가 담겨 있습니다. 따라서 주문 테이블에는 회원 테이블의 기본키인 회원번호가 필요해 이를 회원 테이블에서 참조해 저장하는데, 이를 외래키라고 합니다.