티스토리 뷰

728x90

 

중복성때문에 발생하는 문제(Anomaly)

- 갱신 이상(update anomaly)

  중복된 데이터 중 하나를 갱신할 때 나머지 다른 행과 불일치(inconsistency) 발생

- 삽입 이상(insertion anomaly)

  어떤 데이터 값을 모르면, 입력이 어려운 경우 발생

  어떤 정보를 저장하려면, 다른 정보도 같이 저장해야 하는 경우 발생

- 삭제 이상(deletion anomaly)

  어떤 정보를 지우면, 다른 정보도 같이 상실되는 경우 발생

 

 

한 릴레이션 스키마가 자연스럽지 않은 속성들간의 연관을 억지로 함께 명시할 때에 중복 발생.

함수 종속 관계를 이용하여, 중복 여부를 판단할 수 있고 스키마의 정제가 필요함을 알 수 있음

 

키가 아닌 속성들간에 함수 종속관계가 있으면, 일반적으로 데이터의 중복 발생

 

스키마 분해

릴레이션을 더 작은 릴레이션들로 분해하는 것. 중복이 있는 릴레이션을 분해하여, 문제점들을 해결함

 

 

스키마 분해 시 고려해야 할 점

- 릴레이션의 분해가 필요한가?

- 함수 종속 관계를 이용하여 데이터 중복 저장 여부 판단

- 무손실-조인(lossless-join) 분해인가?

- 종속성 유지(dependency-preservation) 되는가?

 

무손실-조인 분해

: 분해된 릴레이션들을 동등조인하여 원래의 릴레이션으로 복구되어야 함

* 무손실-조인: 원래의 데이터와 정확하게 동일하게 복구하는 것. 더 많은/더 적은 데이터로 조인되면 모두 손실 조인(lossy-join)

 

종속성 유지

: 분해된 릴레이션들에서 원래의 모든 제약 조건들을 유지

 

스키마 분해의 결점

분해된 릴레이션들을 대상으로 조인 질의가 많을 경우(여러 개의 릴레이션으로 분해한 경우), 처리시간이 많이 걸리기 때문에 성능상의 문제가 발생할 수 있음

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함