DBMS에서의 함수적 종속성: 유형 및 예제

⚡ 스마트 요약

함수 종속성은 DBMS에서 한 속성이 다른 속성과 어떻게 관련되는지를 결정하는 제약 조건입니다. 이는 결정인자와 종속인자를 식별하여 정규화를 뒷받침하며, 다중값 종속성, 자명 종속성, 비자명 종속성 및 전이 종속성으로 분류됩니다.

  • ➡ 핵심 아이디어: X → Y 변환에서 행렬식 X는 종속변수 Y의 값을 결정하며, 이는 화살표로 표시됩니다.
  • 🏷️ 핵심 용어: 행렬식, 종속행렬, 공리, 분해, 합집합은 종속성을 명명하고 조작하는 방법을 설명합니다.
  • 📐 암스트롱의 공리: 반사성, 증강성, 그리고 전이성은 집합이 논리적으로 함축하는 모든 의존성을 추론합니다.
  • 🔀 네 가지 유형: 다치 종속성, 자명 종속성, 비자명 종속성 및 전이 종속성은 각각 서로 다른 속성 관계를 설명합니다.
  • 🧹 정규화 링크: 종속성은 정규화를 유도하여 중복을 제거하고 업데이트 이상을 방지합니다.
  • 🔑 폐쇄 : 속성 클로저를 통해 후보 키와 종속성 여부를 확인할 수 있습니다.
  • ✅ 이점 : 올바른 의존 관계는 좋은 설계를 나타내며, 우수한 스키마와 그렇지 못한 스키마를 구분하는 기준이 됩니다.

DBMS의 기능적 종속성

기능적 의존성이란 무엇입니까?

기능적 종속성(FD) 함수적 종속성은 데이터베이스 관리 시스템(DBMS)에서 한 속성과 다른 속성 간의 관계를 규정하는 제약 조건입니다. 함수적 종속성은 데이터베이스의 데이터 품질을 유지하는 데 도움이 되며, 좋은 데이터베이스 설계와 나쁜 데이터베이스 설계를 구분하는 데 중요한 역할을 합니다.

함수적 종속성은 화살표 "→"로 나타냅니다. Y가 X에 대해 함수적으로 종속된다는 것은 X → Y로 표현됩니다. 예제를 통해 함수적 종속성을 이해해 보겠습니다.

예:

직원 번호 직원 이름 봉급 City
1 다나 50000 샌프란시스코
2 프란시스 38000 런던
3 앤드류 25000 도쿄

이 예시에서, 직원 번호를 알고 있다면 직원 이름, 도시, 급여 등을 얻을 수 있습니다. 따라서 도시, 직원 이름, 급여는 직원 번호에 함수적으로 의존한다고 할 수 있습니다.

핵심 용어

데이터베이스에서 함수 종속성을 다룰 때 사용하는 몇 가지 주요 용어는 다음과 같습니다.

핵심 용어 기술설명
공리 공리는 관계형 데이터베이스의 모든 함수적 종속성을 추론하는 데 사용되는 추론 규칙 집합입니다.
분해 하나의 테이블에 동일한 기본 키로 식별되는 두 개의 엔티티가 포함된 것으로 보이는 경우, 해당 테이블을 두 개의 별도 테이블로 분리하는 것을 고려해야 한다는 규칙입니다.
매달린 기능 의존성 다이어그램의 오른쪽에 표시됩니다.
결정자 기능 의존성 다이어그램의 왼쪽 부분에 표시됩니다.
노동 조합 이는 두 테이블이 분리되어 있고 기본 키가 동일한 경우, 두 테이블을 하나로 합치는 것을 고려해야 한다는 것을 시사합니다.

함수적 의존성의 규칙 (암스트롱의 공리)

다음은 데이터베이스에서 함수 종속성을 다룰 때 가장 중요한 세 가지 규칙입니다. 이 규칙들은 암스트롱의 공리로 알려져 있으며, 다른 모든 추론 규칙은 이 공리에서 도출될 수 있습니다.

  • 반사적 규칙: X가 속성들의 집합이고 Y가 X의 부분집합일 때, X → Y가 성립한다.
  • 증강 규칙: X → Y 관계가 성립하고 C가 속성 집합일 때, XC → YC 관계도 성립합니다. 속성을 추가해도 기본적인 종속성은 변하지 않습니다.
  • 추이성 규칙: 대수학의 추이 법칙과 유사하게, X → Y가 성립하고 Y → Z가 성립하면 X → Z도 성립합니다.

이로부터 세 가지 추가 규칙이 도출되며, 이 규칙들은 실무에서 끊임없이 사용됩니다.

  • 노조 규정: X → Y이고 X → Z이면 X → YZ이다.
  • 분해 규칙: X → YZ이면 X → Y이고 X → Z이다.
  • 유사 전이성 규칙: X → Y이고 WY → Z이면 WX → Z이다.

