DBMS의 기능적 종속성: 정의, 유형 및 예
기능적 의존성이란 무엇입니까?
기능적 종속성(FD) 데이터베이스 관리 시스템(DBMS)에서 한 속성과 다른 속성의 관계를 결정하는 제약 조건입니다. 기능적 종속성은 데이터베이스의 데이터 품질을 유지하는 데 도움이 됩니다. 좋은 데이터베이스 디자인과 나쁜 데이터베이스 디자인의 차이를 찾는 것은 중요한 역할을 합니다.
기능적 종속성은 화살표 "→"로 표시됩니다. Y에 대한 X의 기능적 종속성은 X → Y로 표시됩니다. 예를 들어 DBMS의 기능적 종속성을 이해해 보겠습니다.
예:
직원 번호 | 직원 이름 | 봉급 | City |
---|---|---|---|
1 | 다나 | 50000 | 샌프란시스코 |
2 | 프란시스 | 38000 | 런던 |
3 | 앤드류 | 25000 | 도쿄 |
이 예에서는 Employee number의 값을 알면 Employee Name, 도시, 급여 등을 얻을 수 있습니다. 이를 통해 도시, Employee 이름, 급여가 기능적으로 Employee 번호에 의존한다고 말할 수 있습니다.
핵심 용어
다음은 데이터베이스의 기능적 종속성에 대한 몇 가지 주요 용어입니다.
핵심 용어 | 상품 설명 |
---|---|
공리 | 공리는 관계형 데이터베이스에 대한 모든 기능적 종속성을 추론하는 데 사용되는 일련의 추론 규칙입니다. |
분해 | 동일한 기본 키로 결정되는 두 개의 엔터티를 포함하는 것으로 보이는 테이블이 있는 경우 이를 두 개의 다른 테이블로 분할하는 것을 고려해야 한다는 규칙입니다. |
매달린 | 에 표시됩니다 기능적 종속성 다이어그램의 오른쪽. |
결정자 | 이는 기능 종속성 다이어그램의 왼쪽에 표시됩니다. |
노동 조합 | 두 개의 테이블이 분리되어 있고 PK가 동일하다면 두 테이블을 넣는 것을 고려해 볼 것을 제안합니다. 함께 |
기능적 종속성의 규칙
다음은 데이터베이스의 기능 종속성에 대한 가장 중요한 세 가지 규칙입니다.
- 재귀적 규칙 –. X가 속성 집합이고 Y가 X의 하위 집합인 경우 X는 Y 값을 갖습니다.
- 확장 규칙: x -> y가 유지되고 c가 속성 집합인 경우 ac -> bc도 유지됩니다. 이는 기본 종속성을 변경하지 않는 속성을 추가하는 것입니다.
- 전이성 규칙: 이 규칙은 x -> y가 성립하고 y -> z가 성립하고 x -> z도 성립하는 경우 대수학의 전이 규칙과 매우 유사합니다. X -> y는 y를 결정하는 기능적으로 호출됩니다.
DBMS의 기능적 종속성 유형
DBMS에는 주로 네 가지 유형의 함수적 종속성이 있습니다. 다음은 DBMS의 함수적 종속성 유형입니다.
- 다중값 종속성
- 사소한 기능적 의존성
- 중요하지 않은 기능적 종속성
- 전이적 종속성
DBMS의 다중값 종속성
다중값 종속성은 단일 테이블에 여러 개의 독립적인 다중값 속성이 있는 상황에서 발생합니다. 다중값 종속성은 관계의 두 속성 집합 간의 완전한 제약 조건입니다. 관계에 특정 튜플이 있어야 합니다. 다음 다중값 종속성 예제를 고려하여 이해하십시오.
예:
자동차_모델 | Maf_연도 | 색상 |
---|---|---|
H001 | 2017 | 금속의 |
H001 | 2017 | 초록색 |
H005 | 2018 | 금속의 |
H005 | 2018 | 파란색 |
H010 | 2015 | 금속의 |
H033 | 2012 | 회색 |
이 예에서 maf_year와 color는 서로 독립적이지만 car_model에 종속됩니다. 이 예에서 이 두 열은 car_model에 따라 다중값을 갖는다고 합니다.
이 의존성은 다음과 같이 표현될 수 있습니다:
자동차_모델 -> maf_year
car_model-> 색상
DBMS의 사소한 기능 종속성
Trivial 종속성은 속성 세트가 해당 속성에 포함된 경우 trivial이라고 불리는 속성 세트입니다.
따라서 Y가 X의 하위 집합인 경우 X -> Y는 사소한 기능적 종속성입니다. 간단한 기능적 종속성 예를 통해 이해해 보겠습니다.
예 :
Emp_id | Emp_name |
---|---|
AS555 | 괴롭히다 |
AS811 | 조지 |
AS999 | 케빈 |
Emp_id와 Emp_name이라는 두 개의 열이 있는 이 테이블을 살펴보세요.
{Emp_id, Emp_name} -> Emp_id는 {Emp_id,Emp_name}의 하위 집합이므로 Emp_id는 사소한 기능적 종속성입니다.
DBMS의 중요한 기능 종속성
중요하지 않은 종속성이라고도 알려진 기능적 종속성은 B가 A의 하위 집합이 아닌 경우 A->B가 true일 때 발생합니다. 관계에서 B 속성이 A 속성의 하위 집합이 아닌 경우 이는 중요하지 않은 것으로 간주됩니다. 의존.
기업정보 | 대표이사 | 연령 |
---|---|---|
Microsoft | 사 티아 나 델라 | 51 |
구글 | Sundar Pichai | 46 |
Apple | 팀 쿡 | 57 |
예:
(회사} -> {CEO} (회사를 알면 CEO 이름도 알 수 있음)
그러나 CEO는 회사의 하위 집합이 아니므로 기능적 종속성이 적지 않습니다.
DBMS의 전이적 종속성
전이적 종속성은 "t"가 두 함수적 종속성에 의해 간접적으로 형성될 때 발생하는 함수적 종속성의 한 유형입니다. 다음 전이적 종속성 예제를 통해 이해해 보겠습니다.
예:
기업정보 | 대표이사 | 연령 |
---|---|---|
Microsoft | 사 티아 나 델라 | 51 |
구글 | Sundar Pichai | 46 |
Alibaba | 잭 마 | 54 |
{회사} -> {CEO} (회사를 알면 CEO 이름도 알 수 있음)
{CEO } -> {Age} CEO를 알면 나이도 알 수 있다
따라서 전이적 종속성 규칙에 따르면 다음과 같습니다.
{회사} -> {Age}가 유지되어야 합니다. 회사 이름을 알면 그의 나이를 알 수 있기 때문에 의미가 있습니다.
참고: 전이적 종속성은 세 개 이상의 속성 관계에서만 발생할 수 있다는 점을 기억해야 합니다.
정규화란 무엇입니까?
정규화는 데이터 중복, 삽입, 업데이트 및 삭제 이상 현상을 방지하는 데 도움이 되는 데이터베이스의 데이터를 구성하는 방법입니다. 서로 다른 기능적 종속성과 기본 키를 기반으로 관계 스키마를 분석하는 프로세스입니다.
정규화는 관계형 데이터베이스 이론에 내재되어 있습니다. 이는 데이터베이스 내에서 동일한 데이터를 복제하는 효과가 있어 추가 테이블이 생성될 수 있습니다.
기능적 의존성의 장점
- 기능적 종속성은 데이터 중복을 방지합니다. 따라서 동일한 데이터가 여러 위치에서 반복되지 않습니다. 데이터베이스
- 데이터베이스의 데이터 품질을 유지하는 데 도움이 됩니다.
- 데이터베이스의 의미와 제약 조건을 정의하는 데 도움이 됩니다.
- 잘못된 디자인을 식별하는 데 도움이 됩니다.
- 데이터베이스 설계에 관한 사실을 찾는 데 도움이 됩니다.
요약
- 기능적 종속성은 하나의 속성이 다른 속성을 결정하는 경우입니다. DBMS 시스템.
- 공리, 분해, 종속, 행렬식, 합집합은 기능적 종속성의 핵심 용어입니다.
- 기능적 종속성의 네 가지 유형은 1) 다중값 2) 사소한 3) 중요하지 않은 4) 전이적입니다.
- 다중값 종속성은 단일 테이블에 여러 개의 독립적인 다중값 속성이 있는 상황에서 발생합니다.
- Trivial 종속성은 속성 세트가 해당 속성에 포함된 경우 trivial이라고 불리는 속성 세트가 발생할 때 발생합니다.
- B가 A의 하위 집합이 아닌 경우 A->B가 true일 때 중요하지 않은 종속성이 발생합니다.
- 전이적이란 두 가지 기능적 종속성에 의해 간접적으로 형성될 때 발생하는 기능적 종속성의 한 유형입니다.
- 정규화는 데이터 중복을 방지하는 데 도움이 되는 데이터베이스의 데이터를 구성하는 방법입니다.