'Anomaly'에 해당되는 글 1건

  1. 2008.03.06 이상(Anomaly)
2008.03.06 17:23

1. 이상(Anomaly)

Ÿ         테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하고, 이 중복(Redundancy)으로 테이블 조작 시 문제가 발생하는 현상

Ÿ         이상의 종류: 테이블 조작 중 발생하는 삽입 이상(Insertion Anomaly), 삭제 이상(Deletion Anomaly), 갱신 이상(Update Anomaly)이 있음

수강> 테이블을 통해 이상의 종류들을 살펴보자.


<수강>

학번

과목번호

성적

학년

100

C413

A

4

100

E412

A

4

200

C123

B

3

300

C312

A

1

300

C324

C

1

400

C123

A

4

400

C312

A

4

400

C324

A

4

400

C413

B

4

400

E412

C

4

500

C312

B

2

 

2. 삽입 이상

Ÿ    데이터를 삽입할 때 의도와는 상관없이 원하지 않는 값들로 인해 삽입할 수 없게 되는 현상

삽입 이상의 예) <수강> 테이블에서 학번이 ‘600’ 인 학생의 학년이 “2”라는 사실만을 삽입하고자 하는 경우, 삽입 이상이 발생한다.

이유) <수강> 테이블의 기본키는 학번과 과목번호이기 때문에 삽입할 때 반드시 과목번호가 있어야 한다. 즉, 데이터가 발생되는 시점에는 과목번호가 필요 없지만 <수강> 테이블에 기록하고자 할 때 과목번호가 없어 등록할 수 없는 경우가 발생한다.

 

3. 삭제 이상

Ÿ   한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는, 즉 연쇄 삭제가 발생하는 현상

삭제 이상의 예) <수강> 테이블에서 학번이 ‘200’인 학생이 과목번호 ‘C123’의 등록을 취소하고자 하는 경우 삭제 이상이 발생한다.
이유) 학번이 “200”인 학생의 과목번호가 ‘C123’인 과목을 취소하고자 그 학생의 튜플을 삭제하면 학년 정보까지 같이 삭제된다. 과목만을 취소하고자 했지만 유지되어야 할 학년 정보까지 삭제되기 때문에 정보 손실이 발생한다.

  * 학번이 500인 학생의 과목번호 C312의 등록을 취소하고자 할 경우도 삭제 이상 발생

 

4. 갱신 이상

Ÿ   튜플에 있는 속성값을 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성(Inconsistency)이 생기는 현상

갱신이상의 예) <수강> 테이블에서 학번이 “400” 인 학생의 학년을 “4”에서 “3”으로 변경하고자 하는 경우 갱신 이상이 발생할 수 있다.

이유) 학번이 “400”인 모든 튜플의 학년 값을 갱신해야 하는데 실수로 일부 튜플만 갱신하면, 학번 “400”인 학생의 학년은 “3” 과 “4”, 즉 두 가지 값을 가지게 되어 정보에 불일치성이 생기게 된다.

* 학번이 100이나 300의 경우도 갱신 이상이 발생할 수 있음


[ 출처 : http://cafe.naver.com/ikeyword.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=796 ]

------------------------

이러한 이상 현상을 제거하기 위해서 정규화를 실시한다..

정규화는 1772년 Codd에 의해서 제안되었는데 당시 1, 2, 3 정규형(Normal Form)이 제안되었고 이후 Boyce와 함께 보다 강화된 BCNF(Boyce-Codd Normal Form)을 제안하였다.

정규형은 5정규형까지 있다..
하지만 4, 5정규형은 앞의 정규형과는 성격적으로 약간 차이가 있는데...
뭐.. 자세한건 찾아보자~
(ㅡㅡ; 으하하하하)

아.. 그럼 정규형이 무엇이냐?
음.. 한 릴레이션에서 어트리뷰트들간의 함수적 종속성의 형태를 구분한 것이라고나 할까나..

자세한 내용은 찾아보길.. ㅡ.,ㅡ;
귀찮으면 다 찾아보래? 맞습니다!!! 당신은 예리한 센스쟁이~;

참~ 이상(Anomaly)은 Codd가 정규형은 설명하기 위해 보인 것 이라고 한다..

궁금증은.. 책보고 공부하자~~~ ㅡ.,ㅡ;

결국 나의 포스팅에서 당신은 얻은것이 없는것인가?
그렇다면....

(__) 죄송해유~ ㅡㅡ;

Posted by 열라착한앙마

댓글을 달아 주세요