안녕하세요, 유튜브에서 데이터모델링를 보고 학습한 자료를 남깁니다.
1. DB 설계의 핵심은 '중복 없애기'
예를 들어서 사용자의 이름이 변경이 되면
게시글의 작성자는 잘못된 정보를 가지고 있게 된다.
그래서 데이터를 지우면 이런 게시글과 같은 테이블의 작성자도 전부 다 고쳐줘야 한다.
만일 게시글 테이블의 작성자 중 변경되지 못한 작성자가 있으면 사용자 테이블에서 찾을 수가 없게 된다.
이러한 문제가 발생하는 이유는 '데이터 중복' 때문이다.
실수로 중복된 데이터를 누락해서 수정을하지 않는 경우가 발생하면 데이터들 사이에 모순이 생긴다.
모순이 생기면 이상현상이 발생하게 된다. 이와 같은 이상은 갱신 이상이라고 한다.
이런 문제를 해결하기 위해 만들어낸 DB 설계 방법이 정규화(Normalization)이다.
2. 정규화(Normalization)란?
데이터들 사이에서 발생한 모순의 근본적인 원인이 '데이터 중복'이라고 했다.
이런 문제를 해결하려면 데이터 중복을 없애면 된다. DB를 설계하면서 중복을 없애는 과정이 바로 정규화(Normalization)이다. 제1정규형, 제2정규형, 제3정규형 등 모든 정규형은 중복을 없애게 해주는 방법들이다.
주로 1정규형부터 3정규형까지를 실무에서 반영을 하고
BCNF, 4정규형, 5정규형을 적용시키면 지나치게 테이블이 분리되어서 관리가 복잡해지기 때문이다.
3. 요약
감사합니다.
https://www.youtube.com/watch?v=GyQDLUyVEFc&list=PLtUgHNmvcs6ooYsXgdlE80_QjGj8lg4YG&index=10
'DB' 카테고리의 다른 글
[데이터모델링] 2.4 저장할 데이터 파악하기 / 그룹핑해서 분류하기 (0) | 2024.10.29 |
---|---|
[데이터모델링] 2.3. DB 설계 전체 과정 (0) | 2024.10.29 |
[데이터모델링] 2.1. DB 설계할 때 이런 개념들 몰라도 아무 문제 없습니다! (0) | 2024.10.29 |
[데이터모델링] 1.4. 데이터베이스 네이밍 규칙 (0) | 2024.10.29 |
[데이터 모델링] 1.3.PK(기본키),FK(외래키) (0) | 2024.10.29 |