Мне нужно закрыть это. Я сфабриковал определение, что частичная зависимость заключается в том, что поля косвенно зависят от первичного ключа или частично зависят, но также зависят от других ключей, которые зависят от первичного, так что если поле, в котором другое поле зависит от id, удаляется, это поле все еще будет существовать из-за к его зависимости от первичного ключа. Я не уверен, что это правильно. Я исследовал и каждое определение звучит обманчиво. Правильно ли мое определение и если не объясните, пожалуйста?
Частичная зависимость (базы данных)
Ответ 1
FD (функциональная зависимость), которая сохраняется в отношении, является частичной, когда удаление одного из определяющих атрибутов дает FD, которое сохраняется в отношении. FD, который не является частичным, полон.
Например: если {A, B} → {C}, но также {A} → {C}, то {C} частично функционально зависит от {A, B}.
Например: здесь значение отношения, где выполняется это примерное условие. (FD хранится в переменной отношения, когда он содержится в каждом значении, которое может возникнуть.)
A B C
1 1 1
1 2 1
2 1 1
Нетривиальные FD, которые содержат: {A, B}, определяют {C}, {B, C}, {A, C} & {A, B, C}; {A}, {B} & {} определить {C}. {A, B} → {C} является частичным для {A} → {C} & за {} → {C}. {A} → {C} & {B} → {C} являются частичными для {} → {C}. Другие FD заполнены.
Функциональная зависимость X → Y является полной функциональной зависимостью, если удаление любого атрибута A из X означает, что зависимость не держи больше; то есть для любого атрибута A ε X (X - {A}) не функционально определить Y. Функциональная зависимость X → Y является частичной зависимость, если некоторый атрибут A ε X может быть удален из X и зависимость по-прежнему сохраняется; то есть для некоторого A ε X, (X - {A}) → Y.
- Основы систем баз данных ШЕСТОЕ ИЗДАНИЕ Ramez Elmasri & Navathe
Обратите внимание, что заполнение FD по сравнению с частичным не зависит от CK (ключей-кандидатов), не говоря уже о одном CK, который вы, возможно, называете PK (первичным ключом).
(Определение 2NF включает в себя полную функциональную зависимость не-CK-атрибутов от CK, но любой FD, который содержит, является либо полным, либо частичным. И PK (первичные ключи) также не имеют значения для 2NF.)
(Помните, что это определение в учебнике "переходного FD" не определяет то же самое, что и стандартное определение "переходного FD".)
Ответ 2
Частичная зависимость означает, что атрибут nonprime функционально зависит от части ключа-кандидата. (Атрибут nonprime - это атрибут, который не является частью какого-либо ключа кандидата.)
Например, пусть начнется с R {ABCD} и функциональных зависимостей AB- > CD и A- > C.
Единственный ключ-кандидат для R - AB. C и D являются непервичными атрибутами. C функционально зависит от A. A является частью ключа-кандидата. Это частичная зависимость.
Ответ 3
Частичная зависимость подразумевает ситуацию, когда атрибут non-prime (атрибут An, который не является частью определителя (основной ключ/ключ кандидата)) функционально зависим к части/части ключа первичного ключа/кандидата.
Ответ 4
Частичная зависимость - это один из видов функциональной зависимости, который возникает, когда первичным ключом должен быть ключ-кандидат, а не основной атрибут зависит от подмножества/части ключа кандидата (более одного первичного ключа).
Попробуйте понять, что частичная зависимость связана через пример:
Продавец (Id, Product, Price)
Ключ кандидата: Идентификатор, продукт
Непрерывный атрибут: Цена
Атрибут цены зависит только от атрибута Product, который является подмножеством ключа-кандидата, Не весь ключ ключа кандидата (Id, Product). Это называется частичной зависимостью.
Таким образом, мы можем сказать, что Продукт → Цена является частичной зависимостью.
Ответ 5
Частичная функциональная зависимость происходит только по отношению к составным клавишам. Частичная функциональная зависимость возникает, когда один или несколько атрибутов не-ключа зависят от части первичного ключа.
Пример:
Таблица: Stud_id, Course_id, Stud_name, Course_Name
Где: Первичный ключ = Stud_id + Course_id
Тогда: Чтобы определить имя учащегося, мы используем только Stud_id, который является частью первичного ключа.
{Stud_id} → {Stud_Name}
Следовательно, имя_пакета частично зависит от Stud_id. Это называется частичной зависимостью.
Ответ 6
Частичная зависимость решается для достижения отношения в 2NF, но 2NF является "ступенчатым камнем" (C. Date) для решения любой транзитивной зависимости и перехода к соотношению в 3NF (который является оперативной мишенью). Однако самое интересное в частичной зависимости состоит в том, что это частный случай собственной транзитивной зависимости. Это было продемонстрировано П. А. Берштейном в 1976 году: IF {(x • y) → z, но y → z} THEN {(x • y) → y и y → z}. Алгоритм синтеза 3NF Берштейна не требует выполнения различий между этими двумя типами реляционных дефектов.
Ответ 7
Я надеюсь, что это объяснение дает более интуитивную привлекательность для зависимости, чем ответы ранее.
Функциональная зависимость
Анализ зависимости работает на уровне атрибута, то есть один или несколько атрибутов определяются другим атрибутом, он предшествует концепции ключей. "Роль ключа основана на концепции определения. "Определение является государством в котором знание значения одного атрибута позволяет определить значение другого. Системы баз данных 12ed
Функциональная зависимость - это когда один или несколько атрибутов определяют один или несколько атрибутов. Например:
Номер социального страхования → Имя, Фамилия.
Однако по определению функциональной зависимости:
(SSN, Имя) → Фамилия
Это также допустимая функциональная зависимость. определители (атрибут, который определяет другую атрибуцию) называются супер ключом.
Полная функциональная зависимость
Таким образом, в качестве подмножества функциональной зависимости существует концепция полной функциональной зависимости, где рассматривается минимальный определитель. Мы называем эти минимальные детерминанты вместе как один ключ-кандидат (на мой взгляд, странный лингвистический изворот, как понятие вектора).
Частичная функциональная зависимость
Однако иногда одного из атрибутов в ключе-кандидате достаточно для определения другого атрибута (ов), НО не всех, в отношении (таблица без строк). Это когда у вас есть частичная функциональная зависимость внутри отношения.
Ответ 8
Если есть отношение R (ABC)
-----------
|A | B | C |
-----------
|a | 1 | x |
|b | 1 | x |
|c | 1 | x |
|d | 2 | y |
|e | 2 | y |
|f | 3 | z |
|g | 3 | z |
----------
Given,
F1: A --> B
F2: B --> C
Первичный ключ и ключ-кандидат: A
Поскольку замыкание A+ = {ABC} или R --- Значит, только атрибут A достаточен для нахождения отношения R.
DEF-1: Из некоторых определений (неизвестный источник). Частичная зависимость - это зависимость, когда основной атрибут (т.е. атрибут, являющийся частью (или надлежащим подмножеством) ключа-кандидата) определяет непростой атрибут (т.е. атрибут, который не является частью (или подмножеством) ключа-кандидата).
Следовательно, A - это простой (P) атрибут, а B, C - не простые (NP) атрибуты.
Итак, из приведенного выше DEF-1,
РАССМОТРЕНИЕ-1:: F1: A → B (P определяет NP) --- Это должна быть частичная зависимость.
РАССМОТРЕНИЕ-2:: F2: B → C (NP определяет NP) --- Переходная зависимость.
Из ответа @philipxy (fooobar.com/info/615717/...) я понял, что...
РАССМОТРЕНИЕ-1 :: F1: A → B; Должна быть полностью функциональная зависимость, потому что B полностью зависит от A, и если мы удалим A, тогда не будет надлежащего подмножества (для полного пояснения рассмотрим L.H.S. как X NOT BY SINTLE ATTRIBUTE), которое могло бы определить B.
Например: если я рассмотрю F1: X → Y, где X = {A} и Y = {B}, то если мы удалим A из X; то есть X - {A} = {}; и пустой набор обычно не рассматривается (или не рассматривается вообще) для определения функциональной зависимости. Таким образом, не существует подходящего подмножества X, которое могло бы содержать зависимость F1: X → Y; Следовательно, это полностью функциональная зависимость.
F1: A → B Если мы удалим A, то не будет атрибута, который мог бы содержать функциональную зависимость F1. Следовательно, F1 - полностью функциональная зависимость, а не частичная зависимость.
If F1 were, F1: AC --> B;
and F2 were, F2: C --> B;
then on the removal of A;
C --> B that means B is still dependent on C;
we can say F1 is partial dependecy.
Итак, @philipxy ответ противоречит DEF-1 и CONSIDERATION-1, что верно и кристально ясно.
Следовательно, F1: A → B является полностью функциональной зависимостью, а не частичной зависимостью.
Я рассмотрел X, чтобы показать левую часть функциональной зависимости, потому что у одного атрибута не может быть надлежащего подмножества атрибутов. Здесь я рассматриваю X как набор атрибутов и в текущем сценарии X это {A}
- Для источника DEF-1, пожалуйста, поиск в Google, вы можете найти похожие определения. (Учтите, что DEF-1 неверен или не работает в вышеупомянутом примере).