DB) Multivalued Dependency에 관한 노트

Wonjun Lee·2024년 3월 10일
0

다치종속 위키백과

정보처리기사 실기시험 공부 중 제 4정규형에 관한 내용을 읽다가 Multivalued Dependency란 무엇인지 명확히 이해되지 않아 나름대로 조사해본 바를 기록한다.

Multivalued Dependency, 다중값 종속

다중값 종속
다중값 종속이란 한 릴레이션을 구성하는 2개 속성 집합 사이에서 성립하는 제약 조건으로 특정 조건을 만족하는 튜플이 존재할 경우, 관련 속성들이 다중값 종속 관계에 있다고 하며, 기호로는 A -->->B 처럼 표기한다.

릴레이션의 모든 속성으로 이뤄진 집합 = R
릴레이션의 카디널리티가 4라고 할 때, 각 튜플을 t1, t2, t3, t4 라고 하자.
릴레이션의 속성은 a, b, c로 구성되며, c ∈ (R - (a ∪ b))이다.

  1. t1[a] = t2[a] = t3[a] = t4[a] 이다.
  2. t1[b] = t3[b] ∧ t2[b] = t4[b] 이다.
  3. t1[c] = t4[c] ∧ t2[c] = t3[c] 이다.
    위 3개 조건을 모두 만족하는 튜플이 있다면 a -->-> b, a -->-> c이다.
    (단, 속성 b와 c는 독립적 이다.)

요약하자면 3개 이상의 컬럼이 존재하며, 특정 속성에 대해 2개 이상의 서로 독립적인 속성이 다중값 종속 되어 있을 때 (즉, 특정 속성의 한 값에 대해 다른 속성이 여러 값을 가질 경우) 다중값 종속 되어 있다고 한다.

아래 테이블은 다중값 종속의 예시이다.


이 릴레이션의 기본키는 Course, Book, Lecture로 구성되어 있다.

위에서부터 순서대로 4개 행을 보면 앞서 보인 조건에 부합한다는 것을 알 수 있다.
AHA라는 수업에 대해서 3명의 강사가 강의를 한다.
John D와 Willian M, Christian G가 있고, 이들은 동일한 교재를 가지고 수업을 한다.

이제 AHA라는 강의에 새로운 교재를 추가한다고 해보자. 예를들어 K.N.King 이라는 교재를 추가할 경우, AHA 강의를 하는 3명의 강사 각각에 대해 새로운 튜플들을 삽입해야 한다.

이런 과정은 필연적으로 Course 컬럼에 대해 데이터 중복을 유발하게 된다. 중복성이 생기면 Anomaly가 발생하게 된다. 제 4 정규화 과정은 이런 현상을 방지하기 위한 작업이다.

한 개의 컬럼에 대해 2개 이상의 컬럼이 다중값 종속되고 있다. 따라서 테이블을 분해하여 한 테이블 내에서 한 개의 다중값 종속만 존재하도록 한다.

이전의 테이블이 a-->->b와 a-->->c가 동시에 존재했다면
분해하여 한 테이블은 a -->-> b만 가지도록 하고 다른 테이블은 a -->-> c만 존재하도록 한다.

비록 다중값 종속이 존재하지만, 제 4 정규형을 만족한다고 한다.

0개의 댓글