데이터베이스 정규화

citron03·2022년 2월 12일
0
  • 데이터베이스의 정규화는 설계와 관련이 있다.
  • 데이터베이스의 설계에 따라서 데이터가 어떻게 저장될지 그 구조를 정할 수 있다.
  • 데이터베이스의 정규화를 위해서 Data redundancy, Data integrity, Anomaly를 지켜야 한다.

Data redundancy

  • 실제 데이터의 동일한 복사본, 또는 부분적인 복사본을 의미한다.
  • 이를 통해서 데이터를 복구하는 데 도움이 될 수 있다.
  • 하지만, 일관된 데이터 처리의 어려움, 저장 공간의 낭비, 데이터의 효율성 감소와 같은 문제점이 있다.

Data integrity

  • 데이터 정규화를 통해서 데이터의 무결성을 강화한다.
  • 데이터의 수명주기동안 정확성과 일관성을 유지한다.
  • 데이터의 오염없이 입력된 데이터를 그대로 사용할 수 있다.

Anomaly

update anomaly (갱신 이상)

  • 여러 행(레코드)에 걸쳐서 동일한 데이터가 있을 때, 어떤 행을 선택해 수정해야 할지 논리적인 일관성이 없을 때 발생한다.
    👔 예를 들어, primary key로 id가 있는 column이 있을 때, 동일한 id를 갖는 레코드가 있다면, 원치 않는 결과가 발생할 수 있다.

insertion anomaly (삽입 이상)

  • 데이터를 삽입하지 못하는 경우이다.
    🧤 not NULL인 name이라는 레코드가 있을 때, 이 열에 데이터를 삽입하고자 한다면, name이 없는 데이터의 삽입은 에러가 발생한다.

deletion anomaly (삭제 이상)

  • 데이터의 특정 부분을 삭제할 때, 원하지 않았던 데이터의 삭제도 함께 일어나는 경우를 말한다.

참고 자료 출처 : 코드 스테이츠

profile
🙌🙌🙌🙌

0개의 댓글