[Database] 데이터베이스의 정규화

Jung Wish·2021년 1월 10일
0

데이터베이스

목록 보기
5/6
post-thumbnail

데이터베이스의 정규화

데이터베이스 정규화란? 🐰

  • 관계형 데이터베이스의 설계에서 중복을 최소화하게 데이터를 구조화하는 프로세스를 정규화(Normalization)라고 합니다. - 위키백과
  • 테이블 간 데이터 조작(삽입, 수정, 삭제) 시 발생 할 수 있는 이상 현상줄이기 위해 하는 작업입니다.

정규화의 과정 🐰🐰

  • 정규화의 과정은 1NF~6NF까지 있으나, 통상적으로 3NF까지 진행하면 정규화가 되었다고 합니다. ➡️ 3NF까지 진행된 테이블은 중복이 사라진 형태인 경우가 많으며 BCNF, 4NF, 5NF를 만족하기 때문입니다.(6NF 제외)

1NF

  • 각 속성 마다 값이 1개씩만 존재하도록 하는 과정입니다. ➡️ 원자화

2NF

  • 테이블의 기본키가 복합키로 구성 되어있을 때 고려해야하는 정규화 과정으로 부분적 종속 요소를 제거하여 모든 속성이 완전 함수 종속이 되도록 합니다.


    이미지 출처: 구루비 커뮤니티
    ➡️ 완전 함수 종속 : 속성(A, B, C, D)에서 B가 A 종속되지만 (C, D)에는 종속되지 않는 상태를 말합니다.

3NF

  • 테이블 내에서 이행적 요소의 함수적 종속을 제거하는 작업입니다. 2NF와는 달리 복합키 이외의 속성에서 함수적 종속이 나타나는 부분을 제거합니다.


    이미지 출처: 구루비 커뮤니티

BCNF

  • 후보키가 아닌 결정키를 모두 제거하는 과정입니다.

4NF

  • 다가 종속을 제거하는 과정입니다.

5NF

  • 조인 종속을 제거하는 과정입니다.

Reference

profile
Frontend Developer, 올라운더가 되고싶은 잡부 개발자, ISTP, 겉촉속바 인간, 블로그 주제 찾아다니는 사람

0개의 댓글