Dog foot print

[DB] E/R (Entity-Relationship) 모델의 요소 본문

DATABASE

[DB] E/R (Entity-Relationship) 모델의 요소

개 발자국 2019. 7. 16. 21:52

E/R모델은 실제 데이터베이스를 만들기 전 개념적으로 각 테이블간 관계와 가상의 스키마를 만들어 보는 단계이다. 굉장히 귀찮고 어려워 보이지만  E/R 모델의 설계는 필수적이다. 복잡한 데이터베이스 테이블간의 관계를 생각도 하지 않고 만들었다가 오류가 날 경우 수정하는 비용이나 시간이 훨씬 비싸기 때문이다. 

 

더군다나 E/R모델은 그림으로 표현하기에 각 개체마다 관계를 파악하기 쉽다. 

 

E/R 다이어그램의 세가지 구성 요소 

 

 

Entity-set(엔티티 집합) : 유사한 객체들의 집합이다.

ex ) 학생, 교사, 고객, 영화배우등

 

 Attribute(어트리뷰트) : 해당 엔티티가 가지고 있는 특성을 말한다.

ex ) 학생이면 이름, 성별,전화번호, 주소등이 해당되고 교사인 경우 이름, 성별, 전화번호, 주소, 전담 반, 나이등이 해당된다.

 

Relationship(관계성) : 엔티티간의 관계를 설명한다.

ex) 학생과 교사는 전담교사라는 관계가 성립할 수 있고 영화와 영화배우는 출연한 영화라는 관계가 존재 할 수 있다.

 

 

E/R 모델의 예시

 

 

 

 

간단하게 만들어본 E/R 다이어그램이다. 완벽하게 어트리뷰트나 관계를 표현하지는 않았지만 간단한 예제를 만들기에는 충분한 것 같다.

 

 

다중 연관성(multiplicity)

위의 다이어그램 관계성에서 조금 특별 한 부분이 보일것이다. 바로 학생과 교사 관계인 전담이 교사 방향쪽으로 화살표가 그려져있는데 학생은 전담 선생님이 한분이라는 관계를 그린 것이다. 

 

 

 화살표가 그려진 선은 화살표가 가리키는 방향쪽으로 엔티티 집합의 한 인스턴스는 다른 엔티티집합의 인스턴스하나에만 관계가 있는 것을 설명한다.

 

 화살표가그려지지 않은 선은 해당 엔티티 집합의 한 인스턴스는 다른 엔티티집합의 다른 인스턴스에 대해서 최소 1개이상의 관계가 있는 것을 이야기 한다. 

 

다중방향 관계성 

위에 나온 관계성에서 화살표는 2개뿐이였지만 세개이상의 엔티티 집합에 참여하는 관계성도 있다.

 

일반적으로는 1개의 관계성은 2개의 엔티티집합에 대해서만 관계를 가진다. 

 

정리하며 

1학기때 데이터베이스 수업은 정말 유익했다. 유익한거와 별개로 성적은 별로 였지만 건진게 많았기에 이렇게 뭐라도 남겨야 할것같다. E/R모델에서 개념을 확실하게 잡아야지 릴레이션모델과 이를 기반으로한 mysql 같은 데이터베이스의 테이블을 잘 짤 수 있다.

반응형

'DATABASE' 카테고리의 다른 글

[DB] E/R(Entity-Relation) 모델의 요소 2  (0) 2019.07.23
Comments