-
데이터베이스 정규화 (6): 보이스-코드 정규형(BCNF), 모든 결정자를 후보키로
보이스-코드 정규형(BCNF)을 다룹니다. 3NF가 남긴 빈틈, 모든 결정자가 후보키여야 한다는 조건, 후보키가 겹치는 구조에서 생기는 중복을 예시와 함께 정리합니다.
-
데이터베이스 정규화 (5): 제3정규형(3NF), 이행적 함수적 종속 제거
제3정규형(3NF)을 다룹니다. 이행적 함수적 종속의 의미, Codd의 1971년 원문 정의, 그리고 키가 아닌 속성을 거쳐 생기는 중복을 제거하는 방법을 예시와 함께 정리합니다.
-
데이터베이스 정규화 (4): 제2정규형(2NF), 함수적 종속과 부분 함수적 종속 제거
제2정규형(2NF)을 다룹니다. 2NF의 토대인 함수적 종속성을 완전 함수적 종속, 부분 함수적 종속으로 나누어 설명하고, 복합키에서 생기는 부분 함수적 종속을 어떻게 제거하는지 예시와 함께 정리합니다.
-
데이터베이스 정규화 (3): 제1정규형(1NF), 원자값과 반복 그룹
제1정규형(1NF)을 자세히 다룹니다. 원자값의 의미와 흔한 오해, 반복 그룹을 분리하는 방법, 그리고 1NF가 아직 보장하지 못하는 것까지 예시와 함께 정리합니다.
-
데이터베이스 정규화 (2): 이상현상과 함수적 종속성, 왜 정규화가 필요한가
삽입, 갱신, 삭제 이상현상을 예시로 설명하고 MariaDB에서 직접 재현해, 데이터베이스가 막아주는 이상현상과 조용히 지나가는 이상현상을 구분합니다. 세 단계 분류를 컬럼 세 개에 저장한 실제 계약 테이블에서 갱신 이상이 어떻게 해마다 복제됐는지도 함께 다룹니다.
-
데이터베이스 정규화 (1): 정규화 전에, 데이터 무결성과 키부터
정규화를 둘러싼 흔한 오해 세 가지에서 출발해, 정규형에 들어가기 전 토대가 되는 개념을 정리합니다. 데이터 무결성의 종류(개체, 참조, 도메인)와 키의 계층(슈퍼키, 후보키, 자연키, 대리키), 그리고 키가 제약조건으로 동작하는 방식을 설명합니다.