
데이터 모델링을 할 때에는 Relational Model과 ERM을 많이 사용한다.
Relational Model(관계형 모델): 데이터를 row(행)과 column(열)로 이루어진 테이블로 표현한 데이터 모델이다.

여기서 Relational의 사전적 의미 때문에 연결 관계를 의미한다고 착각할 수 있는데 그렇지 않다. Relational Model에서 'Relation'은 테이블을 의미하는 수학적 표현이다.
그렇다면 테이블간의 관계는 어떻게 설정할 수 있을까???
테이블 사이간의 관계는 Foreign Key(참조 키)를 통해 관계를 맺을 수 있다.

해당 Relational Model에서는 Student 테이블의 Primary Key인 학생 id를 Department 테이블의 Foreign Key로 설정하여 두 테이블간 관계를 맺고 해당 학생이 어떤 전공(department)인지 표시하고 있다.
이렇게 해서 맺어진 테이블 사이의 관계를 Relationship(연결 관계)라고 하고 Foreign Key를 저장하고 있는 테이블을 Child Table, Foreign Key를 통해 참조되는 테이블을 Parent Table이라고 한다.
ERM(개체-관계 모델)은 말 그대로 개체와 관계를 중심으로 모델링하는 데이터 모델이다.

ERM에서 네모(☐)는 Entity, 즉 테이블을 의미하고 그 안에 attribute들을 적는다. 선(-)은 Entity간의 관계를 의미하고 어떤 관계이냐에 따라서 선의 양 쪽 끝에 표현 방법이 달라진다.

ERM으로 기본적인 데이터 모델링을 한 후 본격적인 데이터베이스 구축을 위해 Relational Model로 바꾸고 싶다면 간단하다.
Entity는 테이블로, attribute들은 해당 테이블의 컬럼으로, 그리고 relationship들은 Foreign Key를 통해 관계를 설정하면 된다.