데이터 모델링
은 두 가지 단계로 나뉜다.
논리적 모델링
: 개념적 구조를 정하는 것물리적 모델링
: 데이터베이스 구축에 필요한 걸 정하는 것
- 데이터베이스 모델링의 개념
- 논리적 모델링
- 물리적 모델링
위 세가지에 대해서 배워보자.
데이터 모델
이란 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.
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 Model
Entity
와 간단한 연결 관계만 확인한다. Attribute
내용은 구체화하지 않고 대략적인 구조를 파악할 때 사용한다.논리 모델(Logical Model)
Entity
뿐만 아니라 Attribute
까지 표현하며 기본키(PK)
와 외래키(FK)
가 무엇인지도 표시한다.물리 모델(Physical Model)
Attribute
에서 사용하는 데이터 타입, 변수명 등이 담겨 있다.데이터 모델
이란 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.
Entity(개체)
: 데이터를 저장하려고 하는 대상Attribute(속성)
: Entity에 대해 저장하려고 하는 특징Relationship(관계)
: Entity들 사이 생기는 연결점Constraint(제약 조건)
: 여러 데이터 요소들에 있는 규칙이 네 가지 요소들을 파악한 후 이 내용들을 발전시켜 데이터 모델들을 만드는 과정을 데이터 모델링
이라고 한다.
<나쁜 데이터베이스>
<좋은 데이터베이스>
데이터 모델링을 어떻게 했는지에 따라 데이터베이스가 좋을 수도 나쁠 수도 있다.