정규화-정규화 과정
데이터베이스 정규화 테이블을 무손실 분해 중복을 제거 -> 삽입, 삭제, 갱신 이상의 발생 가능성을 줄이는 것 정규화의 종류 : 제1정규형, 제2정규형, 제3정규형, BCNF, 제4정규형, 제5정규형 제1정규형 (1NF) : 모든 속성값이 중복을 제거하고 원자 값 만으로만 구성
데이터베이스 정규화 제2정규형 (2NF) : 제 1 정규형이고 모든 속성이 기본키에 대해 완전함수적 종속을 만족하는 정규형 학번 과목코드 학년 학점 학번 - > 학년 (부분) 학번 + 과목코드 - > 학점 (완전) 100 A11 4 1 100 A50 4 2 101 B10 1 4 102 C98 2 2 102 A14 2 3
데이터베이스 정규화 제3정규형 (3NF) : 제 2 정규형이고 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지 않는 정규형 학번 수강과목 학번 수강과목 담당교수 100 물리전자 100 물리전자 박영희 101 전자계산기 101 전자계산기 김유진 102 물리전자 102 물리전자 박영희 103 이산수학 103 이산수학 한미정 수강과목 담당교수 물리전자 박영희 전자계산기 김유진 이산수학 한미정
학번 + 수강과목 - > 기본키 : 각 속성들이 어떻게 결정되었는지를 본다 데이터베이스 정규화 BCNF (Boyce/Codd Normal Form) : 제 3정규형이고 모든 결정자가 후보키 학번 + 수강과목 - > 기본키 : 각 속성들이 어떻게 결정되었는지를 본다 학번 수강과목 담당교수 100 물리전자 박영희 후보키란 기본키가 될 수 있는 키로서 유일성과 최소성을 만족 해야 한다. 학번 + 수강과목 - > 담당교수 (후보키) 학번 + 담당교수 - > 수강과목 (후보키) 수강과목 -> 담당교수 (후보키 아님) 101 전자계산기 김유진 102 물리전자 박영희 103 이산수학 한미정 100 이산수학 한미정 102 전자계산기 김유진 103 전자계산기 한미정