Programing_Java

[SQLD] Data Modeling 본문

SQL_

[SQLD] Data Modeling

Joyfullyever 2025. 2. 9. 19:30

#1 Data Modeling?

: 현실 세계를 데이터 베이스로 표현하기 위해 추상화

: 고객과의 의사소통을 통해 고객의 업무 프로세스를 이해해야함 → 이해 후, 데이터 모델링 표기법을 사용해 모델링 Ex) ERP

: 고객이 쉽게 이해하도록 복잡하지 않게 모델링

: 고객의 업무 프로세스를 추상화, 소프트웨어 분석, 설계하면서 점점 더 상세해짐

: 고객의 비즈니스 프로세스를 이해하고 비즈니스 프로세스 규칙을 정의, 정의된 규칙을 데이터 모델로 표현

 

#2 Data Modeling 특징

추상화 : 공통적인 특징을 찾고 간략하게 표현

단순화 : 복잡한 문제를 피하고 누구나 이해할 수 있게 표현

명확 : 의미적 해석이 모호하지 않고 명확하게

 

#3 Data Modeling 단계

1. 개념적 모델링 Conceptual Data Modeling → 컨셉 개념

: 고객의 비즈니스 프로세스를 분석하고 업무 전체에 대한 모델링을 정함

: 복잡하게 표현 X, 중요한 부분을 위주로 모델링하는 단계

: 엔터티(Entity)와 속성(Attribute)을 도출, 개념적 ERD 작성

→ Entity : 실체, 객체라는 의미 ⇒ 업무에 필요하고 유용한 정보를 저장, 관리하기 위한 집합적인 것, 명사에 해당

: 업무상 관리가 필요한 관심사에 해당

 

2. 논리적 모델링 Logical Data Modeling → 모델의 독립적인 특성을 만드는 과정

: 개념적 모델링을 논리적 모델링으로 변환하는 작업

: 식별자 도출, 필요한 모든 관계를 정의

: 정규화를 수행하여 데이터 모델의 독립성을 확보 → 정규화의 기본 목표 : 테이블간의 중복된 데이터를 허용 X

⇒ 기본 목표로 인해 무결성(Integrity)을 유지할 수 있고, DB의 저장 용량을 줄일 수 있음

 

3. 물리적 모델링 Physical Modeling

: DB를 실제 구축, 테이블˙인덱스˙함수 등을 생성

: 성능, 보안, 가용성을 고려해 구축

 

#4 Data Modeling 관점

관점 설명
데이터 비즈니스 프로세스에서 사용되는 데이터
구조 분석, 정적 분석
프로세스 비즈니스 프로세스에서 수행되는 작업
시나리오 분석, 도메인 분석, 동적 분석
데이터와 프로세스 프로세스와 데이터 간의 관계
CRUD 분석 → Create, Read, Update, Delete

 

#5 Data Modeling을 위한 ERD (Entity Relationship Diagram) → Software적

: Entity와 Entity 간의 관계를 정의하는 모델링 방법

 

#6 ERD 작성 절차

1. Entity 도출하고 그림

: 업무에서 관리해야하는 집합을 도출

2. Entity 배치

: 중요한 Entity를 왼쪽 상단에 배치

3. Entity 간의 관계를 설정

4. 관계명 서술

: Entity간의 어떤 행위나 존재가 있는지 표현 → 화살표로 표현하고 어떤 기능을 실행하는지 작성

5. 관계 참여도 표현

: 한개의 Entity와 다른 Entity 간의 참여하는 관계수를 의미

Ex) 고객이 여러개의 계좌를 개설할 수 있다.

6. 관계의 필수 여부 표현

: 필수는 반드시 존재해야 하는 것

Ex) 모든 고객은 반드시 하나의 계좌를 개설해야 한다.

예제 이미지

 

#7 Data Modeling 고려사항

1. 데이터 모델의 독립성

: 독립성이 확보된 모델은 고객의 업무변화에 능동적으로 대응 가능

: 독립성 확보를 위해선 중복된 데이터를 제거해야 함 → 정규화

2. 고객 요구사항의 표현

: 데이터 모델링으로 고객과 데이터 모델러 간에 의사소통을 할 수 있어야 하기에, 고객의 요구사항을 간결하고 명확하게 표현

3. 데이터 품질 확보

: DB 구축 시, 데이터 표준을 정의, 표준 준수율을 관리해야 함.

: 데이터 표준을 확보해야 데이터 품질을 향상 시킬 수 있음

'SQL_' 카테고리의 다른 글

[SQLD] 속성과 엔터티 식별자  (0) 2025.02.10
[SQLD] 스키마와 엔터티  (0) 2025.02.10
[SQLD] SQL Developer 설치 및 Oracle DB 연결  (0) 2025.02.08
[SQLD] Docker, Oracle DB 설치  (0) 2025.02.07
[SQLD] SQLD 자격증 공부 #1  (1) 2025.02.05