sql

김무영·2024년 3월 12일

정규화(normalizaition)

  • DB에서 발생할 수 있는 이상현상을 최소화하기 위해서 relation을 적절하게 분리하는 작업

    • 삽입 이상(insert) : 데이터를 insert할 때 의도한 값으로 insert가 되지 않는 현상.
    • 삭제 이상(delete) : 레코드 삭제시 원치 않는 다른 컬럼의 값까지 같이 삭제되는 현상
    • 갱신 이상(update) : 레코드(tuple)의 컬럼 값을 변경하는 데, 일부 레코드만 변경되어 데이터가 일치하지 않는 현상
  • 정규화는 영국에 edgar f codd가 1970년 정규화(1NF)의 개념을 도입.

    • 무정규테이블 ( 정규화가 진행되지 않은 테이블 )
      • 1정규화( 1NF ) : 도메인의 원자성
      • 2정규화( 2NF ) : 부분 함수 종속 제거
      • 3정규화( 3NF ) : 이행 함수 종속 제거
      • 보이스-코드 정규화 ( BCNF ) : 결정자가 후보키가 아닌 것을 제거
      • 4정규화( 4NF ) : 다치 종속제거
      • 5정규화( 5NF ) : 조인 종속제거
  • 정규화가 진행 될 수록 테이블이 나눠진다.

  • 역 정규화는 데이터의 중복을 감수하고, 속도향상을 위해서 사용함.

  • 3정규화까지 진행되면 , 정규화가 완료되었다 라고 한다.

  • 결정자 : 의미 있는 레코드를 검색하기 위해서 사용하는 값.

  • 종속자 : 비교 당하는 값

0개의 댓글