단순 키는 한 컬럼 PRIMARY KEY로 옮긴다
한 속성만으로 행을 식별할 수 있으면 그 컬럼이 기본키가 되고, 다른 후보키와 필수 속성은 별도 제약으로 남긴다.
컬럼
제약
ERD에서 온 의미
id
PRIMARY KEY
사용자를 한 번에 찾는 식별 속성
email
UNIQUE
중복되면 안 되는 후보키
name
NOT NULL
회원 이름은 필수 속성
DDL로 옮기면
CREATE TABLE users ( id NUMBER PRIMARY KEY, email VARCHAR2(100) UNIQUE NOT NULL, name VARCHAR2(50) NOT NULL );
PK는 행 식별, UNIQUE는 중복 방지, NOT NULL은 필수성을 맡는다.
1
식별 속성 선택
값이 안정적이고 모든 행에서 존재하는 속성을 고른다.
2
후보키 분리
PK가 아닌 유일 속성은 UNIQUE로 보존한다.
3
필수성 표시
선택 입력이 아니면 NOT NULL을 함께 둔다.