Beny's Study

03. 개념 모델링(엔티티 도출 및 ERD 설명) 본문

[DB]/02. DB모델링

03. 개념 모델링(엔티티 도출 및 ERD 설명)

76beny 2022. 5. 9. 21:51

1. 업무 분석 → 엔티티 도출

■ 업무 분석 단계에서 업무에 대한 자료 수집 및 정리 작업이 끝나면 -> 업무 기술서, 인터뷰 자료, 장부, 전표 등의 산출물이 나옴
   (프로젝트 개요서, 시스템 기능도, 업무 기술서, 사용자 요구사항 분석서, 관련 문서 목록, 수집한 장부/전표)


■ 업무 분석 단계의 산출물을 이용해 **엔티티 도출 작업을 진행하여 엔티티 기술서라는 산출물 얻음
* 업무 분석 자료 → 엔티티 도출 작업 → 엔티티 기술서

 

** Q. 엔티티 도출 과정

- 정해진 공식은 없으나 경험이 없으면 다음의 과정들을 거쳐 엔티티 기술서 작성
- 엔티티 도출은 데이터 모델링의 핵심


      1. 엔티티 후보 풀엔티티 리스트를 그림
          (엔티티 후보 풀 : 엔티티를 찾는 과정에서 엔티티인지 애매할 때 임시로 보관해두는 장소)
      2. 분석 대상 문서를 보고 명사를 찾아 표시
         : 추상 명사도 표시하며 명사를 찾을 때 한 번 나왔던 명사는 다시 표시하지 않음
      3. 각각의 명사에 대해 속성인지 엔티티인지 구분
      4. 중복된 명사나 유사한 의미의 명사는 하나로 정의
      5. 엔티티 후보 풀에 있는 명사들 검토
      6. 도출된 엔티티에 대해 구출될 시스템에서 데이터를 관리할 필요가 있는지 판단

 

2. 엔티티 도출 하기 

 

1) 업무 기술서에서 엔티티 도출하기

 

2) 전표에서 엔티티 도출하기

 

3. ERD 개요 및 표기법 주요 개념

■  Entity – Relationship 모델(개체 관계도)이라고도 불림
■ 요구분석 사항에서 얻어낸 엔티티와 속성들을 그림으로 그려내 그 관계를 도출한 것
■ **개념적 모델링 단계에서 그려지는 산출물로 엔티티 간의 관계에 초점이 맞춰져 있음

 


** Q. 개념적 모델링 순서
1. 업무 분석 자료를 토대로 엔티티를 도출하여 엔티티 기술서 작성


2. 엔티티 기술서의 속성들 중 주식별자를 선정할 속성이 있다면 주식별자로 선정(밑줄)
- 컬럼 값 중복 여부 확인을 통해 주식별자 선정
- 복합키 사용 여부
- 인위적인 주 식별자


3. ERD로 엔티티 작성


4. 엔티티 간의 관계 설정
- 관계 매트릭스(엔티티 간의 관계 검토, 업무 분석 자료에서 동사 추출)
- 엔티티 간의 부모-자식 관계


5. 외래 식별자 정의


6. 관계의 카디널리티(수적 관계)


7. 관계의 참여도(필수/선택)

 

*ERD 표기법 (관계 + 식별자)

 

 

 

식별자(Identifier)

1) 주식별자(Primary Identifier)
- 엔티티에 소속된 인스턴스들을 구별하는 기준 역할을 하는 속성
- 여러 개(복합 키)가 가능하며 주 식별자가 없다면 인위적 주식별자로 새로운 속성을 만듦(인위적 주식별자)

- 유일성 : 주식별자에 의해 엔티티 내에 모든 인스턴스들을 유일하게 구분(중복 안 됨)
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함
              (하나의 주식별자로 인스턴스들을 구분할 수 있으면 굳이 복합키로 만들지말 것)
- 불변성 : 주식별자가 한 번 특정 엔티티에 지정되면 그 식별자 값은 변하지 않아야 됨
- 존재성 : 주식별자가 지정되면 반드시 데이터 값이 존재해야 함(NOT NULL)

 

2) 외래식별자(Foreign Identifier) : 

관계가 있는 두 엔티티를 부모, 자식 엔티티로 구분한 후 부모의 주식별자와 공통 속성이 자식에게도 존재하는 속성
→ 자식 엔티티에 부모 엔티티 주식별자 공통 속성이 없을 경우 자식에게 속성을 추가한 후 외래 식별자로 지정

 

 

관계(Relationship)

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


2) 참여도 : 참여도에는 필수(Mandatory)와 선택(Optional) 두 가지로 존재
               어떤 기준이 되는 엔티티가 있을 때 반드시 대응되는 엔티티가 존재해야 된다면 필수,
                존재할 수도, 하지 않을 수도 있다면 선택


3) 카디널리티 : 두 개의 엔티티가 각 관계에서 엔티티에 속해 있는 인스턴스를 수 적으로 표현
                     인스턴스가 1개와 대응되면 |, 다수와 대응되면 까마귀발(삼지창) 표기법

 

[식별관계]

- 1:N 관계에서 외래 식별자가 자식 엔티티의 주식별자의 일부가 되는 관계
- PFK로 표시 (외래 식별자가 주식별자의 역할도 함)
- 실선으로 관계 표시

 

[비식별관계]

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

 

 

4) 1:1 관계 : 한 학과에는 한 명의 학과장이 존재하고 한 명의 학과장은 한 학과만을 관리한다.


5) 1:N 관계 : 한 교수는 여러 과목을 가르치고 한 과목은 한 교수만이 담당한다.


6) M:N 관계 : 한 학생은 다수의 과목을 수강할 수 있고 한 과목은 다수의 학생으로부터 수강된다.
→ M:N 관계는 덜 완성된 모습으로 데이터 구조에 있어 어떠한 방법으로도 구현 불가능
=>  해소해주어야 함

 


"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.

이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."

 

'[DB] > 02. DB모델링' 카테고리의 다른 글

06. 반정규화(De-Nomalization)  (0) 2022.05.09
05. 물리적 모델링  (0) 2022.05.09
04. 논리 모델링(정규화)  (0) 2022.05.09
02. 도메인  (0) 2022.05.09
01. 모델링(UML)의 개요 및 DB모델링 개념  (0) 2022.05.09