DB

E-R 모델 (E-R Model)

검정비니 2018. 10. 22. 13:39
728x90
반응형

E-R 모델 (E-R Model)




E-R 모델은 데이터를 개체(Entity), 속성(Attribute), 관계성(Relationship)으로 나타내는 데이터 모델이다.





1. 개체 (Entity)



개체란 단독으로 존재하는 객체를 의미한다. 하나의 E-R 모델에서는 동일한 객체가 둘 이상 존재하지 않는다.

E-R 다이어그램에서는 개체를 네모로 표시한다.



개체중에는 약한 개체(Weak Entity)라고 불리는 것이 있다. 이 약한 개체란, 스스로 존재할 수 없으며, 반드시 상위 개체가 존재해야 존재할 수 있는 개체이다. 약한 개체는 E-R 다이어그램에서 2개의 네모 (네모 안에 네모가 있는 형태)로 표시한다.






2. 속성 (Attribute)



개체가 갖는 속성이다. E-R 다이어그램에서 속성은 원(혹은 타원)으로 나타낸다.



1) 키 속성 (Key Attribute)


다른 객체들의 값과 동일하지 않은, 해당 객체만이 갖는 값이다. 이 키 속성은 주로 객체를 식별하는 데 사용된다.

E-R 다이어그램에서 키 속성은 원 안에 밑 줄을 그은 형태로 그린다.



2) 복합 속성 (Composite Attribute)


복합 속성은 독립적인 속성들이 모여서 만들어진 속성이다. 예를 들어, 주소 속성은 도시 이름, 동네 이름, 거리 주소, 건물 이름 (혹은 주택 주소), 우편 번호 등 다양한 속성이 합쳐져서 만들어진 속성이다.






3) 다중값 속성 (Multi-valued Attribute)


하나의 속성이 여러 개의 값을 가질 수도 있으면, 다중값 속성이라고 한다. 예를 들어, 학생 개체에서 전공이라는 속성은 다중값 속성이어야 할 수도 있다. 왜냐하면, 복수 전공을 하는 학생이 있을 수 있기 때문이다. 다중값 속성은 E-R 다이어그램에서 두 개의 원으로 나타낸다.




4) 유도된 속성 (Derived Attribute)


속성의 값이 다른 속성의 값에서 계산되어지는 경우, 그 속성을 유도된 속성이라고 한다. 유도된 속성은 E-R 다이어그램에서 점선으로 된 원으로 나타낸다.





2 - 1. 또 다른 E-R 다이어그램 표현 방식



E-R 다이어그램을 그리는 스타일은 한 가지만 있는 것이 아니다. 대표적으로, 아래의 이미지처럼 그리는 UML 방식이 있다.



위의 경우, 키 속성은 밑줄을 긋는 방식으로 표현하고, 복합 속성은 들여 쓰기(indentation)을 통해서 표현한다. 또, 다중값 속성은 중괄호로 나타내고, 유도된 속성은 뒤에 괄호를 붙인다.








3. 관계성 (Relationship)



데이터베이스 설계의 가장 큰 목적은 개체 타입을 설정하고, 개체들 간의 관계를 표현하고 정의하는 것이다. 속성을 통해서 개체 타입을 설정했다면, 관계성을 통해서 개체 간의 관계를 표현하고 정의해야 한다. 관계성은 두 가지 제약조건을 명시함으로써 나타낼 수 있다.



1) 카디널리티 비율 제약조건 (Cardinality Ratio Constraint)


관계를 맺는 두 개체 간의 수적 비율을 나타낸다. 즉, 한 개체가 얼마나 많은 다른 개체와 관계를 맺는 지 나타내는 것이다. 이 카디널리티 비율 제약조건으로는 "일대일 관계 (1:1)", "일대다 관계 (1:M)", 그리고 "다대다 관계 (M:M)"가 있다. 그러므로, E-R 다이어그램을 그릴 때, 개체간의 비율이 어떤 제약조건을 따르는지 표시해야 한다.



2) 참여 제약조건 (Participation Constraint)


관계를 맺는 두 개체에 대해, 한 개체가 다른 개체의 존재에 의존하는지 여부를 나타내는 제약조건이다.

참여 제약조건에는 "전체 참여(Total Participation)"와  "부분 참여 (Partial Participation)"이 있다.


전체 참여는 하나 또는 그 이상의 개체가 참여하는 것이고, 부분 참여는 선택적인 참여이다.


예를 들어, 학생은 어느 과목에 참여할 필요가 없으나, 과목은 반드시 수강생이 있어야 한다.


E-R 다이어그램에서 전체 참여는 두 개의 실선, 부분 참여는 하나의 실선으로 나타낸다.









4. 관계의 속성 (An attribute of the Relationship)



속성은 개체만의 것이 아니다. 관계 역시 속성을 가질 수 있다.

예를 들어, 학생과 담당 교수간의 상담이라는 상황을 E-R 다이어그램으로 만들게 되면, 한 교수가 여러 학생을 담당할 수 있기 때문에, "상담"이라는 관계는 "상담 시작 날짜"라는 속성을 가질 수 있게 된다.




위의 관계를 E-R 다이어그램으로 나타내면 다음과 같이 된다.



위의 이미지에서 볼 수 있듯이, 관계의 속성은 네모 나타내며, 실선으로 연결한다.







정리



아래의 이미지는 위에서 언급했었던 개체나 속성, 관계의 E-R 다이어그램에서의 표현법을 총 정리한 것이다.



반응형

'DB' 카테고리의 다른 글

데이터베이스 정규화  (0) 2022.03.31
관계형 모델 (Relational Model)  (0) 2018.10.22
데이터베이스 기본 지식  (0) 2018.10.07