IT/CS

[DB] 데이터 모델링의 이해 - 논리 모델링 절차

Terriermon 2022. 4. 13. 01:49

데이터 분석이란

- 고객 비즈니스를 이해하여 논리 ERD를 도출하고 시스템 성능을 고려하여 물리 ERD로 전환하는 절차

  논리 ERD 물리 ERD
용어 일반 용어 DBMS 용어
대상 Entity, Attribute, identifier, Occurrence Table, Column, Primary Key
특징 정규화, 중복 배제, 유연성 반정규화, 중복 허용, 파티셔닝, 집계테이블

- 현행시스템에서 사용한 용어/도메인을 조사하여 엔티티 도출, 속성/식별자/관계를 정의하는 활동

 

데이터 분석 목적

- 비즈니스 처리에 필요한 정보를 구조화

- 안정적 시스템의 기초

 

 

논리 데이터 모델

논리 데이터 구성 요소

1. 주제영역: 주요 토픽에 대한 엔터티 그룹

2. 엔터티: 유용한 정보를 저장하고 관리하는 영속적으로 존재하는 단위

3. 관계: 두 앤터티 사이의 논리적 연결

4. 식별자: 각 객체를 유일하게 구분하는 구분자

5. 속성: 더 이상 분리되지 않는 최소의 데이터 단위

 

논리 데이터 모델링 절차

주제영역 정의 ➡️ 엔터티 정의 ➡️ 관계 정의 ➡️ 식별자 정의 ➡️ 속성 정의 ➡️ 세부사항 정의(정규화)

 

 

엔터티

- 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 영속적인 존재 단위

ex) Entity: 사원, 속성: 사번(PK), 이름, 주소, 전화번호

Occurrence: (10001, 홍길동, 서울, 010-), (10002, 섭섭, 서울, 010-)

 

엔터티 특징

1. Occurence의 집합

2. 유일한 식별자에 의해 식별 가능

3. 속성이 반드시 존재

2021.07.24 - [IT/CS] - [DB] 데이터 모델링1

 

[DB] 데이터 모델링1

데이터 모델링 정의 1. 주어진 개념으로부터 논리적인 데이터 모델을 구성하는 작업, 데이터베이스를 구축하기 위한 분석/설계 과정 2. 데이터베이스 골격 이해를 바탕으로 모델의 기능과 성능

honeywater97.tistory.com

 

엔터티 명명 규칙

1. 현업에서 사용하는 용어

2. 약어 사용 자제

3. 단수 명사 사용

5. 모든 엔터티 이름은 유일해야 함

 

엔터티 유형

1. 중심 엔터티: 주제 내 가장 핵심

2. 독립 엔터티: 다른 엔터티와 관계없이 데이터 생성이 가능한 엔터티, 중심 엔터티가 되는 경우가 많음

3. 의존 엔터티: 다른 엔터티에 데이터가 존재해야 생성 가능한 엔터티

4. 특성 엔터티: 항상 의존 엔터티, 특정 엔터티의 특징을 설명

5. 연관 엔터티: 두 개 이상의 엔터티에 의존적인 엔터티, N:N 관계

 

슈퍼/서브타입 엔터티

- 특정 기준에 따라 엔터티를 논리적으로 분리한 것 -> 비즈니스 파악이 용이해짐

- 슈퍼/서브 타입은 11:1 관계 형태를 가짐

- 서브타입: 배타적 관계, 포함 관계

 

 

관계

- 엔터티 간의 상호적 의미

- 하나의 관계는 두 가지 관점을 가짐

 

관계의 3요소

1. Membership: 관계에 참여한 각각 엔터티 관점에서 관계를 표현

2. Cardinality: Relationship Paring 분석을 통해 다중성 표시

3. Optionality: 필수적인지 선택적인지 표시

 

관계 정련

1. M:M 관계

- 관계 엔터티 생성

- 속성/식별자에 의한 통합

 

2. 하나의 엔터티에서 Occurrence가 1:M 관계를 맺음

- 1:M 자기 참조 관계

 

3. 하나의 엔터티에서 Occurrence가 1:1 관계를 맺음

- 1:1 자기 참조 관계

 

4. 둘 이상의 상위 엔터티로부터 동일한 역할의 외부 식별자를 선택적으로 받아오는 Arc 관계

