<aside> 📖
학습 목표
논리적 모델링(Logical Data Modeling)은 사용자의 요구사항을 기반으로 식별된 엔티티와 속성 간의 관계를 정형화된 구조로 표현하는 과정이다. 물리적 구현(DBMS, 테이블 등)과는 분리된 추상화 단계로, ERD(Entity Relationship Diagram) 도구를 활용해 시각적으로 모델을 설계한다.
개념적 모델링 → 논리적 모델링 → 물리적 모델링
| 목적 | 설명 |
|---|---|
| 데이터 구조의 명확화 | 엔티티, 속성, 관계를 시각적으로 표현 |
| 중복 최소화 | 동일 데이터의 중복 정의 방지 |
| 도메인 정의 | 각 속성이 가질 수 있는 값의 범위 제한 |
| 개발 표준 수립 | 개발자 간의 이해 통일 및 협업 기반 마련 |
논리적 모델링은 ERD 툴을 사용해 아래와 같은 요소들을 정의한다:
<aside> 💡
논리적 모델은 DB 설계 이전 단계이므로, DBMS에 종속되지 않으며, 어떤 시스템에서도 동일한 논리 구조를 공유할 수 있다는 것이 핵심입니다.
</aside>
속성은 엔티티가 가지는 구체적인 데이터 항목이다. 예를 들어 회원(Member)이라는 엔티티는 이름(name), 이메일(email), 전화번호(phoneNumber)와 같은 속성을 가진다.
| 요소 | 설명 | 예시 |
|---|---|---|
| 속성명 | 속성의 이름 | name, email, created_at |
| 도메인 | 허용되는 값의 범위 | 'Y'/'N', 숫자(0~100), 문자열 |
| 데이터 타입 | 실제 데이터 형식 | varchar, int, date |
| 제약조건 | null 허용 여부, unique 여부 등 | NOT NULL, UNIQUE, DEFAULT 등 |