데이터베이스 종속성이란 무엇입니까?

데이터베이스 의존성은 종종 학생과 데이터베이스 전문가 모두에게 혼란을주는 주제입니다. 다행히도, 그것들은 복잡하지 않고 많은 예제를 사용하여 가장 잘 설명 할 수 있습니다. 이 기사에서는 일반적인 데이터베이스 종속성 유형을 검토합니다.

데이터베이스 종속성 / 기능 종속성

동일한 데이터베이스 테이블에 저장된 정보가 동일한 테이블에 저장된 다른 정보를 고유하게 결정할 때 데이터베이스에 종속성이 발생합니다. 또한 하나의 속성 (또는 속성 세트)의 값이 동일한 테이블의 다른 속성 (또는 속성 세트)의 값을 알기에 충분하다는 것을 아는 관계로 설명 할 수 있습니다.

테이블의 속성들 사이에 의존성이 있다고 말하는 것은 그 속성 들간에 기능적 의존성이 있다고 말하는 것과 같습니다. 속성 B가 속성 A에 종속되도록 데이터베이스에 종속성이 있으면 "A -> B"로 작성합니다.

예를 들어 SSN (Social Security Number) 및 이름을 포함하는 직원 특성을 나열하는 표에서 직원 이름이 SSN에서 고유하게 결정될 수 있기 때문에 이름이 SSN (또는 SSN -> 이름)에 의존한다고 할 수 있습니다. 그러나 둘 이상의 종업원이 동일한 이름을 가질 수 있지만 SSN이 다를 수 있기 때문에 역 성명 (name -> SSN)은 사실이 아닙니다.

사소한 기능 의존성

사소한 기능 종속성 은 원래 속성을 포함하는 속성 콜렉션에서 속성의 기능적 종속성을 설명 할 때 발생합니다. 예를 들어, "{A, B} -> B"는 "{name, SSN} -> SSN" 같이 사소한 기능 종속성 입니다. 이러한 유형의 기능적 의존성은 상식에서 파생 될 수 있기 때문에 사소한 것입니다. B의 값을 이미 알고 있다면 B의 값은 그 지식에 의해 고유하게 결정될 수 있다는 것은 명백합니다.

완전한 기능 의존성

완전한 함수 종속성함수 종속성에 대한 요구 사항을 이미 충족시키고 기능 종속성 문의 왼쪽에있는 속성 집합을 더 이상 줄일 수없는 경우에 발생합니다. 예를 들어, "{SSN, age} -> name"은 함수 종속성이지만 종속 관계에 영향을주지 않고 명령문의 왼쪽에서 나이를 제거 할 수 있기 때문에 전체 기능 종속성 이 아닙니다.

전이 종속성

전이 종속성 은 함수 종속성을 야기하는 간접 관계가있을 때 발생합니다. 예를 들어, "A -> C"는 참인 경우에만 "A -> B"및 "B -> C"가 모두 참이기 때문에 전 이적 종속성 입니다.

다중 값 종속성

다중 값 종속 은 테이블의 하나 이상의 행 존재가 동일한 테이블의 하나 이상의 다른 행의 존재를 의미 할 때 발생합니다. 예를 들어, 많은 자동차 모델을 제조하는 자동차 회사를 상상해보십시오.하지만 항상 각 모델의 빨간색과 파란색을 모두 만듭니다. 회사에서 제조하는 각 자동차의 모델 이름, 색상 및 연도를 포함하는 테이블이있는 경우 해당 테이블에 다중 값 종속성 이 있습니다. 특정 모델 이름과 연도에 대한 행이 파란색으로 표시되는 경우 동일한 차량의 빨간색 버전과 비슷한 행이 있어야합니다.

의존성의 중요성

데이터베이스 종속성은 데이터베이스 정규화에 사용되는 기본 구성 요소를 제공하므로 이해하는 것이 중요합니다. 예 :