1. 이상(Anomaly)
1) 이상이란?
테이블에서 일부 속성들의 함수적 종속으로 인해 데이터의 중복이 발생하고
이 중복으로 인해 테이블을 삽입, 삭제, 갱신 시 문제가 발생하는 현상
2) 이상 종류
- 삽입 이상
- 삭제 이상
- 갱신 이상
2. 정규화(Normalization)
1) 정규화란
테이블을 손실 없이 분해하여 가능한 한 중복을 제거하고
테이블 삽입, 삭제, 갱신 시 이상이 발생하는 것을 줄이는 것이다.
2) 제 1 정규형(First Normal Form : 1NF)
테이블 R에 속한 모든 속성의 도메인이 원자 값으로만 되어야 한다.
제 1 정규형 방법 : 함수적 종속 PK → A가 있고,
B는 PK와 A를 제외한 속성들의 집합일 때
PK와 A로 이루어진 테이블과 PK와 B로 이루어진 테이블로 분해하는 것이다.
3) 제 2 정규형(Second Normal Form : 2NF)
테이블 R이 제 1 정규형을 만족하고
기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는 정규형.
즉 제 2 정규형은 부분 함수적 종속을 제거하는 것.
- 완전 함수적 종속이란?
함수적 종속의 왼쪽이 기본키인 경우
FD : PK → {...}
- 부분 함수적 종속이란?
함수적 종속의 왼쪽이 기본키의 진부분집합일 때
PK : {a, b} 일 때
FD : a → {...}
제 2 정규형 방법 : 부분 함수적 종속 a→b가 있고,
c는 a와 b를 제외한 속성들의 집합일 때,
a와 b로 이루어진 테이블과 a와 c로 이루어진 테이블로 분해한다.
3) 제 3정규형(Third Normal Form : 3NF)
테이블 R이 제 2정규형을 만족하고
기본키가 아닌 모든 속성이 기본키에 대하여
이행적 함수적 종속을 만족하지 않는 정규형
즉 제 3정규형은 이행적 함수 종속을 제거하는 것.
- 이행적 함수 종속이란?
A->B이고, B->C일 때 A->C를 만족하는 함수적 종속이다.
제 3정규형 방법 : 모든 함수적 종속에서 불필요한 속성을 제거한다.
이후, 각각의 함수적 종속들로 이루어진 테이블을 만든다.
4) 보이스 카드 정규형(Boyce-codd Normal form : BCNF)
테이블 R에서 모든 결정자가 후보키여야 한다.
즉 함수적 송족의 왼쪽이 모두 후보키가 될 수 있게 분해해야 한다.
보이스카드 정규형 방법 :
보이스 카드 정규형에 어긋나는 함수적 종속 왼쪽을 A, 오른쪽을 B,
나머지 속성을 C라고 할 때
A와 B로 이루어진 릴레이션, A와 C로 이루어진 릴레이션으로 분해한다.
'CS > 데이터베이스 DB' 카테고리의 다른 글
[데이터베이스] 관계형 데이터베이스 설계 (0) | 2022.06.13 |
---|---|
[데이터베이스] 함수적 종속(Functional Defendency) (0) | 2022.06.09 |
[데이터베이스] 제약 조건 (도메인 제약, 키 제약) (0) | 2022.06.09 |
[데이터베이스] 개체 관계 모델(E-R model) (0) | 2022.06.07 |
[데이터베이스] 데이터 모델링 과정 (0) | 2022.06.07 |