▶ 논리적 데이터베이스 설계란?
논리적 데이터베이스 설계는 현실 세계의 데이터를 추상화하여 **엔티티(Entity)**와 **관계(Relationship)**로 표현하는 과정입니다. 이는 물리적인 저장 방식과는 독립적으로, 데이터 간의 의미적 연결을 정의하는 단계입니다.
주요 목표:
- 데이터 모델링: 현실 세계의 데이터를 추상화하여 엔티티와 관계로 표현
- 개념적 스키마 생성: 시스템의 요구사항을 충족하는 개념적 스키마를 생성
- 데이터 무결성 보장: 데이터의 정확성과 일관성을 유지하기 위한 제약 조건 설정
논리적 설계의 중요성
- 데이터의 명확한 정의: 데이터의 의미와 역할을 명확하게 정의하여 시스템 개발에 대한 이해를 높입니다.
- 데이터베이스 설계의 기반: 물리적 데이터베이스 설계의 기반이 되어 효율적인 데이터 저장과 관리를 가능하게 합니다.
- 시스템 유지보수 용이: 시스템 변경 시 논리적 설계를 기반으로 변경 작업을 수행하여 시스템의 안정성을 확보합니다.
논리적 설계 과정
- 요구사항 분석: 시스템 사용자의 요구사항을 분석하여 필요한 데이터와 기능을 파악합니다.
- 엔티티 식별: 현실 세계의 개체(사람, 사물, 개념 등)를 엔티티로 추출합니다.
- 속성 식별: 각 엔티티의 특징을 나타내는 속성을 정의합니다.
- 관계 식별: 엔티티 간의 관계를 파악하고 종류(1:1, 1:N, N:M)를 정의합니다.
- 개념적 스키마 생성: 엔티티, 속성, 관계를 ER 다이어그램과 같은 도구를 이용하여 시각적으로 표현합니다.
- 무결성 제약 조건 정의: 데이터의 정확성을 보장하기 위한 제약 조건(주키, 외래키, NOT NULL 등)을 설정합니다.
구분 |
논리적 설계 |
물리적 설계 |
수준 |
개념적 수준 |
구현 수준 |
대상 |
데이터의 의미와 관계 |
데이터의 저장 방식과 접근 방법 |
도구 |
ER 다이어그램, UML |
DBMS, 스키마 정의 언어 |
목표 |
데이터 모델링, 시스템 요구사항 충족 |
성능 최적화, 저장 공간 효율화 |
댓글 영역