본문 바로가기
IT/데이터 이론, 분석, 시각화

데이터 모델 종류 (릴레이셔널 모델, ERM)

by marketinkerbell 2022. 2. 4.
반응형

 

데이터 모델

 


데이터 모델이란, 다양한 데이터 요소들을 이해하고 사용하기 편한 형태로 정리해놓은 모형을 의미한다.

우리가 데이터를 저장하려고 하는 대상 : Entity(개체)
Entity에 대해서 저장하려고 하는 특징 : Attribute(속성)
Entity들 사이 생기는 연결점 : Relationship(관계)
여러 데이터 요소들에 있는 규칙 : Constraint(제약 조건)
이 네 가지 요소들을 파악한 후, 이 내용들을 발전시켜 데이터 모델들을 만드는 과정을 데이터 모델링이라고 부른다.

 

 


 



릴레이셔널 모델

 

우리에게 가장 익숙하고 가장 널리 사용되는 모델은 릴레이셔널 모델이다. 

릴레이션은 데이터를 로우와 컬럼으로 정리한 테이블, 또는 를 의미한다. 

Entity는 테이블, attribute은 컬럼, relationship은 foreign key를 사용해서 정리해놓은 모형이다.

 

 

릴레이셔널 모델 예)

 

 

 

 

 

릴레이셔널 모델을 모델링한다는 건, 정확히 어떤 테이블을 만들고, 이 테이블들을 또 어떤 컬럼들로 나누고, foreign key를 어떻게 만들지를 정해나가는 것이다.

 

 

 


 

 

 

ERM

 

릴레이셔널 모델이 실제로 사용하기에는 편리하긴 하지만,

모델링을 할 때는 로우에 대해서는 신경을 쓰지 않기 때문에 데이터를 조금 다른 형태로 표현하는 모델을 같이 사용한다.  바로 Entity-Relationship 모델, 줄여서 ERM이라는 모델이다.

 

ERM에서는 Entity를 하나의 네모로, attribute을 네모 안에 문자열로, 그리고 relationship을 선으로 표현한다.

그리고 이 선들의 끝을 어떻게 표현하는지에 따라 관계의 특징을 표현할 수 있다.

위에서 봤던 릴레이셔널 모델을 똑같이 ERM으로는 이렇게 나타낼 수 있다.

 

 

 

 

 

 

ERM에서는 로우를 매번 표현해주지 않아도 되고, 선과 선의 끝점들을 통해서 Entity들 사이 관계를 조금 더 자세하게 표현할 수 있다.  선은 카디널리티를 나타내는데, 카디널리티는 두 entity type 사이 관계에서 한 종류의 entity가 다른 종류의 entity 몇 개에 대해서 관계를 맺을 수 있는지를 나타내는 개념이다.

 

 

카디널리티는 아래 링크 참고

https://devfairy.tistory.com/106

 

 

 

 

 


 

 

데이터 모델 스펙트럼


데이터 모델은 얼마나 자세하게 표현됐는지에 따라 세 가지로 분류된다.

개념적 모델링
가장 추상적인 내용을 담고 있는 모델을 개념 모델이라고 부른다. 

대략적으로 Entity들과 Entity들 사이에 있는 관계 정도만 표현한다.

 

 

 

 

 

 

 

 

 

논리적 모델링

논리 모델은 개념 모델보다는 조금 더 자세한 내용을 담고 있다.

Entity들이 갖는 Attribute들과 primary key, Entity들 사이 관계를 표현해줄 foreign key, 이런 내용까지 표현한다.

 

 

 

 

 

 

 

 

물리적 모델링


물리 모델은 실제로 데이터베이스를 구축할 때 필요한 내용에 최대한 가까운 내용을 담고 있는 모델이다.

각 컬럼의 데이터 타입, 요소들의 이름, 인덱스라는 걸 어디에 만들어줄 건지 등 까지 표현한다.

 

 

 

 

댓글