DBMS의 종속성은 둘 이상의 속성 간의 관계입니다. DBMS에는 다음과 같은 유형이 있습니다. -
- 함수 종속성
- 완전히 기능하는 종속성
- 전이 종속성
- 다중값 종속성
- 부분 종속성
기능적 종속성부터 시작하겠습니다 -
함수 종속성
테이블에 저장된 정보가 동일한 테이블의 다른 정보를 고유하게 결정할 수 있는 경우 이를 기능적 종속성이라고 합니다. 동일한 관계의 두 속성 간의 연관으로 간주하십시오.
P가 기능적으로 Q를 결정하면
P -> Q |
예를 들어 보겠습니다 -
<직원>
EmpID | EmpName | 광고 노출 |
E01 | 아미트 | 28 |
E02 | 로히트 | 31 |
위 표에서 EmpName 기능적으로 EmpID 에 종속됨 EmpName 때문에 주어진 EmpID: 값에 대해 하나의 값만 사용할 수 있습니다.
EmpID -> EmpName |
같은 내용이 아래에 표시됩니다. -
완전한 기능 종속성
속성이 다른 속성에 완전히 기능적으로 종속되어 있는 경우 해당 속성에 기능적으로 종속되고 적절한 하위 집합에는 의존하지 않습니다.
예를 들어, 속성 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로 결정할 수 있음 , 이는 부분 종속 관계입니다.