키의 이름보다 식별과 참조 책임을 분리한다

회원 게시판에서는 행의 대표 정체성, 업무 유일성, 다른 행을 잇는 참조를 각각 다른 제약으로 표현한다.

members

PKid기본 키
UNIQUEemail후보·대체 키
UNIQUEprovider + subject후보 키
posts.author_id → members.id한 회원이 여러 게시글 작성

posts

PKid기본 키
FKauthor_id외래 키
DATAtitle · body일반 속성
후보 키유일성과 최소성을 만족해 행을 식별할 수 있는 모든 조합
기본 키후보 키 중 행의 대표 정체성으로 선택한 하나
대체 키선택되지 않았지만 UNIQUE로 보존하는 업무 식별자
외래 키다른 행의 키를 참조해 관계와 참조 무결성을 보장