티스토리 뷰

728x90
반응형

데이터베이스 구축 - 논리 데이터베이스

  • 정규화 (Nomarlization)
    - 잘 못 설계된 관계형 스키마를 더 작은 속성의 세트로 쪼개어 바람직한 스키마로 만들어 가는 과정
    - 하나의 종속성이 하나의 릴레이션에 표현될 수 있도록 분해하는 과정
    - 논리적 설계 단계의 수행
    - 데이터 중복성 최소 , 이상의 발생 방지 , 저장 공간의 최소화 , 일관성 보장, 데이터 정확성 증가
    - 정규화 수준이 높을수록 유연한 데이터 구축 가능 , 정확성 상승 , 물리적 접근 복잡 , 조회 성능 저하
  •  정규화의 목적
    - 데이터 구조의 안정성 및 무결성 유지
    - 효과적인 검색 알고리즘 생성
    - 중복 배제 , 이상(Anomaly)의 발생 방지 , 저장 공간의 최소화
    - 자료 검색과 추출의 효율성 추구

  • 이상(Anomaly) 의 개념 및 종류
    - 정규화를 거치지 않으면 DB내에 데이터를들이 불필요하게 중복 되어 의도와 상관없이 삽입 , 삭제 , 갱신 이상 일어나는 현상


이상(Anomaly) 현상 종류

  • 삽입 이상(Insertion Anomaly) 
    - 데이터를 삽입 시 의도와는 상관없이 원치 않는 값들도 함께 삽인 되는 현상
  • 삭제 이상(Deletion Anomaly)
    - 한 튜플을 삭제 시 의도와는 상관없는 값들도 함께 삭제되는 현상
  • 갱신 이상(Update Anomaly)
    - 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상


  1. 정규화의 원칙
    - 정보의 무손시 표현(즉, 하나의 스키마를 다른 스키마로 변환 할때 정보의 손실이 있어서는 안됨)
    - 분리의 원칙 ( 즉 하나의 독립된 관계성은 하나의 독립된 릴레이션으로 분리시켜 표현해야 함)
    - 데이터의 중복성이 감소되어야 함

  2. 함수적 종속(Functional Dependency)
    - 함수적 종속이란 어떤 릴레이션 R이 있을때 X와 Y를 각각 속성의 부분집합이라고 가정한다.
    이때 X의 값을 알면 Y의 값을 바로 식별할 수 있고, X의 값에 Y의 값이 달라질 때 , Y는 X에 함수적 종속이라고 함
    [' X -> Y' 는 결정자 : X , 종속자 Y ]


  • 정규화 과정
    1NF - 1차 정규형 (제1정규형) : 도메인이 원자값
    - 릴레이션에 속한 모든 도메인이 원자값만 으로 되어 있는 정규형
    - 릴레이션의 모든 속성값이 원자값으로만 되어 있는 정규형

    2NF - 2차 정규형 (제2정규형) : 부분적 함수 종속 제거
    - 릴레이션이 R이 1NF고 , 기본키가 아닌 모든 속성이 기본키에 대해 완전 함수 종속을 만족하는 정규형

    3NF - 3차 정규형(제3정규형) : 이행적 함수 종속 제거
    - 릴레이션이 R이 2NF이고 , 기본키가 아닌 모든 속성이 기본키에 대해 이행적 종속을 만족하지 않는 정규형
    [ A -> B 이고, B -> C 일때 A -> C를 만족하지 않음]

    BCNF - BCNF 정규형 : 결정자이면서 후보키가 아닌것 제거
    - 릴레이션 R에서 결정자가 모든 후보키인 정규형
    - 모든 BCNF가 종송성을 보존하는 것은 아님

    4NF - 제4정규형 : 다치종속 제거
    - 릴레이션 R에 다치 종속 A -> B 가 성립하는 경우 , R의 모든 속성이 A에 함수적 종속 관계를 만족하는 정규형

    5NF - 제5정규형 : 조인 종속
    - 릴레이션 R의 모든 조인 종속이 R의 후보키를 통해서만 성립되는 정규형




728x90
반응형
댓글