1) 정의
2) 표현 방법
① 삽입 이상(Insertion Anomaly)
② 수정 이상(Modification Anomaly)
③ 삭제 이상(Delection Anomaly)
3) 원인
릴레이션 스키마를 생성할 때 속성들 간의 종속성을 충분히 고려하지 않아 불필요한 데이터가 중복되었기 때문이다. 즉, 한 개체의 속성들 간에 존재하는 여러 개의 종속 관계를 하나의 릴레이션으로 표현했기 때문이다.
4) 해결 방법
1) 정의
2) 표현 방법
3) 완전 함수적 종속과 부분 함수적 종속
복합 속성 X에 대하여 X→Y가 성립할 때, X'⊂X이고 X'→Y를 만족하는 속성 X'이
1) 존재하지 않으면, 속성 Y는 복합 속성 X에 완전 함수적 종속이다.
2) 존재하면, 속성 Y는 복합 속성 X에 부분 함수적 종속이다.
4) 이행적 함수적 종속
A →B ∧ B → C
1) 정의
① 스키마변환을 통해서 일련의 제약 조건을 만족하는 릴레이션을 만드는 과정이다.
② 속성들 간의 종속성을 분석해서 하나의 릴레이션에는 하나의 종속성만 갖도록 릴레이션을 분해하는 과정이다.
③ 갱신 이상의 발생 요인인 데이터 중복을 최소화하기 위해서 일종의 제약 조건을 기초로 릴레이션을 분해하는 과정이다.
④ 불필요한 데이터 중복을 제거해서 논리적 데이터 모델을 단순화시키는 과정이다.
2) 원칙
① 데이터 중복을 최소화한다.
② 정보가 사라지지 않아야 한다. (정보의 무손실)
-같은 의미의 정보를 유지하면서 더 바람직한 구조로 변환해야 한다.
③ 다음과 같은 원칙에 따라 분해한다.
a) 독립적인 관계는 별개의 릴레이션으로 표현한다.
b) 릴레이션 각각에 대해 독립적인 조작이 가능해야 한다.
3) 효과
① 중복된 데이터가 제거되어 갱신 이상이 감소한다.
② 데이터의 일관성 유지가 가능하다.
③ 데이터 모델이 단순해진다.
④ 무결성 제약 조건을 만족시키기 위해 필요한 프로그램 코드 양이 감소한다.
4) 문제점
릴레이션(테이블) 분해로 인해 많은 조인(Join) 연산이 발생하므로 질의에 대한 응답 시간이 느려질 수 있다.
1) 제 1 정규형 (1NF)
2) 제 2 정규형(2NF)
3) 제 3 정규형(3NF)
4) 보이스/코드 정규형(BCNF)
5) 제 4 정규형(4NF)
6) 제 5 정규형(5NF)
1) 정규화의 문제점
2) 역정규화란?
3) 주의사항
역정규화 해도 중복된 데이터는 관리해야 하므로, 응용 프로그램에서 별도로 데이터 무결성을 보장하기 위한 비용이 발생될 수 있다.