본문 바로가기

Back_end/-----------DB------------

[ DB ] 정규화 (수정중)

정규화



  • 정의 :

    • 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화라고 한다.

    • 일반적으로 정규화란 크고, 제대로 조직되지 않은 테이블들과 관계들을 작고 잘 조직된 테이블과 관계들로 나누는 것을 포함한다.

    • 관계 Schema의 데이터구조를 수학적 이론을 적용, 분석하여 보다 나은 데이터구조로 재구축하는 관계 Schema 설계방법론.

  • 데이터베이스 정규화의 목표 :

    • 이상이 있는 관계를 재구성하여 작고 잘 조직된 관계를 생성하는 것에 있다.

  • 정규화의 목적 :

    • 하나의 테이블에서의 데이터의 삽입, 삭제, 변경이 정의된 관계들로 인하여 데이터베이스의 나머지 부분들로 전파되게 하는 것이다.



▶ 정규화
  • 제1 정규화 - 반복그룹제거

    • 각 테이블에서 중복을 제거한다.

    • 각각 관계된 데이터 모임을 위하여 분리된 테이블을 만든다.

    • 각각 관계된 데이터 모임을 기본키로 식별한다.

  • 제2 정규화 - 부분 함수적 종속성 - 키가 아닌 열이 합성키(집합키)의 일부 종속 제거

    • 모든 비기본 속성(non-prime attribute; 후보 키에 속하지 않은 속성)들이 후보 키에 속한 속성들 전체에 함수 종속인 경우에 한해서 1NF 테이블은 2NF이다.

  • 제3 정규화 - 이행적 함수적 종속성 - 키가 아닌 열이 키를 제외한 열에 종속 제거

    • 제3 정규형은 추이 종속이 존재하지 않음을 요구한다.




데이터베이스 이상(Anomaly) 종류 및 개념

  • 갱신이상 :릴레이션에 데이터를 삽입할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입하는 현상

  • 삽입이상 : 릴레이션에 데이터를 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는 연쇄삭제현상

  • 삭제이상 :릴레이션에서 튜플에 있는 속성 값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 모순이 생기는 현상




참고사이트: 위키피디아

'Back_end > -----------DB------------' 카테고리의 다른 글

[ DB/DBMS ] DB 와 DBMS  (0) 2018.07.28