[정보처리기사] 정보처리기사 실기 정리 13 (이상, 함수적 종속)
미음제
·2021. 8. 26. 20:13
Section 44
이상/함수적 종속
이상(Anomaly)
테이블에서 일부 속성들의 종속으로 인해
데이터의 중복이 발생하고,
이 중복(Redundancy)으로 인해
테이블 조작 시 문제가 발생하는 현상.
* 이상의 종류
✓ 삽입 이상
✓ 삭제 이상
✓ 갱신 이상
<수강> 테이블
학번 | 과목번호 | 성적 | 학년 |
100 | C413 | A | 4 |
100 | E412 | A | 4 |
200 | C123 | B | 3 |
300 | C312 | C | 1 |
300 | C413 | B | 1 |
400 | C324 | A | 2 |
400 | E412 | B | 2 |
500 | C312 | B | 2 |
삽입 이상
테이블에 데이터를 삽입할 때 의도와는 상관없이
원하지 않은 값들로 인해 삽입할 수 없게 되는 현상이다.
<수강> 테이블에서 학번이 '600'인 학생이
학년이 '2'라는 사실만을 삽입하고자 하는 경우
삽입 이상이 발생한다.
<수강> 테이블의 기본키가 학번과 과목 번호이기 때문에,
반드시 과목 번호가 있어야 한다.
삭제 이상
한 튜플을 삭제할 때 의도와는 상관없는 값들도 함께 삭제되는,
즉 연쇄 삭제가 발생하는 현상이다.
<수강> 테이블에서 학번이 '100'인 학생이
'C413'의 등록을 취소하는 경우 삭제 이상이 발생한다.
'200'인 학생이 과목번호가 'C413'인 과목을 취소하고자
그 학생의 튜플을 삭제하면
학년 정보까지 삭제된다.
갱신 이상
테이블에서 튜플에 있는 속성 값을 갱신할 때
일부 튜플의 정보만 갱신되어
정보에 불일치성이 생기는 현상이다.
<수강> 테이블에서 학번이 '300'인 학생의 학년을
'1'에서 '2'로 변경하고자 할 때 갱신 이상이 발생할 수 있다.
학번이 '300'인 모든 튜플의 학년 값을 경신해야 하는데
실수로 일부 튜플만 갱신하는 경우
'300'인 학생은 학년 값을 '1'과 '2'를 모두 가지게 되어
정보에 불일치성이 생긴다.
함수적 종속
어떤 테이블 R에서
X, Y를 각각 R의 속성 집합의 부분집합이라 할 때,
속성 X의 값 각각에 대해 시간에 관계없이
항상 속성 Y의 값이 오직 하나만 연관되어 있을 때
Y는 X에 함수적 종속
또는
X가 Y를 함수적으로 결정한다 하고
X → Y로 표기한다.
<학생> 테이블
학번 | 이름 | 학년 | 학과 |
400 | Lee | 4 | A |
422 | You | 4 | B |
301 | Kim | 3 | C |
302 | Hong | 3 | D |
<학생> 테이블에서 이름, 학년, 학과(Y, 종속)는
각각 학번(X, 결정자) 속성에 함수적 종속이다
이를 기호로 표시하면 다음과 같다.
표기 1
학번 → 이름
학번 → 학년
학번 → 학과
표기 2
학번 → 이름, 학년, 학과
X → Y 관계에서
속성 X와 Y에서
X를 결정자라고 하고,
Y를 종속자라고 한다.
'정보처리기사' 카테고리의 다른 글
[정보처리기사] 정보처리기사 실기 정리 12 (관계대수 및 관계해석) (0) | 2021.08.26 |
---|---|
[정보처리기사] 정보처리기사 실기 정리 11 (관계형 데이터베이스의 제약 조건 - 키(Key), 무결성(Integrity)) (0) | 2021.08.22 |
[정보처리기사] 정보처리기사 실기 정리 10 (E-R(개체 관계) 모델, 관계형 데이터베이스의 구조, 관계형 데이터 모델) (0) | 2021.08.16 |
[정보처리기사] 정보처리기사 실기 정리 9 (데이터 모델의 개념, 데이터 모델의 구성 요소) (0) | 2021.08.14 |
[정보처리기사] 정보처리기사 실기 정리 8 (데이터 전환, 데이터 검증, 오류 데이터 측정 및 정제) (0) | 2021.08.12 |