데이터 모델링은 두 가지 단계로 나뉜다.
논리적 모델링 : 개념적 구조를 정하는 것물리적 모델링 : 데이터베이스 구축에 필요한 걸 정하는 것
- 데이터베이스 모델링의 개념
- 논리적 모델링
- 물리적 모델링
위 세가지에 대해서 배워보자.
데이터 모델이란 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.
Entity(개체) : 데이터를 저장하려고 하는 대상Attribute(속성) : Entity에 대해 저장하려고 하는 특징Relationship(관계) : Entity들 사이 생기는 연결점Constraint(제약 조건) : 여러 데이터 요소들에 있는 규칙이 네 가지 요소들을 파악한 후 이 내용들을 발전시켜 데이터 모델들을 만드는 과정을 데이터 모델링이라고 한다.
📝 데이터 모델링의 목적
Entity, Attribute, Relationship, Constraint 파악데이터를 row와 column으로 이루어진 테이블을 가지고 표현한 모델을 관계형 모델(Relational Model) 이라고 한다. 즉, 테이블로 정리해서 표현한 모델이다.
Entity는 테이블, Attribute는 컬럼, Relationship은 Foreign Key를 사용하여 정리해놓은 모형이다.
Relation: 테이블Relationship: 테이블 사이 맺어지는 관계
Entity Relationship Model (ERM)
ERM에서는 Entity를 하나의 네모로, Attribute를 네모 안에 문자열로, 그리고 Relationship을 선으로 표현한다. 그리고 이 선들의 끝을 어떻게 표현하는지에 따라 관계의 특징을 표현할 수 있다.



ERM을 사용하면 해당 모델을 아래와 같이 표현할 수 있다.


데이터 모델은 얼마나 자세하게 표현 되었는지에 따라 세 종류로 구분된다.
개념 모델(Conceptual ModelEntity와 간단한 연결 관계만 확인한다. Attribute 내용은 구체화하지 않고 대략적인 구조를 파악할 때 사용한다.
논리 모델(Logical Model)Entity 뿐만 아니라 Attribute 까지 표현하며 기본키(PK)와 외래키(FK)가 무엇인지도 표시한다.
물리 모델(Physical Model)Attribute에서 사용하는 데이터 타입, 변수명 등이 담겨 있다.

데이터 모델이란 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.
Entity(개체) : 데이터를 저장하려고 하는 대상Attribute(속성) : Entity에 대해 저장하려고 하는 특징Relationship(관계) : Entity들 사이 생기는 연결점Constraint(제약 조건) : 여러 데이터 요소들에 있는 규칙이 네 가지 요소들을 파악한 후 이 내용들을 발전시켜 데이터 모델들을 만드는 과정을 데이터 모델링이라고 한다.
<나쁜 데이터베이스>
<좋은 데이터베이스>
데이터 모델링을 어떻게 했는지에 따라 데이터베이스가 좋을 수도 나쁠 수도 있다.