참고자료
블로그
정규화 설명
정규화 + 이상현상 설명
함수용어 설명
위키피디아
제 1 정규형
제 2 정규형
제 3 정규형
제 1 정규화
1. 만들고자 하는 데이터베이스에 기록할 데이터를 최소단위로 쪼개어서 구성한다.
학번 | 수강과목 | 강의실 | 성적 |
001 | 데이터베이스, 자바스크립트 | 301, 102 | 3.5, 4.0 |
002 | 자바스크립트 | 102 | 4.0 |
2. 한 칸에 하나의 데이터만 입력을 한다.
학번 | 수강과목 | 강의실 | 성적 |
001 | 데이터베이스 | 301 | 3.5 |
001 | 자바스크립트 | 102 | 4.0 |
002 | 자바스크립트 | 102 | 4.0 |
제 2 정규화 : 제1 정규형이면서, 기본키(primary key)에 속하지 않은 속성 모두가 기본키에 완전 함수 종속인 정규형
기본키의 부분집합이 결정자가 되지 않도록 테이블을 분리할 것, 즉 한 테이블에서 기본키 이외의 요소가 다른 요소를 결정하지 않는것
- 제 1 정규화 테이블에서 기본키가 "학번" 인데 수강과목이 강의실을 결정하는 것이 가능하다.
분리
테이블 1
학번 | 수강과목 | 성적 |
001 | 데이터베이스 | 3.5 |
001 | 자바스크립트 | 4.0 |
002 | 자바스크립트 | 4.0 |
테이블 2
수강과목 | 강의실 |
데이터베이스 | 301호 |
자바스크립트 | 102호 |
제 3 정규화 : 제2 정규화를 진행한 테이블에서 이행적 종속을 없애도록 테이블을 분해하는 것
학번 | 지도교수 | 학과 |
001 | 교수 1 | 컴퓨터 |
002 | 교수 2 | 전자 |
이행적 종속이란 X를 알면 Y를 알고 그를 통해 Z를 알 수 있는 경우
위의 테이블에서 보면 학번 - 지도교수 지도교수 - 학과 를 알고 이를 통해서 학번- 학과 를 알수 있다.
분리
학번 | 지도교수 |
001 | 교수 1 |
002 | 교수 2 |
지도교수 | 학과 |
교수 1 | 컴퓨터 |
교수 2 | 전자 |
'DataBase > Database 지식 기록' 카테고리의 다른 글
트랜잭션(Transaction) (0) | 2023.10.04 |
---|---|
데이터베이스 모델링 : 모델 간의 관계 (0) | 2023.09.30 |
[Feedback] DB modeling (0) | 2023.09.30 |
데이터베이스 이상 현상 (Anomaly) (0) | 2023.09.13 |
데이터베이스 작명규칙 (0) | 2023.09.12 |