목차
데이터베이스 정규화 정리
○ 삭제 이상
○ 삽입 이상
○ 갱신 이상
정규화의 기본 원칙
정규형
기본 정규형
1) 제 1 정규형(1NF : First Normal Form)
2) 제 2 정규형(2NF : Second Normal Form)
3) 제 3 정규형(3NF : Third Normal Form)
4) 보이스/코드 정규형(BCNF : Boyce/Codd Normal Form)
고급 정규형
1) 제 4 정규형(4NF : Fourth Normal Form)
2) 제 5 정규형(5NF : Fifth Normal Form)
○ 삭제 이상
○ 삽입 이상
○ 갱신 이상
정규화의 기본 원칙
정규형
기본 정규형
1) 제 1 정규형(1NF : First Normal Form)
2) 제 2 정규형(2NF : Second Normal Form)
3) 제 3 정규형(3NF : Third Normal Form)
4) 보이스/코드 정규형(BCNF : Boyce/Codd Normal Form)
고급 정규형
1) 제 4 정규형(4NF : Fourth Normal Form)
2) 제 5 정규형(5NF : Fifth Normal Form)
본문내용
김 교수이고 교재는 책1과 책2라고 하면 3개의 튜플이 모두 이 개설과목 릴레이션에 포함되어야 한다. 그러나 이러한 제약 조건은 이 개설과목 릴레이션에 상당한 데이터의 중복을 초래하게 되어 결과적으로 앞에서 살펴본 갱신 이상의 문제를 발생시킨다.
ㅇ해결책 : 함수 종속이 아닌 다치 종속(MVD) 제거
과목
교수
정보기술
장 교수
정보기술
김 교수
경영
이 교수
과목
교재
정보기술
책1
정보기술
책2
경영
책3
경영
책4
2) 제 5 정규형(5NF : Fifth Normal Form)
주어진 테이블이 그보다 더 작은 테이블의 join으로 재구성할 수 없을 때, 즉 테이블을 분해하면 원래 가지고 있던 정보가 손실되어서, 더 이상 테이블을 분해할 수 없는 경우일 때, 그 테이블을 제 5 정규형이라고 한다. 테이블을 칼럼들로 분해하는 것이 Projection, 다시 합치는 것이 Join, 그래서 이 둘을 합쳐 제 5 정규형을 PJ/NF(Projection-join Normal Form)라고도 한다. 이름이야 무어라 부르든, 제 5 정규형의 핵심은 정보의 손실이 없이 더 작은 테이블로 분해할 수 있는가, 분해된 테이블들을 Join하면 원래의 테이블이 구성되는가에 있다. 원래의 테이블보다 더 작은 테이블로 분해될 수 있고, 이들을 다시 Join해서 원래의 테이블이 구성된다면, 이 테이블은 Join Dependency를 갖게 된다.
※ 조인 종속(JD : Join Dependency)
어떤 릴레이션 R의 애트리뷰트에 대한 부분 집합 A, B, …, Z가 있다고 하자. 이때 만일 릴레이션 R이 그의 프로젝션 A, B, …, Z를 모두 조인한 결과와 똑같다면 R은 조인 종속*(A, B, …, Z)을 만족시킨다고 한다.
※ 조인 종속(JD)과 다치 종속(MVD) 관계의 정리
릴레이션 R(A, B, C)이 조인 종속 *(AB, AC)을 만족하기만하면 릴레이션 R은 두 개의 다치 종속(MVD) A ->> B | C를 만족한다.
SK
PK
CK
S1
P1
C2
S1
P2
C1
S2
P1
C1
S1
P1
C1
SPC SPC relation은 프로젝션 jd*(SP,PC,CS)를 만족한다.
SK
PK
S1
P1
S1
P2
S2
P1
SP PK
CK
P1
C2
P2
C1
P1
C1
PC CK
SK
C2
S1
C1
S1
C1
S2
CS
첫 번째 조인
SK
PK
CK
S1
P1
C2
S1
P1
C1
S1
P2
C1
S2
P1
C2
←부당 튜플
S2
P1
C1
두 번째 조인
정규형들간의 관계
① 원래의 1NF 릴레이션에 부분 함수 종속을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 2NF에 속하는 릴레이션이 된다.
② 2NF에 속하는 릴레이션에 이행 함수 종속을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 3NF에 속하는 릴레이션이 된다.
③ 3NF에 속하는 릴레이션에 결정자가 후보 키가 아닌 함수 종속을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 BCNF에 속하는 릴레이션이 된다.
④ BCNF에 속하는 릴레이션에서 함수 종속(FD)이 아닌 다치 종속(MVD)을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 4NF이 된다.
⑤ 4NF에 속하는 릴레이션에서 후보 키를 통하지 않는 조인 종속(JD)이 있을 때 이를 제거하기 위해 프로젝션을 한다. 그 결과는 5NF이 된다.
비정규 릴레이션
↓
원자값이 아닌 도메인을 분해
↓
1NF
↓
부분 함수 종속 제거
↓
2NF
↓
이행 함수 종속 제거
↓
3NF
↓
결정자가 후보 키가 아닌 함수 종속(FD)제거
↓
BCDF
↓
함수 종속이 아닌 다치 종속(MVD)제거
↓
4NF
↓
후보키를 통하지 않은 조인 종속(JD)제거
↓
5NF
ㅇ해결책 : 함수 종속이 아닌 다치 종속(MVD) 제거
과목
교수
정보기술
장 교수
정보기술
김 교수
경영
이 교수
과목
교재
정보기술
책1
정보기술
책2
경영
책3
경영
책4
2) 제 5 정규형(5NF : Fifth Normal Form)
주어진 테이블이 그보다 더 작은 테이블의 join으로 재구성할 수 없을 때, 즉 테이블을 분해하면 원래 가지고 있던 정보가 손실되어서, 더 이상 테이블을 분해할 수 없는 경우일 때, 그 테이블을 제 5 정규형이라고 한다. 테이블을 칼럼들로 분해하는 것이 Projection, 다시 합치는 것이 Join, 그래서 이 둘을 합쳐 제 5 정규형을 PJ/NF(Projection-join Normal Form)라고도 한다. 이름이야 무어라 부르든, 제 5 정규형의 핵심은 정보의 손실이 없이 더 작은 테이블로 분해할 수 있는가, 분해된 테이블들을 Join하면 원래의 테이블이 구성되는가에 있다. 원래의 테이블보다 더 작은 테이블로 분해될 수 있고, 이들을 다시 Join해서 원래의 테이블이 구성된다면, 이 테이블은 Join Dependency를 갖게 된다.
※ 조인 종속(JD : Join Dependency)
어떤 릴레이션 R의 애트리뷰트에 대한 부분 집합 A, B, …, Z가 있다고 하자. 이때 만일 릴레이션 R이 그의 프로젝션 A, B, …, Z를 모두 조인한 결과와 똑같다면 R은 조인 종속*(A, B, …, Z)을 만족시킨다고 한다.
※ 조인 종속(JD)과 다치 종속(MVD) 관계의 정리
릴레이션 R(A, B, C)이 조인 종속 *(AB, AC)을 만족하기만하면 릴레이션 R은 두 개의 다치 종속(MVD) A ->> B | C를 만족한다.
SK
PK
CK
S1
P1
C2
S1
P2
C1
S2
P1
C1
S1
P1
C1
SPC SPC relation은 프로젝션 jd*(SP,PC,CS)를 만족한다.
SK
PK
S1
P1
S1
P2
S2
P1
SP PK
CK
P1
C2
P2
C1
P1
C1
PC CK
SK
C2
S1
C1
S1
C1
S2
CS
첫 번째 조인
SK
PK
CK
S1
P1
C2
S1
P1
C1
S1
P2
C1
S2
P1
C2
←부당 튜플
S2
P1
C1
두 번째 조인
정규형들간의 관계
① 원래의 1NF 릴레이션에 부분 함수 종속을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 2NF에 속하는 릴레이션이 된다.
② 2NF에 속하는 릴레이션에 이행 함수 종속을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 3NF에 속하는 릴레이션이 된다.
③ 3NF에 속하는 릴레이션에 결정자가 후보 키가 아닌 함수 종속을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 BCNF에 속하는 릴레이션이 된다.
④ BCNF에 속하는 릴레이션에서 함수 종속(FD)이 아닌 다치 종속(MVD)을 제거하기 위해 프로젝션을 한다. 그 결과는 모두 4NF이 된다.
⑤ 4NF에 속하는 릴레이션에서 후보 키를 통하지 않는 조인 종속(JD)이 있을 때 이를 제거하기 위해 프로젝션을 한다. 그 결과는 5NF이 된다.
비정규 릴레이션
↓
원자값이 아닌 도메인을 분해
↓
1NF
↓
부분 함수 종속 제거
↓
2NF
↓
이행 함수 종속 제거
↓
3NF
↓
결정자가 후보 키가 아닌 함수 종속(FD)제거
↓
BCDF
↓
함수 종속이 아닌 다치 종속(MVD)제거
↓
4NF
↓
후보키를 통하지 않은 조인 종속(JD)제거
↓
5NF
키워드
추천자료
- 데이터베이스 시스템 1장
- 스포츠 리그를 위해 팀들과 게임에 대한 정보를 관리하는 데이터베이스
- 데이터베이스 DB Design Project ( 삼국지 개념의 국가, 인재, 성의 정보를 관리하는 데이터...
- 액세스(ACCESS)로 구연한 온라인게임 데이터베이스 도큐먼트파일 (프로젝트)
- 데이터베이스 DB를 활용한 마케팅 전략수립과 성공케이스 분석
- C언어로 설계한 데이터베이스 프로그램(커피숍관리)
- 데이터베이스 관리시스템과 SQL
- 데이터베이스 설계 프로젝트 보고서 인터넷 영화 예매 시스템 구축
- [특허][이중출원][웹데이터베이스][표준화][진보성]특허의 개념, 특허의 분류, 특허의 요건, ...
- 데이터베이스 마케팅(database marketing)의 의의와 목적 및 장단점
- 데이터베이스 DBMS 언어의 종류 및 특징에 대해서 조사하세요.
- [A+] 에버랜드의 고객만족사례 조사 보고서 서비스지향성 고객만족 경영철학 리더십 CS 종업...
- 인터넷 정보검색효율의 측정방법, 인터넷 정보검색효율과 최적화, 인터넷 정보검색효율과 인...
- DBMS[데이터베이스 관리시스템]
소개글