728x90
반응형
SMALL
1. 개념 설계 (Conceptual Design)
- 정의: 현실 세계의 요구사항을 데이터 모델로 추상화하는 과정.
- 주요 활동:
- ERD(Entity-Relationship Diagram) 작성 → 엔터티, 속성, 관계 정의
- 예:
- 회원(회원ID, 이름, 전화번호)
- 상품(상품ID, 상품명, 가격)
- 주문(주문ID, 주문일, 회원ID, 상품ID)
- 관계: 회원 ↔ 주문 ↔ 상품
- 목표 DBMS에 맞는 스키마 설계 : 계층형 ,관계형 ,객체 관계형 등
👉 목표: 무엇을 저장할지 큰 그림을 설계
2. 논리 설계 (Logical Design)
- 정의: 개념 모델을 관계형 스키마로 변환하고, 정규화를 통해 중복·이상 현상을 제거하는 단계.
- 주요 활동:
- 정규화(Normalization) 수행 → 테이블을 더 세분화 (1NF, 2NF, 3NF, BCNF 등)
- 트랜잭션 설계 (어떤 데이터 조작이 일어나는지 정의)
- 인터페이스 설계 (입출력 방식 고려)
👉 목표: 데이터 무결성 보장, 중복 최소화
3. 물리 설계 (Physical Design)
- 정의: 실제 DBMS에 최적화된 구조를 만드는 과정.
- 주요 활동:
- 성능 최적화 (인덱스, 파티션, 클러스터링 등)
- 필요한 경우 반정규화(Denormalization) → JOIN이 너무 많아져 성능 저하 발생 시, 테이블을 합치거나 중복 허용
- 반정규화는 최후의 수단 → 인덱스, 파티셔닝, 클러스터링 등을 먼저 시도 후 적용
- 저장 레코드 양식 설계 : 데이터가 디스크에 어떻게 저장될지 레코드 구조 정의
- 레코드 집중의 분석 및 설계 : 어떤 레코드(테이블)를 묶어서 저장할지, 접근 효율을 높이기 위한 데이터 집중화 방식 결정
- 접근 경로 설계 : 인덱스, 해시, 클러스터링 등 실제 데이터 접근 방법 설계
- 특정 DBMS에 맞는 스키마 설계 : 오라클, MySQl 등
👉 목표: 성능과 효율성을 확보
728x90
반응형
LIST