2016-09-23 6 views
-1

Итак, я начал с этой проблемы в своем учебнике: http://imgur.com/Ax8hXj6 , а затем мне пришлось найти все зависимости и создать 3NF из оригинала ... Я потратил часы, пытаясь понять это и получить его правильно. Может кто-то, пожалуйста, сообщите мне о своем конечном продукте? http://imgur.com/PE2hY56 (Я знаю, что это реляционная модель, а не ERD - я понял, что это будет проще)1NF to 3NF - Review

+0

Перечислите свои функциональные зависимости. – reaanb

+0

Никаких функциональных зависимостей не было дано, я обнаружил, что частичные и переходные зависимости зависят от 1NF до 3NF – Nic

+0

Атрибуты являются функциональными зависимостями (FD), частичные зависимости - это FD и транзитивные зависимости - это состав FD. Точка перечисления идентифицированных вами FD - это то, что я могу проверить, правильно ли вы использовали их для нормализации. Я могу получить FD из вашего решения, но затем я сравниваю ваш ответ с самим собой и свою собственную интерпретацию данных. – reaanb

ответ

0

Я согласен с большинством ваших решений. Тем не менее, некоторые детали выделяются:

  • Вы введены либо TRAINING_ID или TRAINING_DESCR в Training. Оригинал EMP_TRAINING имел единый домен значений. Нормализация даст вам только таблицу мостов.
  • Вы ввели EDUC_CODE или EDUC_DESCR в Education. Оригинал EMP_EDUCATION имел единый домен значений. Нормализация даст вам только таблицу мостов.
  • Вы ввели EMP_CODE в качестве атрибута JOB_CLASS. Я не вижу соответствующего атрибута в оригинале.
  • DEPEN_NUM не ошибается, но это зависит от того, интерпретируете ли вы EMP_DEPENDENTS как упорядоченный или неупорядоченный список. Я бы использовал (EMP_NUM, DEPEN_FNAME) в качестве ключа для Dependents. Ваше равноценное решение.

Надеюсь, это поможет.

+0

Я смущен о ваших первых трех моментах. Для первых двух, обучение и образование - это много-много отношений, потому что у сотрудника может быть много тренировок или степеней, а степень или обучение могут принадлежать многим сотрудникам, поэтому мне нужно было бы разбить его на мост да? И для третьего это должен быть EMP_Num, который исправил бы, что я считаю. – Nic

+0

Следуя правилам нормализации, вы дали бы отношение «(EMP_NUM, EMP_EDUCATION)». В исходных данных нет отдельного кода и описания. То же самое для обучения. – reaanb

+0

'JOB_CLASS -> EMP_NUM' в' Job' неверно - есть два сотрудника с классом SLS. У вас уже есть 'EMP_NUM -> JOB_CLASS' в' Employee', который фиксирует правильную зависимость. – reaanb