객체적 논리 모델링은 현실 세계를 데이터베이스에 표현하기 위해, 업무적 규칙과 데이터 성격을 논리적으로 정의하는 단계입니다.
물리적 모델링(테이블 생성, 인덱스 등) 이전에 수행되며, 핵심은 "무엇을" 저장할지이지 "어떻게" 저장할지는 아닙니다.
---
1. 핵심 산출물 (대표 3가지)
· ERD (개체-관계 다이어그램): 개체(Entity)와 관계(Relationship)를 시각화한 표준 설계도입니다.
· 정규화된 테이블 정의서: 속성(Attribute)과 도메인(데이터 타입, 길이)을 정의합니다.
· 비즈니스 규칙 명세서: 유일성, 필수값, 참조 무결성 등의 제약사항을 문서화합니다.
---
2. 수행 절차 (4단계)
1. 엔터티 정의: 핵심 업무 대상(회원, 주문, 상품 등)을 식별하고, 식별자(PK)를 지정합니다.
2. 속성 정의: 각 엔터티가 가져야 할 정보(이름, 금액, 날짜 등)를 도출하고 도메인을 할당합니다.
3. 관계 정의: 엔터티 간 연관성(1:N, N:M)과 참조 무결성(FK) 규칙을 설정합니다.
4. 정규화 적용: 데이터 중복을 제거하고 이상현상을 방지하기 위해 제3정규형(3NF)까지 진행합니다.
---
3. 객체적(객체지향) 모델링과의 차이점
· 객체적 모델링은 행위(메서드)와 상태를 함께 캡슐화하며, 상속/다형성을 중시합니다 (UML 클래스 다이어그램).
· 논리적 모델링은 데이터의 구조와 무결성에 집중하며, 행위는 배제된 순수 데이터 관점입니다.
---
4. 주의할 점
· 업무 규칙을 빠뜨리면 물리 설계 단계에서 큰 수정이 발생합니다.
· 다대다(N:M) 관계는 반드시 해소(교차 엔터티 생성)해야 논리적 모순이 없습니다.
· 정규화는 성능을 위해 선택적 비정규화가 가능하나, 이는 논리보다는 물리 단계에서 고려합니다.