정보처리기사/데이터베이스 활용

데이터베이스 정규화 과정

glorypang 2025. 10. 11. 16:23
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