Programing_Java
[SQLD] Data Modeling 본문
#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 |