Goal : 객체와 테이블 연관관계 차이 이해

Terms


H1-1. Entity Relationship 의 중요성

객체를 테이블에 맞춰 데이터 중심으로 모델링 하면, 협력 관계를 만들 수 없다.

OOP와 DB의 Paradigm 차이에 기인하는데, OOP는 Reference 방식으로 객체 그래프 흐름을 타지만, Table은 FK를 활용한 Join을 통해 테이블을 찾는다.

→ 데이터 중심 모델링 한다고 연관관계에 있는 Table 의 id를 Entity 로 등록한다면, 의도대로 테이블 세팅은 잘 되겠지만, 딱 거기까지만 접근 가능하다. 예시를 통해 살펴보자

H2-1. Unidirectional Relationship Mapping

Scenario :: Master ↔ Slaves 관계라고 해보자 ⇒ Cardinality : 1:N ****(get만 따져보자) ****

Master

master_id name mbti gender
1 Hooby INTJ male
2 Youcu ISTJ male

Slaves

slave_id master_id (FK)
1001 1
1002 1

뭔가 Master 와 Slaves에 대한 Entity 를 정의할 때 이렇게 해야만 할 것 같을 것이다.

→ 이렇게 한게 데이터 중심 모델링이다. 이렇게 했을 때 다음과 같은 문제가 존재한다.