Пара вопросов нормализации - PullRequest
0 голосов
/ 18 июля 2011

Мои вопросы:


1) Если у меня есть отношение R(A,B,C), являющееся AB первичным ключом, а F = {}, могу ли я предположить, что C зависит от AB? Я бы сказал нет, но я прошу просто убедиться.


2) Я считаю само собой разумеющимся, что AB -> CDE - это то же самое, что сказать AB -> C, AB -> D, AB -> E и сказать AB -> CE, AB -> D. Я прав?


3) Возьмите R(A,B,C,D), являясь AB первичным ключом с F = {AB->C}. Это в 2NF? Я бы сказал нет, так как D не зависит ни от какого другого атрибута, не говоря уже о первичном ключе!


4) Я пытаюсь понять, если с

R(K, L, M, N, O,P) 

является KL первичным ключом

F = { KL->MN, KL->OP, M->N, O->P }

R находится в 2NF или 3NF. И P, и N зависят (хотя и косвенно) от всего первичного ключа. Достаточно ли быть в 2NF? Если это так, я бы сказал, что R не находится в 3NF, поскольку не должно быть зависимостей между непростыми атрибутами в отношении 3NF, верно?

Спасибо

1 Ответ

1 голос
/ 18 июля 2011

Я предполагаю, что это домашнее задание, поэтому я даю направление, а не обязательно ответы.

1) Если у меня есть отношение R (A, B, C), являющееся AB первичным ключом, и F = {}, могу ли я предположить, что C зависит от AB? Я бы сказал нет, но я прошу просто убедитесь.

Знаете ли вы, как определить функциональную зависимость, когда вам ее не дают? В этом случае вы задаете себе этот вопрос: «Учитывая значения для {A, B}, идентифицируют ли эти значения одно и только одно значение для {C}?» Если ответ «да», у вас есть функциональная зависимость; если ответ «нет», то нет.

2) Я считаю само собой разумеющимся, что AB -> CDE - это то же самое, что сказать AB -> C, AB -> D, AB -> E и, как говорится, AB -> CE, AB -> D. Я прав?

Я бы не сказал, что это "то же самое, что сказать". Я бы сказал, что из функциональной зависимости AB-> CDE вы можете получить все эти другие функциональные зависимости.

3) Возьмем R (A, B, C, D), являясь AB первичным ключом с F = {AB-> C}. Это в 2НФ? Я бы сказал нет, так как D не зависит ни от какого другого атрибута, пусть один первичный ключ!

См. Номер 1.


Расширение вопросов в комментариях ниже. , .

Если вы скажете, {A, B} -> {каждый второй столбец}, то почему не все 1NF отношения в 2НФ?

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

Представьте, что ПК - это личность человека. А теперь представь единственное другое атрибутом в этом отношении является количество уток, обнаруженных в Аризона 97 года. Между А и Б нет никаких отношений в реальном мире все же из того, что вы говорите, можно предположить, что A -> B.

Да, но - это связь между этими двумя столбцами. Между ними есть отношения, потому что вы кладете их в одну таблицу. В этой таблице, если вам известно значение для A, то вы знаете одно и только одно значение для B. (Если A определило более одного значения для B, то A не может быть первичным ключом.)

...