2016-05-06 2 views
0

Я совершенно новый для баз данных/SQL и имею практический вопрос: «Каковы функциональные зависимости, показанные выше?»Список функциональных зависимостей - включает транзитивные или многозначные?

Из того, что я понимаю, есть 4 зависимости: тривиальный функциональный, функциональный, транзитивный и многозначный.

Был ли вопрос ожидающим, что все четыре типа будут перечислены или только первые два?

Если только первые два являются специальным именем для них или являются «зависимостями», тогда как первые два в списке являются функциональными зависимостями?

Большое спасибо

ответ

1

Существуют различные виды зависимостей. Наиболее распространенные, которые играют роль в нормализации, являются функциональными, многозначными и объединяются.

Для каждого из этих трех видов зависимость может быть тривиальной.

Вас спрашивали о FD. FDs, MVDs & JD - это три разные вещи. (Хотя FD имеет ассоциированный MVD, а MVD имеет ассоциированный JD.)

Зависимость может удерживать или не удерживать в заданном значении таблицы. Он также может удерживать или не удерживать в заданной переменной таблицы, что означает, что он удерживает или не удерживает (соответственно) в каждом значении, которое может возникнуть для переменной, заданной бизнес-правилами.

FD является тривиальным, когда его определенный набор является подмножеством его определяющего множества. Любой тривиальный FD, который вы можете сделать, используя атрибуты отношения, содержится в нем.

Частичный FD, содержащийся в отношении, является тем, где отбрасывание каких-либо определяющих атрибутов может дать другой FD, который хранится в этом отношении. FD, которые имеют отношение, которые не являются частичными, заполнены.

Транзитивный FD X -> Z, который имеет место в отношении, является отношением, где в отношении X -> Y и Y -> Z выполняется соотношение, но Y -> X не выполняется. FD, которые имеют отношение, которые не являются транзитивными, не являются транзитивными.

Подходящий FD может иметь нулевой или более тривиальный, полный и/или транзитивный независимо. Поэтому, когда его просят перечислить все FD, нет смысла перечислять их по этим типам.

В вашем назначении «показано» означает «показано на удержание». Вы должны спросить своего инструктора, какие FDs вы должны перечислить, учитывая примерное значение таблицы. Возможно, вы должны перечислять только FD, которые явно передаются, чтобы удерживать их, если некоторые определенные субэлементы появляются только с одним и тем же определяющим субэлементом. Возможно, вы должны перечислить все FD, которые хранятся с учетом того, что явные. Возможно, это один из тех случаев, за исключением того, что вы не должны перечислять тривиальные.

2

Я не могу говорить за спрашивающий, но я бы ожидал увидеть нетривиальную функциональную зависимость, и был бы рад видеть транзитивную зависимость, перечисленную хотя они могут быть получены из первых. Перечисление тривиальных FD без указания их как такового может указывать на то, что учащийся не понимает разницы. Я бы не ожидал, что МВД будут перечислены, если в вопросе упоминаются только FD.

Если у вас есть сомнения, перечислите все 4 типа, следя за тем, чтобы указать характер каждого из них.

+0

Thanks @reaanb Итак, все четыре, но обозначают их как наиболее разумный вариант. –

+0

@Jdoh Ваш вопрос и этот комментарий отражают путаницу в отношении зависимостей, и этот ответ не проясняет их. (Например, нетривиальный не означает полный, MVDs не являются FD, и есть много других видов зависимостей.) См. Мой ответ. – philipxy

+0

@philipxy Спасибо за исправление, я обновил свой ответ. – reaanb

Смежные вопросы