- 관계 Role Name을 주어 하나의 속성으로 관리

 

 

 

식별자

- 엔터티 내에서 Occurrence를 구분할 수 있는 구분자

 

식별자 분류

1. 주 식별자(PK): 엔터티 내 각 Occurrence 구분

2. 보조 식별자: 엔터티 내 각 Occurrence 구분이 가능하나 대표성을 가지지 못함

3. 내부 식별자: 엔터티 내부에서 스스로 만들어지는 식별자

4. 외부 식별자(FK)

 

식별자 규칙

1. 유일성: Occurrence를 유니크하게 구별할 수 있는 속성

2. 최소성: 최소한의 속성으로 구성

3. Not Null

4. 값이 변경될 수 없음

 

식별자 관계

- 부모 엔터티 타입의 주식별자를 상속받아 자식 엔터티 타입의 주식별자로 사용하는 경우

- 부모 엔터티 없이 자식 엔터티 생성 불가

 

비식별자 관계

- 부모 엔터티 타입으로 부터 속성을 받았지만 자식 엔터티 타입의 주 식별자로 사용하지 않고 일반적인 속성으로 사용하는 경우

- 부모 없이 자식 생성 가능

 

 

속성

- 업무에 필요한 엔터티에서 관리하고자 하는 더 이상 분리되지 않는 최소의 데이터 단위

 

속성 분류

1. 기본속성: 업무상 수집된 속성

2. 설계속성: 업무에 필요한 정보를 주기 위한 속성

3. 파생속성: 다른 속성에 의해 만들어진 속성 ➡️ 비즈니스 규칙 파악 용이, 데이터 전환 설계 시 검증 규칙으로 활용

 

 

표기법

 

 

 

정규화

- 어려 유형의 검사를 통해 데이터 모델을 구조화하고 개선시키는 절차

- 테이블에 중복된 데이터가 없도록 함

 

필요성

- 데이터처리에 있어 입력, 수정, 삭제의 이상현상 제거

- 중복된 데이터가 제거되어 프로그램 단순화

- 다양한 유형의 검사를 통해 데이터 모델을 구조화

 

함수의 종속성

- 데이터들이 어떤 기준 값에 의해 종속되는 현상

기준값: 결정자(Determinant) - 종속값: 종속자(Dependent)

ex) 결정자(주민등록번호) - 종속자(이름, 출생지, 주소)

 

정규화 단계

1차 정규화 복수의 속성값을 갖는 속성 분리
- 한 컬럼에는 여러 개의 데이터 값이 중복되어 나타나지 않아야 함
2차 정규화 주식별자 전체에 종속적이지 않은 속성 분리
부분종속 분리
3차 정규화 일반속성에 종속적인 속성 분리
이전종속 분리
보이스-코드 정규화(BCNF) 주식별자 안에서 함수적 종속관계 발생
다수 주식별자 분리 > 식별자 간에 종속성이 있는 경우 별도의 엔터티로 분리
4차 정규화 다가종속 속성 분리
- 여러 값을 중복으로 삽입해야 하는 종속 제거

 

 

상관 모델링

- 데이터와 프로세스의 영향을 분석하는 것

- 데이터 모델링 작업을 통한 엔터티 타입과 프로세스 모델링에서 도출한 단위 프로세스를 이용하여 작업을 진행

 

목적

- 프로세스 모델과 데이터 모델의 정합성을 검증하여 중복되거나 누락되는 엔터티와 프로세스 도출

 

산출물

CRUD 매트릭스 엔티티와 프로세스의 상관관계 표현
DFD(Data Flow Digram) 데이터가 프로세스를 따라 흐르면서 변환되는 과정을 표현한 것
화면정의서 화면을 통해 데이터의 모델의 엔터티, 속성 도출
빠짐없이 누락되지 않게 화면과 데이터 도출

 

'IT > CS' 카테고리의 다른 글

[DB] 데이터 모델링의 이해 - 물리 모델링 절차  (0) 2022.04.24
[JavaScript] 자바스크립트 비동기적 프로그래밍  (0) 2021.12.07
[Architecture] MSA  (0) 2021.09.28
[Java] Lambda expression  (0) 2021.09.28
[JavaScript] jQuery  (0) 2021.08.22