ERD (ER 다이어그램) 작성 방법

Back-End/Data Base 2019. 7. 15. 16:51

데이터 모델은 데이터베이스에 독립적이다.

 

정보 시스템을 개발하기 전에 보다 많은 아이디어를 도출하고 데이터베이스 설계의 이해를 높이기 위해

 

데이터모델링을 한다,

 

관계형 데이터 모델은 실체(Entity), 속성(Attribute), 관계(Relationship)로 구성된 ER Diagram으로 표현된다.

 

 

관계형 데이터 모델 - 데이터베이스 개발 과정

 

  1. 업무 정보화 요구
  2. 개념 데이터 모델링 - 분석, 전략 수립
  3. 데이터베이스 설계 - 설계
  4. 데이터베이스 생성 - 개발

 

 

ERD는 개념 데이터 모델링 단계에서 작성하는 다이어그램

 

 

실체(Entity) : 관리하고자 하는 정보의 실체

 

ㄴ둥근 사각형으로 작성

ㄴEntity 이름은 단수형이고 유일하며 대문자로 크게 표기 할 것. ( )안에 동의어 표기 가능.

ㄴ모든 Entity는 하나 이상의 식별자 (UID : Unique Identifier)을 가져야한다.

ㄴUID가 없다면 Entity가 아님

 

 

 

속성(Attribute) : Entity를 구성하고 있는 구성 요소

 

ㄴAttribute 이름은 소문자로 작게 표기할 것.

ㄴEntity 이름과 Attribute 이름이 같으면 안됨.

ㄴ"#"  은 UID. "*"는 필수(Mandatory). "o"는 선택(Optional) Attribute를 의미

ㄴ자신의 Attribute가 아니면서 Relation을 위해 자신의 Attribute로 표시해서는 안된다.

 

 

 

관계(Relationship) : Entity간의 관계

 

ㄴ 두 Entity 사이에 선을 긋고 관계 명칭을 기록한다.

ㄴ 선택 사항을 표시한다.

ㄴ 점선은 선택 (may be) 을 의미 (부서입장에서는 사원을 배치받을 수도 있고, 안받을 수도 있기 때문에)

ㄴ 실선은 필수 (must be) 를 의미 (사원입장에서는 반드시 부서에 배치되어야 하기 때문)

ㄴ 관계 형태를 표시한다.

ㄴ 새 발 모양은 하나 이상 (one or more) 을 의미 (사원 여러명이 한 부서에 속할 수 있기때문)

ㄴ 단 선은 단 하나 (one and only one) 를 의미 (한명의 사원은 한 부서에만 소속될 수 있다.)

 

 

 

 

Relationship 표현

 

 

 

 

Relationship 읽기

 

 

먼저 한 방향 (좌 -> 우)을 읽고 난 후에 다른 방향 (우 -> 좌)을 읽는다.

 

 

 



  관계 형태 - 1 : 1 관계


  


  ㄱ. 양쪽 방향 모두 단 하나씩 (one and only one) (라면은 두개 이상의 스프를 포함하고 있지 않고, 스프도 한개이상의 라면에 들어있지 않다.)


  ㄴ. 드물게 발생되는 형태


  ㄷ. 양방향 모두 반드시 (must be) 가 되는 경우는 아주 드물다.


  ㄹ. 1 : 1 관계는 실제로는 동일한 ENTITY일 경우가 많다.

 

 

 



  관계 형태 - M : 1 관계


  


  
  ㄱ. 한쪽 방향은 하나 이상 (one or more) (각 사원은 단 하나의 부서에 반드시 소속되어야 하고, 각 부서는 여러명의 사원을 배치받을 수 있다.)


  ㄴ. 다른 방향은 단 하나씩 (one and only one)


  ㄷ. 가장 일반적인 관계 형태


  ㄹ. 보통 must be와 may be로 지정되나 양방향 모두 must be로 지정되는 경우도 있다.

 

 

 

  
  관계 형태 - M : M 관계
  
  


  ㄱ. 양쪽 방향 모두 하나 이상 (one or more) 
       (각 학생은 하나이상의 교육과정에 신청할 수도 있고, 각 교육과정은 여러 학생을 등록 받을 수 있다.)


  ㄴ. 자주 발생되는 형태이지만 최종 결과에서는 M : M 관계는 나타나지 않는다.


  ㄷ. 상세 개념모델링 (Advanced Conceptual Data Modeling) 단계에서 M : 1 관계로 분할된다.
       (M : M관계를 그대로 놔두면 문제가 발생되기 때문)


   - ( 학생과 교육과정 사이에 교육과정 사이에 "수강신청"이라는 Entity를 만들어서 학생은 자신이 수강신청한 
     교육과정에만 관계를 맺고 있으면 된다. 이런식으로 M : M 관계를 M : 1 관계로 분할시키면 된다. )

 

 

 



  UID Bar


  한 사람의 사원의 부양가족을 확인하려면 부양가족 테이블에 "사번" Entity가 있어야 하는데 


  부양가족의 UID를 -> 사번 + 주민번호 (기본키를 복합키로) 로 해서 한 사람의 사원에 대한 부양가족을 찾을 수 있다.


  

 

 

 



 데이터베이스 설계


 - Entity를 Table로 Mapping


 - Attribute를 Column으로 Mapping


 - UID를 Primary Key로 Mapping


 - Relationship을 Foreign Key로 Mapping

 

 

관계형 데이터 모델 - 요약

 



 - 데이터 모델은 데이터베이스에 독립적이다.


 - 데이터 모델링은 건축물의 설계도를 그리는 작업과 같다. 


 - 관계형 데이터 모델은 여러 가지 데이터 모델 중 가장 널리 사용되는 모델이며, 실체(Entity), 속성(Attribute), 관계(Relationship)로 구성된
   ER Diagram으로 표현된다.


 - Entity는 하나 이상의 식별자 (UID : Unique Identifier)를 가져야 하며 UID가 없다면 Entity가 아니다.


 - E - R Diagram 작도 시 관계를 표현할 때에는 어떤 Entity가 주(主) 인가를 잘 따져서 표현한다.


 - 관계의 종류에는 M : 1, M : M, 1 : 1 이 있는데 M : 1 관계가 대부분이다.
   M : M 관계는 상세 관계 모델링 단계에서 M : 1로 분할 되며, 1 : 1 관계는 대부분 하나의 Entity로 표현 가능한 경우가 많다.


 - 관계형 데이터베이스는 2차원 테이블로 데이터를 표현한다.

아래 책은 제가 공부할때 활용했던 책으로 추천드리는 책이니 한번씩 읽어보시는것을 추천드립니다!! ㅎㅎ

토비의 스프링 3.1 세트:스프링의 이해와 원리 + 스프링의 기술과, 에이콘출판

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

출처

https://www.youtube.com/watch?v=mehjXqNKvh8

: