본문 바로가기

Study/Concepts

DAY 74. DB - 개념적 모델링

개념적 모델링

요구 분석 단계에서 정의된 핵심 개체(Entity)와 그들 간의 관계를 바탕으로 ERD를 생성하는 단계

업무 분석 단계에서 유스케이스, 클래스, 시퀀드 다이어그램 작성 작업을 하는데 최종적으로 요구사항 명세서, 업무 기술서를 작성하게 되는데 그것들을 가지고 만든다.

Entity 정의

✔️ 엔티티 도출

업무 분석 단계 이후, 분석 자료(업무 기술서, 인터뷰 자료, 장부와 전표 등) 을 가지고 엔티티를 도출한다.

 

<엔티티 도출 과정> - 정해진 공식은 없다.

1. 엔티티 후보 풀엔티티 리스트를 그린다.

2. 분석 대상 문서를 보고 명사를 찾아 표시한다.

3. 명사 하나하나에 대해 속성인지 엔티티인지 구분한다.

4. 중복된 명사나 유사한 의미의 명사는 하나로 정리한다.

5. 엔티티 후보 풀에 있는 명사들을 검토한다.

6. 도출된 엔티티에 대해 구축될 시스템에서 데이터를 관리할 필요가 있는지 판단한다.

 


 

ERD(Entity-Relationship Diagram)

ERD는 개체 관계도라고 불린다.

요구 분석사항에서 얻어낸 엔티티와 속성들을 그림으로 그려내어 그 관계를 도출한 것이다.

엔티티들 사이의 관계를 설정하기 위해서 그리는 것

 

ERD 표기법

✔️ 엔티티 간의 부모-자식 관계

  • 상호 관계가 있는 두 엔티티 중에서 어느 쪽의 정보가 먼저 생성이 되는가에 따라 결정
  • 부모 엔티티의 정보가 있어야지만 존재할 수 있는 것이 자식 엔티티이다.

 

✔️ 참여도

  • 필수(mandatory) 혹은 선택(optional) 두 가지로 존재한다.
  • 어떤 기준이 되는 엔티티가 있을 때는 반드시 대응되는 엔티티가 존재해야 한다면 필수로 선택한다.
  • 존재할 수도 , 하지 않을 수도 있다면 선택을 선택한다.

 

✔️ 카디널리티

  • 두 개의 엔티티 사이 관계에서 엔티티에 속해 있는 인스턴스들을 수적으로 표현한 것이다.
  • 인스턴스가 1개와 대응된다면 | 로 표시, 다수와 대응된다면 까마귀발로 표시

 

✔️식별 관계

  • 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계 ( 1=부모, N=자식)
  • PRK로 표시된다. (외래 식별자가 주식별자의 역할도 한다.)
  • 실선으로 관계를 표시한다.

 

✔️비식별 관계

  • 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자 역할을 하지 못하고 단순히 새로운 속성으로 추가되는 관계
  • FK로 표시된다. (ONLY 외래식별자의 역할만 한다.)
  • 점선으로 관계로 표시한다.

 

◾ 1:1관계

X에 속하는 한 개체는 Y에 속하는 한 개체에만 연결되며, Y에 속하는 한 개체도 X에 속하는 한 개체에만 연결된다.

 

◾ 1:N관계

X에 속하는 한 개체는 Y에 속하는 여러 개체에만 연결되며, Y에 속하는 한 개체는 X에 속하는 한 개체와 연결된다.

부모가 1이고 자식이 N에 해당된다. (ex. 한 명의 교수가 여러 개의 수업을 해서 1명의 교수가 N 수업과목과 연결될 수 있다.)

 

◾ M:N관계

X에 속하는 한 개체는 Y에 속하는 여러 개체와 연결될 수 있으며, Y에 속하는 한 개체도 X에 속하는 여러 개체와 연결 될 수 있다.

실제적 방법으로 구현이 어렵기 때문에 관계를 해소해야 한다.

▪️ 관계 해소 방법

  1. 릴레이션 엔티티를 통해 1:N, N:1 형태로 만든다.
  2. 임의로 부모 엔티티를 선정한다.

 

ERD 관계 설정 순서

1. 부모 - 자식 관계 도출 (일단 모를 때는 카디널리티부터 지정해본다.)

2. 카디널리티 지정 - 1 : N 관계 → 일반적으로 1 = 부모, N = 자식 - 1: 1 관계 → 두 엔티티를 하나의 엔티티로 합침 - M:N 관계 → 정규화를 통해 M:N 관계 해소

3. 참여도 파악 (필수 or 선택)

4. 식별/비식별 관계 파악

- 우선 비식별 관계를 맺어본다. 파악 후, 부모의 주식별자가 자식의 외래 식별자로 추가되었다면

1) 자식 엔티티의 주식별자가 모든 인스턴스가 구분이 되면 비식별 관계 유지
2) 자식 엔티티의 주식별자가 모든 인스턴스를 구분하지 못하면 식별 관계로 변경한다.

 

'Study > Concepts' 카테고리의 다른 글

DAY 76. DB - 물리적 모델링  (0) 2021.11.02
DAY 75. DB - 논리적 모델링  (0) 2021.11.01
DAY 72. DB - DB 모델링  (0) 2021.10.29
DAY 71. UML - 시퀀스 다이어그램  (0) 2021.10.28
DAY 70. UML - 클래스 다이어그램  (0) 2021.10.27