Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

DBMS의 종속성 유형


DBMS의 종속성은 둘 이상의 속성 간의 관계입니다. DBMS에는 다음과 같은 유형이 있습니다. -

  • 함수 종속성
  • 완전히 기능하는 종속성
  • 전이 종속성
  • 다중값 종속성
  • 부분 종속성

기능적 종속성부터 시작하겠습니다 -

함수 종속성

테이블에 저장된 정보가 동일한 테이블의 다른 정보를 고유하게 결정할 수 있는 경우 이를 기능적 종속성이라고 합니다. 동일한 관계의 두 속성 간의 연관으로 간주하십시오.

P가 기능적으로 Q를 결정하면

P -> Q

예를 들어 보겠습니다 -

<직원>

EmpID
EmpName
광고 노출
E01
아미트
28
E02
로히트
31


위 표에서 EmpName 기능적으로 EmpID 에 종속됨 EmpName 때문에 주어진 EmpID: 값에 대해 하나의 값만 사용할 수 있습니다.

EmpID -> EmpName


같은 내용이 아래에 표시됩니다. -

DBMS의 종속성 유형

완전한 기능 종속성

속성이 다른 속성에 완전히 기능적으로 종속되어 있는 경우 해당 속성에 기능적으로 종속되고 적절한 하위 집합에는 의존하지 않습니다.

예를 들어, 속성 Q는 다른 속성 P에 완전히 기능적으로 종속되며, P의 적절한 부분 집합에는 기능적으로 종속되지 않습니다.

예를 들어 보겠습니다 -

<프로젝트 비용>

프로젝트 ID
프로젝트 비용
001
1000
002
5000


<직원 프로젝트>

EmpID
프로젝트 ID
(프로젝트에 지출)
E099
001
320
E056
002
190


위의 관계는 다음과 같습니다.

EmpID, ProjectID, ProjectCost -> 일

그러나 완전히 기능적으로 종속되는 것은 아닙니다.

반면 하위 집합 {EmpID, ProjectID} {일}을 쉽게 결정할 수 있습니다. 직원이 프로젝트에 지출했습니다.

이것은 우리의 완전한 기능적 의존성을 요약하고 제공합니다 -

{EmpID, ProjectID} -> (일)


전이 종속성

간접적인 관계로 인해 기능적 종속성이 발생하는 경우 이를 전이적 종속성이라고 합니다.

P -> Q 및 Q -> R이 참이면 P-> R은 전이 종속성입니다.

다중값 종속성

테이블에 하나 이상의 행이 있다는 것이 동일한 테이블에 하나 이상의 다른 행을 의미하는 경우 다중값 종속성이 발생합니다.

테이블에 속성 P, Q 및 R이 있는 경우 Q 및 R은 P의 다중 값 팩트입니다.

이중 화살표 −

로 표시됩니다.
->->


우리의 예:

P->->Q
Q->->R

위의 경우 다중값 종속성은 Q와 R이 독립적인 속성인 경우에만 존재합니다.

부분 종속성

부분 종속성은 기본이 아닌 속성이 후보 키의 일부에 기능적으로 종속될 때 발생합니다.

제2정규형(2NF)은 부분 종속성을 제거합니다. 예를 들어 보겠습니다 -

<학생 프로젝트>

StudentID
프로젝트 번호
학생 이름
프로젝트 이름
S01
199
케이티
지리적 위치
S02
120
올리
클러스터 탐색

위의 표에는 부분 종속성이 있습니다. 방법을 알아보겠습니다 -

주요 속성은 StudentID 입니다. 및 프로젝트 번호

명시된 바와 같이 비 주요 속성, 즉 StudentName 프로젝트 이름 부분 종속이 되려면 후보 키의 일부에 기능적으로 종속되어야 합니다.

학생 이름 StudentID 로 결정할 수 있음 관계를 부분 종속적으로 만듭니다.

프로젝트 이름 ProjectID로 결정할 수 있음 , 이는 부분 종속 관계입니다.