만족

[Database] Data Modeling (Concept & ER Modeling) 본문

[Database] Data Modeling (Concept & ER Modeling)

DataBase/이론 Satisfaction 2021. 6. 11. 01:47

관계형 DB를 설계할 때 가장 많이 사용되는 기법으로 ER Modeling이 있다.

 

ER Modeling은 이름에서부터 알 수 있듯이, Entity와 Relation을 이용해 현실 세계를 묘사한다.

 

Entity

Entity는 개체라고도 하며, 단독으로 존재할 수 있으며 다른 개체와 구별되는 object이다.

 

개체는 이름과 애트리뷰트를 갖는다.

 

이름은 개체의 이름이고, 애트리뷰트는 개체가 가질 수 있는 속성이다.

 

예를 들어, 사람이라는 개체는 성별, 나이, 키, 몸무게라는 애트리뷰트를 가질 수 있다.

 

Attribute

첫 번째로 애트리뷰트는 단순 애트리뷰트와, 복합 애트리뷰트로 나눌 수 있다.

 

가령 사람의 나이라는 애트리뷰트는 더 이상 나눌 수 없는 단순 애트리뷰트이지만,

사람의 거주지 주소라는 애트리뷰트는 도, 시/군/구, 동, 상세주소 등이 합쳐진 복합 애트리뷰트라고 할 수 있다.

 

두 번째로 애트리뷰트는 단일 값 애트리뷰트와 다중 값 애트리뷰트로 나눌 수 있다.

 

사람의 휴대폰 번호라는 애트리뷰트는 한 사람이 여러 대의 휴대폰을 가질 수 있으므로 다중 값 애트리뷰트로 볼 수 있다.

그러나 한 명의 사람이 여러개의 나이를 가질 수는 없으므로, 단일 값 애트리뷰트로 볼 수 있다.

 

Relation

릴레이션은 관계라고도 부르며, 개체 간의 관계를 나타낸다.

 

이 때 릴레이션으로 연결된 개체는 서로 다를 수도, 같을 수도 있다.

 

1:1 Relation

릴레이션으로 연결 된 개체들이 1:1로 연결되는 관계를 나타낸다.

 

사람 개체와 지역 개체가 있을 때, 사람 개체의 출생지라는 애트리뷰트는 지역 개체 한개와 반드시 연결되므로, 1:1 관계라고 볼 수 있다.

 

1:N Relation

릴레이션으로 연결 된 개체들이 1:N으로 연결되는 관계를 나타낸다.

 

사람 개체와 연락처라는 개체가 있을 때, 한 사람이 여러 개의 연락처(휴대폰번호)를 

한개 가질 수도 있고, 가지지 않을 수도 있고, 여러개 가질 수도 있다.

 

또한 하나의 연락처는 한 사람에게만 귀속되므로, 1:N 관계라고 볼 수 있다.

 

이 관계가 매우 자주 나타나는 관계 타입이다.

 

N:M Relation

릴레이션으로 연결 된 개체들이 N:M으로 연결되는 관계를 나타낸다.

 

학생 개체와 과목 개체가 있을 때, 한 학생은 여러 개의 과목을 수강할 수 있고,

하나의 과목 역시 여러 개의 학생이 수강할 수 있으므로,

N:M관계라고 볼 수 있다.

 

0:0?

0:0의 관계는 존재하지 않는다.

애초에 매칭되는 것이 없으므로, 관계가 있다고 볼 수 없다.

 

ER Modeling Diagram

ER Diagram에서는 다음과 같이 개체와 관계를 표현한다.

 

사각형은 Entity name을 의미한다.

마름모는 Entity간 Relation이 어떤 Attribute를 기준으로 이루어져 있는지를 의미한다.

원은 Entity의 Attribute를 의미한다.

 

Student개체를 보면 Stu_Id, Stu_Name, Stu_Addr, StudyIn 속성을 가지고 있고,

Colleage개체와 StudyIn을 통해 Relation을 이루고 있음을 알 수 있다.

 

 

그러나 이러한 고전적인 ER Diagram 방식은 딱 보기에도 도형의 갯수가 너무 많고,

관계 타입(1:1, 1:N 등)을 표현하기에는 너무 복잡해질 수 있다는 단점이 있다.

 

그래서 요즘은 ER Diagram보다는 더 자주 Crow Foot Notation을 이용해 데이터 모델링을 진행한다.



Comments