우봉수
2023. 5. 19. 01:32
2023. 5. 19. 01:32
- 삭제이상(deletion anomaly) 삽입이상(insertion anomaly) 갱신이상(update anomaly)를 해결 하기 위한 방법
- 데이터의 중복을 줄여서 바람직한 테이블로 만드는 과정
- 한가지 사실은 한 곳에서만 나타난다는 원리를 형시화한 것
- 일반적으로 제3 정규형을 만족하면 그 이후의 정규형의 조건은 자연스럽게 만족 하게 된다.
- 과정은 가역적이다 (2NF에서 3NF으로 바꾸었을 때 3NF에서 다시 2NF로 돌아갈 수 있는 과정)
함수 종속(FD: functional dependency)
- X → Y: 어떤 릴레이션 R에서, 애트리뷰트 X의 값 각각에 대해 애트리뷰트 Y의 값이 하나만 연관 된 것
무손실 분해
- 분해된 테이블을 자연조인 할 때 손실되는 데이터가 없는 분해 방법
- 가역성: 분해된 테이블을 조인 했을때 원래대로 돌아오는 경우
- 손실 판단 방법: 테이블 분해 후 함수적 종속성이 남아있는지 여부를 확인
정규화 과정
- 제1 정규형(1NF): 모든 속성이 원자값을 가지는 테이블
- 제2 정규형(2NF): 기본키가 아닌 모든 속성이 기본키에 완전히 종속되어야 한다. (목표: 부분적 함수 종속 제거)
- ex: 학생ID와 과목코드로 이루어진 복합키가 있고, 이에 종속된 속성으로 성적이 있는 경우, 성적은 학생ID와 과목코드 모두에 종속되어야 한다. 만약 성적이 학생ID에만 종속되어 있다면, 이는 제2정규형을 만족하지 않는다.
- 제3 정규형(3NF): 모든 속성이 좌변 최소성으로 종속되어있어야 하고 상호 독립적이어야 한다. (목표: 이행적 함수 종속 제거)
- 기본키가 아닌 다른 속성에 종속되는 속성이 없어야 한다.
- ex: 학생ID가 기본키이고, 학생ID에 종속된 속성으로 학과명이 있고, 학과명에 종속된 속성으로 학과위치가 있다면, 이는 제3정규형을 만족하지 않는다.
- BCNF
- 제 4 정규형(4NF)
- 제 5 정규형(5NF)
FD(함수적 종속) 다이어그램
- 결정자와 종속자의 관계를 화살표로 나타낸 것
- 결장자가 기본키가 아니라면 중복이 존재하는 것
- 모든 다른 속성을 함수적으로 결정한다 → 후보키(기본키)