ye._.veloper

[ D B ] ER 모델(Entity-Relationship Model) 정의, 특성 본문

D B

[ D B ] ER 모델(Entity-Relationship Model) 정의, 특성

ye._.veloper 2023. 3. 5. 13:00

책을 읽으며 내용을 기억하기 위해 글을 작성하기로 했다.

 

 

☁ ER 모델(Entity-Relationship Model)

     · 현실 세계의 업무를 개체(또는 실체, Entity)와 관계(Relationship)라는 두 가지 개념으로 표현하는 모델

     · 비교적 이해하기 쉽고 모델을 확장할 수 있어 데이터베이스 설계를 위한 데이터 모델 중에서 가장 널리 활용됨

     · 개체와 개체 간의 관계를 ER 표기법을 사용하여 표현

💡 ER 표기법
     규약인 동시에 언어이며, 모델러와 현업 담당자 간의 의사소통이므로 모델러, 현업, 개발자 등 모든 이해관계자가
     데이터 모델 표기법에 대해 잘 알고 있어야 한다.

 

ERD(Entity-Relationship Diagram)

     · ER 모델에서 사용하는 실체(=개체)와 관계를 도식화한 것

       ➡ 개체와 개체 간의 관계를 알기 쉽도록 미리 약속한 도형을 사용하여 표현한 것

 

☁ ER 모델의 질적 특성

     · 완전성 (Completeness)

          - ER 모델은 현실 세계의 모든 업무적인 요구사항을 표현하고 있어야 한다.

          - 요구사항에 대한 상세 내용을 검토해서 ER 모델에 모두 표현되어 있는지, ER 모델에 언급되고 있는 개념들이 요구사항을 만족하고 있는지 검토

         

         ex ) 상품 단가가 변경된다면 주문 시 상품 수량뿐만 아니라 상품 금액을 같이 관리해야 한다.

 

     · 정확성 (Correctness)

          - ER 모델의 개념대로 데이터 모델을 작성해야 한다.

          ➡ 엔티티 대신 속성을 사용하지 않아야 하고,

               슈퍼타입 관계를 명확히 하며,

               슈퍼타입과 서브타입 사이의 상속(Inheritance)을 표현하고,

               관계와 관련된 개별 엔티티를 명확히 정의해야 하고,

               관계 대신 엔티티를 사용하지 않아야 하고,

               실체의 식별자를 명확히 해야하며,

               카디널리티(Cardinality)와 옵셔널리티(Optionality)를 명확하게 표현해야 한다.

 

         ex ) 한 명의 직원이 두 개 이상 부서의 부서장으로 겸임할 수 있고, 부서장이 공석인 경우도 있다.

 

 

     · 최소성 (Minimality)

          - 요구사항의 모든 특성이 ER 모델에 한 번만 나타나도록 설계해야 한다.

          - 중복이 나타난다면 중복 데이터(Derived Data)를 반드시 문서화해야 한다.

 

         ex )  부서와 직원 엔티티에서 특정 부서의 직원 수는 직원 엔티티에서 특정 부서에 속한 직원 수를 구하면 되므로

                 부서에서 직원 수 속성을 가지고 있을 필요는 없다.

 

     · 자명성 (Self-explanation)

          - 별도 보조자료 없이 설명이나 증명하지 않아도 요구사항에 대한 의미를 명확히 설명할 수 있어야 한다.

 

         ex )  쇼핑몰에서 주문한 사람과 받는 사람이 다를 수 있으므로, 배송 정보를 별도로 관리하여 요구사항을 반영할 수 있다.

 

     · 확장성 (Extensibility)

          - 향후 업무 범위나 규모가 확대되거나 변경될 경우 새로운 요구사항을 쉽게 반영할 수 있도록 유연한 모델을 설계해야 한다.

          - 대표적인 방법 : 엔티티를 일반화하여 엔티티를 통합하는 것

 

         ex )  고객 유형 속성을 추가하여 개인 / 법인 이외에 단체 등으로 고객 범위를 확장할 수 있고,

                 고객 유형에 따라 주민등록번호, 법인등록번호, 단체등록번호 등으로 식별할 수 있다.

 

     · 표현성 (Expressiveness)

          - ER 모델은 요구사항을 자연스럽게 표현하고 추가적인 설명 없이도 ER 모델의 의미를 쉽게 이해할 수 있도록 명확하게 설계해야 한다.

 

         ex )  [주소1], [주소2] 보다는 [기본주소], [상세주소] 등으로 속성명을 부여하는 것이 더 직관적이다. 

 

     · 가독성 (Readability)

          - ER 모델을 읽기 쉽고 그 뜻을 쉽게 알아차릴 수 있도록 표현해야 한다.

              1 ) 일반적으로 위에서 아래로, 왼쪽에서 오른쪽으로 표현하는 것이 가독성 ⬆

              2 ) 엔티티 크기 : 속성의 수를 고려해서 설계

              3 ) 순환관계 또는 부분집합 표현 시, 부모 엔티티를 자식 엔티티 위에 표현

              4 ) 관계는 굽은 선을 최소화하기 ➡ 수직/ 수평으로 직선 사용

              5 ) 관계선의 교차는 최소화하기

              6 ) 속성은 중요한 정보를 위쪽에 표시

              7 ) 비슷한 특성(ex. 성별, 나이 등의 신체적 특성)을 서로 가까운 위치에 표시

 

 

 

 

 

 

Ref.

https://product.kyobobook.co.kr/detail/S000001975842

 

핵심 데이터 모델링 | 유동오 - 교보문고

핵심 데이터 모델링 | 이 책은 모델링 이론과 개념모델링, 논리모델링, 물리 모델링 과정에서 수행하는 작업을 중심으로 기술했으며, 마지막에는 모델링 사례를 바탕으로 다양한 주제를 다루었

product.kyobobook.co.kr

 

Comments