Skip to main content

데이터베이스의 다중 값 종속성

WEB2 JavaScript - 8.웹브라우저 제어 (유월 2025)

WEB2 JavaScript - 8.웹브라우저 제어 (유월 2025)
Anonim

관계형 데이터베이스에서 동일한 데이터베이스 테이블에 저장된 정보가 동일한 테이블에 저장된 다른 정보를 고유하게 결정할 때 종속성이 발생합니다. 다중 값 종속은 테이블에있는 하나 이상의 행의 존재가 동일한 테이블에있는 하나 이상의 다른 행의 존재를 의미 할 때 발생합니다. 즉, 테이블의 두 속성 (또는 열)은 서로 독립적이지만 둘 다 세 번째 속성에 의존합니다.

다중 값 종속성은 정규화 표준 네 번째 정규 형식 (4NF)을 방지합니다. 관계형 데이터베이스는 레코드 디자인 지침을 나타내는 다섯 가지 표준 형식을 따릅니다. 데이터의 업데이트 이상 및 불일치를 방지합니다. 네 번째 정규 형식은 데이터베이스에서 다 대 일 관계를 처리합니다.

기능 종속성 대 다중 값 종속성

다중 값 종속성을 이해하려면 함수 종속성을 다시 방문하는 것이 좋습니다.

속성 X가 속성 Y를 고유하게 결정하면 Y는 기능적으로 X에 종속됩니다. 이는 X -> Y로 작성됩니다. 예를 들어, 아래의 학생 테이블에서 Student_Name은 Major :

재학생
학생 이름주요한
라비미술사
베스화학

이 기능 의존성은 다음과 같이 쓸 수 있습니다 : Student_Name -> Major . 각 Student_Name은 정확히 하나의 메이저를 결정합니다.

데이터베이스에서 학생들이 수행하는 스포츠를 추적하기를 원하면 가장 쉬운 방법은 Sport라는 또 다른 열을 추가하는 것입니다.

재학생
학생 이름주요한스포츠
라비미술사축구
라비미술사배구
라비미술사테니스
베스화학테니스
베스화학축구

문제는 라비와 베스가 여러 스포츠를하는 것입니다. 모든 추가 스포츠에 대해 새로운 행을 추가해야합니다.

이 표는 전공과 스포츠가 서로 독립적이지만 둘 다 학생에 달려 있기 때문에 다중 값 의존성을 도입했습니다.

이것은 간단한 예제이며 쉽게 식별 할 수 있지만 크고 복잡한 데이터베이스에서 다중 값 종속성이 문제가 될 수 있습니다.

다중 값 종속은 X -> - Y로 작성됩니다.이 경우 :

학생 이름 ->-> 주요한학생 이름->-> 스포츠

이것은 "Student_Name multidetermines Major"및 "Student_Name multidetermines Sport"로 읽습니다.

다중 값 종속성은 세 번째 특성에 종속적 인 두 개 이상의 특성으로 구성되기 때문에 항상 최소한 세 개의 특성을 필요로합니다.

다중 값 종속성 및 정규화

다중 값 종속성이있는 테이블은 불필요한 중복을 생성하고 일치하지 않는 데이터에 기여할 수 있으므로 Fourth Normal Form (4NK)의 표준화 표준을 위반합니다. 이를 4NF로 가져 오려면이 정보를 두 개의 테이블로 분리해야합니다.

아래 표에는 이제 Student_Name -> Major의 기능 종속성이 있으며 다중 값 종속성은 없습니다.

학생과 전공
학생 이름주요한
라비미술사
라비미술사
라비미술사
베스화학
베스화학

이 표에는 Student_Name -> Sport의 단일 기능 종속성도 있습니다.

학생 및 스포츠
학생 이름스포츠
라비축구
라비배구
라비테니스
베스테니스
베스축구

복잡한 테이블을 단순화하여 단일 테이블에 너무 많은 이질적인 정보가 포함되도록하기보다는 단일 아이디어 나 주제와 관련된 정보를 포함하도록 정규화를 수행하는 경우가 종종 있습니다.