이러한 규칙을 일련의 종속성에 반복적으로 적용하면 다음과 같은 결과가 나타납니다. 폐쇄논리적으로 이어지는 모든 종속성 집합을 의미합니다. 속성 집합의 폐쇄는 후보 키를 찾는 방법이기도 하며, 이는 연구와 직접적으로 연결됩니다. 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_연식

자동차 모델 → 색상

DBMS의 사소한 기능 종속성

사소한 종속성이란, 해당 속성 집합에 포함되는 속성 집합을 말합니다. 따라서, X → Y는 Y가 X의 부분집합일 때 사소한 함수 종속성입니다. 아래 예시를 참고하세요.

Emp_id Emp_name
AS555 괴롭히다
AS811 조지
AS999 케빈

Emp_id와 Emp_name이라는 두 개의 열로 구성된 다음 테이블을 생각해 보세요. {Emp_id, Emp_name} → Emp_id는 Emp_id가 {Emp_id, Emp_name}의 부분집합이므로 자명한 함수적 종속성입니다.

DBMS에서 비자명 함수 종속성

A → B 관계가 성립하고 B가 A의 부분집합이 아닐 때 비자명 종속성이 발생합니다. 속성 B가 속성 A의 부분집합이 아닌 경우, 해당 종속성은 비자명한 것으로 간주됩니다.

회사 CEO 연령
Microsoft 사 티아 나 델라 51
Google Sundar Pichai 46
Apple 팀 쿡 57

예:

{회사} → {CEO} (회사를 알면 CEO 이름도 알 수 있습니다). 하지만 CEO는 회사의 부분집합이 아니므로, 이는 단순한 함수적 종속성이 아닙니다.

DBMS의 전이적 종속성

전이적 종속성은 두 함수적 종속성에 의해 한 속성이 간접적으로 결정될 때 발생하는 함수적 종속성의 한 유형입니다. 아래 예시를 참고하세요.

회사 CEO 연령
Microsoft 사 티아 나 델라 51
Google Sundar Pichai 46
알리바바 잭 마 54

{회사} → {CEO} (회사를 알면 CEO의 이름도 알 수 있습니다).

CEO를 알면 나이도 알 수 있습니다.

따라서, 추이적 의존성 법칙에 따라 {회사} → {나이} 관계가 성립해야 합니다. 이는 회사 이름을 알면 나이를 알 수 있기 때문에 타당합니다.

참고: 전이적 종속성은 세 개 이상의 속성을 가진 관계에서만 발생할 수 있습니다.

정규화란 무엇입니까?

정규화는 데이터베이스에서 데이터 중복 및 삽입, 업데이트, 삭제 이상 현상을 방지하는 데 도움이 되는 데이터 구조화 방법입니다. 이는 다양한 함수적 종속성과 기본 키를 기반으로 관계 스키마를 분석하는 과정입니다.

정규화는 관계형 데이터베이스 이론에 내재된 개념입니다. 정규화는 각 데이터가 한 번만 저장되도록 데이터를 여러 테이블에 분산 저장하는 효과를 가져올 수 있습니다. 전체 과정은 가이드에서 자세히 다룹니다. 데이터베이스 정규화이는 위의 종속성 유형을 기반으로 직접 구축됩니다.

기능적 의존성의 장점

  • 함수적 종속성은 데이터 중복을 방지하므로 동일한 데이터가 여러 위치에서 반복되지 않습니다. 데이터베이스.
  • 데이터베이스의 데이터 품질을 유지하는 데 도움이 됩니다.
  • 데이터베이스의 의미와 제약 조건을 정의하는 데 도움이 됩니다.
  • 잘못된 디자인을 식별하는 데 도움이 됩니다.
  • 데이터베이스 설계에 관한 사실을 찾는 데 도움이 됩니다.

자주 묻는 질문

결정인자는 화살표 왼쪽에 있는 속성으로, 값을 고정하는 역할을 합니다. 종속 변수는 화살표 오른쪽에 있는 속성으로, 그 값이 결정됩니다. X → Y 관계에서 X는 Y를 결정합니다.

함수적 종속성은 종속 변수에 대해 단일 값을 고정합니다. 다치 종속성은 여러 개의 독립적인 값을 허용하므로 별도의 속성이 필요하며 제4정규형으로 이어집니다.

종속성을 이용하여 속성 집합의 클로저를 계산합니다. 클로저에 관계의 모든 속성이 포함되면 해당 집합은 슈퍼키이고, 최소 클로저를 가진 집합은 후보 키입니다.

네. 의존성 발견 알고리즘(일부는 AI 지원)은 데이터 세트를 분석하여 잠재적 의존성을 제안합니다. 하지만 설계자는 이를 확인해야 합니다. 샘플 데이터에서 참인 패턴이 규칙 전체에 적용되는 것은 아니기 때문입니다.

이 속성은 비핵심 속성에 대한 정보를 저장하므로, 업데이트 시 이상 현상이 발생할 위험이 있습니다. 전이적 종속성을 제거하는 것이 바로 제3정규형의 요구 사항이며, 제3정규형은 모든 정보를 한 곳에 유지합니다.

이 게시물을 요약하면 다음과 같습니다.