[데블챌 4일] 데이터 모델링 - 정규화
들어가며,
-
데이터 블로그 챌린지(데블챌 2기) 4일차입니다.
-
14일 간 블로그 게시글을 올리면서 글 쓰는 습관을 들여보려 합니다.
목차
-
요약
-
정규화가 필요한 이유
-
정규화 종류
-
제1정규화
-
제2정규화
-
제3정규화
-
업무에 자주 쓰이는 데이터 모델링 개념과 느낀 점을 기록하기 위해 데이터리안 게시글을 읽고 정리해봤습니다.
- 알아두면 쓸데있는 데이터 모델링 (1) 정규화
페이지 링크
요약
데이터베이스 테이블을 잘못 쌓으면 어떤 문제가 생길지 생각하면 정규화가 필요한 이유를 알게됩니다.
게시글에서 예시로 보여준 문제가 생기는 카페 매출 테이블입니다.
-
정규화가 필요한 이유
첫 번째, 중복 저장, 불 필요한 업데이트 문제가 발생합니다. (갱신이상)
두 번째, 새 데이터를 추가될 때 문제가 생깁니다. (삽입이상)
세 번째, 삭제되면 안되는 정보가 삭제되는 문제가 생깁니다. (삭제이상)
-
정규화 종류
-
제1정규화
테이블 셀 내 중복과 속성 간 중복을 제거한 뒤 관계 테이블로 묶어 나눕니다. 관계 테이블끼리는 기본키로 관계를 식별할 수 있어야 합니다.
-
제2정규화
후보 키가 아닌 속성은 후보 키 전체에 종속되어야 합니다. 일부 후보 키에만 종속적인 속성이 있다면 별도 테이블로 분리해야합니다.
-
제3정규화
제2정규화를 충족하면서 후보 키가 아닌 다른 속성에 종속되었을 수 있습니다. 다른 속성에 종속되었을 경우 별도 테이블로 분리해야합니다.
-
[한줄 인사이트]
데이터 모델링의 기본 개념인 정규화를 정리하기 좋은 게시글이었습니다.
정규화 적용된 테이블만 보다보면 이런 문제점들을 잊게 되는데 정리하는 관점에서 읽기가 좋았습니다.
반대로 다른 작업자가 만든 테이블을 보면서 게시글의 예시처럼 정규화 과정을 생각해볼 수 있겠습니다.
추가로 ‘핵심 데이터 모델링’ 이라는 책을 추천해주셔서 다음 기회에 읽고 정리해보는 게시글을 남겨보려 합니다.
Reference
- 윤선미, 알아두면 쓸데있는 데이터 모델링 (1) 정규화, 데이터리안, 2024 ( https://datarian.io/blog/database-normalization )