개발놀이터

면접 준비 : 데이터베이스 정규화 본문

CS 지식/면접준비

면접 준비 : 데이터베이스 정규화

마늘냄새폴폴 2022. 12. 22. 09:06

Q. 데이터베이스 정규화란 무엇인가요?
A. 정규화란 데이터의 중복방지, 무결성을 충족시키기 위해 데이터베이스를 설계하는 것입니다. 정규화에는 제 1 정규화, 제 2 정규화, 제 3 정규화, BCNF 정규화가 있습니다. 제 1 정규화는 테이블의 컬럼이 하나의 값을 갖도록 테이블을 분해하는 것입니다. 제 2 정규화는 제 1 정규화를 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분해하는 것입니다. 완전 함수 종속이라는 것은 기본키의 부분집합이 결정자가 되어선 안된다는 것을 의미합니다. 제 3 정규화는 제 2 정규화를 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는 것입니다. 여기서 이행적 종속은 A -> B, B -> C 가 성립할때 A -> C 가 성립되는 것을 의미합니다. BCNF 정규화란 제 3 정규화를 진행한 테이블에 대해 모든 결정자는 후보키가 되도록 테이블을 분해하는 것입니다. 

 

https://coding-review.tistory.com/235

 

데이터베이스 정규화

이번 포스팅에선 이해하기 어렵기로 소문난 정규화에 대해서 포스팅해볼 생각입니다. 저도 정규화에 대해서 공부해야겠다고 마음 먹었지만 이렇게 이해하기 힘들었던 적은 없었던 것 같네요.

coding-review.tistory.com