1. 데이터 모델링의 개념 및 단계별 수행내용
가. 데이터 모델링의 개념
현실 세계의 업무 프로세스를 분석하여 데이터 기반의 객체(Entity)와 관계(Relationship)로 추상화, 개념화하는 과정입니다.
데이터의 무결성, 일관성, 공유성을 보장하며 정보시스템 구축의 가이드라인 역할을 수행합니다.
나. 모델링 단계별 수행내용
| 단계 | 수행 내용 | 주요 산출물 |
| 개념 모델링 (Conceptual) | 핵심 엔티티 도출 및 엔티티 간의 관계(ERD) 정의. 사용자 요구사항의 추상화 단계 | 주제 영역 모델, 개념 ERD |
| 논리 모델링 (Logical) | 정규화(1, 2, 3차 등)를 통한 중복 제거, 속성 정의, 식별자 확정. DBMS 독립적인 상세 설계 | 상세 ERD, 데이터 사전 |
| 물리 모델링 (Physical) | 특정 DBMS 특성 반영, 테이블명/컬럼명 확정, 인덱스 설계, 파티셔닝, 반정규화 검토 | 테이블 정의서, 스키마 |
2. 식별(Identification)과 비식별(Non-Identification) 관계 비교
엔티티 간의 부모-자식 관계 설정 시 주식별자의 상속 여부에 따라 구분됩니다.
가. 관계 유형별 상세 비교
| 구분 | 식별 관계 (Identification) | 비식별 관계 (Non-Identification) |
| 개념 | 부모의 주식별자가 자식의 주식별자의 일부로 상속되는 관계 | 부모의 주식별자가 자식의 **일반 속성(FK)**으로 상속되는 관계 |
| 강결합성 | 강한 연결 관계 (부모 없이 자식 존재 불가) | 약한 연결 관계 (부모 없이 자식 존재 가능) |
| ERD 표기 | 실선 (Solid Line) | 점선 (Dashed Line) |
| SQL 영향 | 조인 최소화(자식만 조회해도 부모 ID 알 수 있음) | 조인 증가(부모 정보 조회를 위해 필수 조인) |
| 문제점 | 주식별자 속성 개수 증가로 인한 복잡도 상승 | 참조 무결성(RI) 유지 및 데이터 정합성 관리 부담 |
3. 데이터 모델링 시 주요 고려사항
성능과 품질을 동시에 확보하기 위해 다음의 요소들을 균형 있게 검토해야 합니다.
데이터 무결성(Integrity):
실무적인 비즈니스 규칙이 모델에 반영되어야 하며, 제약조건(Check, Not Null 등)을 통해 정합성을 유지해야 합니다.
정규화와 반정규화의 조화:
기본적으로 3차 정규화까지 수행하여 데이터 중복을 최소화하되, 조회 성능이 극도로 중요한 경우 전략적 반정규화(Denormalization)를 검토합니다.
유연성과 확장성:
향후 업무 변경이나 데이터량 증가에 대비하여 엔티티 구조를 유연하게 설계하고, 데이터 타입 및 길이를 충분히 고려합니다.
표준화 준수:
전사 데이터 표준(용어, 단어, 도메인)을 준수하여 데이터 공유 및 시스템 간 통합을 용이하게 합니다.
성능 최적화(Performance):
대용량 데이터 처리를 위한 적절한 인덱스 전략, 파티셔닝, 물리적 저장 구조(Table Space) 배치를 고려합니다.
4. 기술사적 제언: '데이터 중심 설계'로의 패러다임 전환
전통적인 RDBMS 모델링은 안정성이 강점이지만, 현대의 급변하는 IT 환경에서는 다음과 같은 대응이 필요합니다.
동적 스키마 대응: 비정형 데이터 처리가 필요한 영역은 NoSQL 모델링과 혼합한 Polyglot Persistence 아키텍처를 고려해야 합니다.
데이터 거버넌스 연계: 모델링 단계에서 개인정보 보호(PbD)를 고려한 가명화/암호화 필드 설계를 포함하여 법적 준거성을 확보해야 합니다.
모델 중심의 소통: ERD는 단순한 문서를 넘어 현업과 개발자 사이의 유일한 **'진실의 원천(Single Source of Truth)'**이 되도록 지속적으로 현행화되어야 합니다.
댓글 없음:
댓글 쓰기