🎛️정규화 vs 반정규화
·
CS/DB
Intro.데이터베이스 중 특히 RDB라면 절대 빠질 수 없는 이야기인 정규화에 대해서 얘기해보도록 하겠다. 정규화?정규화란 쉽게 말해 데이터의 중복을 최소화하고, 무결성을 유지하기 위해 테이블을 쪼개는 과정이다. 그렇다면 왜 굳이 잘 있는 테이블을 쪼개서 복잡하게 만드는 걸까? 이상 현상(Anomaly) 방지만약 정규화를 하지 않고 모든 데이터를 하나의 거대한 테이블에 다 때려 넣으면, 데이터가 중복해서 저장된다. 이 중복은 필연적으로 다음과 같은 이상 현상(Anomaly)을 유발한다.삽입 이상(Insertion Anomaly): 새 데이터를 넣으려는데, 불필요한 데이터까지 억지로 넣어야 하는 상황. (예: 신입생을 등록하려는데, 아직 수강 신청한 과목이 없어서 '과목명' 컬럼에 NULL을 넣어야만 ..