관계형 데이터베이스에서 동일한 데이터베이스 테이블에 저장된 정보가 동일한 테이블에 저장된 다른 정보를 고유하게 결정할 때 종속성이 발생합니다. 다중 값 종속은 테이블에있는 하나 이상의 행의 존재가 동일한 테이블에있는 하나 이상의 다른 행의 존재를 의미 할 때 발생합니다. 즉, 테이블의 두 속성 (또는 열)은 서로 독립적이지만 둘 다 세 번째 속성에 의존합니다.
다중 값 종속성은 정규화 표준 네 번째 정규 형식 (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의 단일 기능 종속성도 있습니다. 복잡한 테이블을 단순화하여 단일 테이블에 너무 많은 이질적인 정보가 포함되도록하기보다는 단일 아이디어 나 주제와 관련된 정보를 포함하도록 정규화를 수행하는 경우가 종종 있습니다.학생 이름 주요한 스포츠 라비 미술사 축구 라비 미술사 배구 라비 미술사 테니스 베스 화학 테니스 베스 화학 축구 다중 값 종속성 및 정규화
학생 이름 주요한 라비 미술사 라비 미술사 라비 미술사 베스 화학 베스 화학 학생 이름 스포츠 라비 축구 라비 배구 라비 테니스 베스 테니스 베스 축구