읽는 순서

개체로 뼈대를 만들고, 관계로 연결하고, 예외 속성만 따로 뺍니다

ERD를 릴레이션으로 바꿀 때는 모든 규칙을 따로 외우기보다 무엇을 먼저 테이블로 만들고, PK를 어디에 들고 가는지, 언제 별도 테이블이 필요한지를 순서대로 판단하면 됩니다.

1

개체가 기본 테이블이 된다

먼저 저장 단위를 만든 뒤 속성을 컬럼으로 펼칩니다.

강한 개체 → 바로 테이블 단순 속성은 컬럼, 키 속성은 PK 컬럼으로 둡니다. 복합 속성은 하위 속성만 남깁니다.
약한 개체 → 소유 개체 키를 함께 가짐 독립 PK가 없으므로 소유 개체의 PK를 FK로 포함하고, 부분키와 합쳐 PK를 만듭니다. PK = owner_pk + partial_key
2

관계는 FK 위치로 결정된다

관계 차수에 따라 어느 테이블이 상대 PK를 들고 있는지가 달라집니다.

1:1
한쪽 테이블에 FK 추가 보통 전체 참여 쪽에 둡니다. 별도 관계 테이블은 예외적입니다.
1:N
N쪽이 1쪽 PK를 저장 가장 자주 나오는 형태입니다. 예: 여러 주문이 한 회원의 user_id를 FK로 가집니다.
M:N
교차 테이블을 새로 만든다 양쪽 PK를 FK로 넣고 복합키나 대리키를 씁니다. 예: 주문 × 상품 → 주문상세
3

속성 예외는 분리하거나 계산한다

한 컬럼에 그대로 담기 어려운 속성만 따로 다룹니다.

다중값 속성 전화번호처럼 값이 여러 개인 속성은 별도 테이블로 분리하고 원래 개체 PK를 FK로 둡니다.
파생 속성 나이, 총액처럼 계산 가능한 값은 보통 저장하지 않습니다. 성능이 필요할 때만 반정규화로 저장합니다.
한 줄 기준: 개체 → 테이블, 관계는 FK 위치, 반복되거나 계산되는 속성은 별도 테이블 또는 계산으로 처리하면 ERD를 릴레이션 스키마로 빠르게 옮길 수 있습니다.