DB 정규화란?

Ena JJJ·2023년 9월 10일
0

DB 정규화

테이블 간 중복된 데이터를 허용하지 않는 것

장점 - 무결성 유지, DB의 저장 용량 감소, 불필요한 서브 쿼리 제거로 성능 향상

단점 - relation의 분해로 인해 join 연산이 많아져 응답 시간이 느려질 수 있음


DB 데이터 무결성 종류와 설명

  • 개체 무결성 : 모든 테이블은 기본키를 가져야 하며, 기본키를 구성하는 속성으로 Null과 Unique Key가 있다. 각각 Null 값이나 중복된 값을 가질 수 없다.
  • 참조 무결성 : 참조 관계에 있는 두 테이블의 데이터가 항상 일관된 값을 갖도록 유지되어야 한다. 외래키 값은 Null이거나 참조하는 테이블의 기본키 값과 동일해야 한다.
  • 도메인 무결성 : 데이터의 타입에 맞아야 한다.
  • NULL 무결성 : 테이블의 특정 속성 값은 Null이 될 수 없도록 제한했다면 해당 속성에 Null이 있으면 안된다.
  • 고유 무결성 : 테이블의 특정 속성에 대해 고유한 값을 가지도록 조건이 주어진 경우, 각 레코드가 가지는 값들이 달라야 한다.

DB 무결성을 지켜야 하는 이유

  • 데이터의 정확성, 일관성, 유효성이 유지되는 것
  • 무결성 설계가 되지 않으면 중복된 데이터 존재, 부모 자식 데이터 간의 논리적 관계 깨짐, 잦은 에러, 재개발 비용 발생 문제

0개의 댓글