Нормализация в системе управления базами данных
У меня есть отношение в базе данных:
Emp_project(SSN,PNum,Hours,Ename,PName,Plocs)
Меня попросили нормализовать отношения Emp_project
,
Как мне это нормализовать?
1 ответ
Отношение имеет связанный набор столбцов любого типа и связанный набор строк. В каждом столбце есть одно значение.
Иногда слово "нормализовать" означает (1) "разложить каждое отношение на более мелкие отношения, которые являются его проекциями и которые присоединяются к нему". Это нормализация к более высоким NFs (нормальные формы), чем 1NF. Это включает в себя FD (функциональные зависимости), JD (соединения зависимости) и теорию нормализации. Может быть, предполагается какой-то предыдущий "НФ". Может быть, тогда добавление в 1NF включено. Но для разложения нужны только отношения.
Иногда "нормализация" используется для обозначения (2) "преобразования отношений, у которых есть столбцы, имеющие отношение к значению, в отношения, которые не имеют". (Это было его первоначальное значение.) Повсеместно "нормализовать" (неправильно и неопределенно) используется для обозначения (3) "преобразования из отношения со столбцами с некоторыми типами, которые имеют несколько частей, в отношения с столбцами с типами частей ". Нежелательные столбцы называются "неатомарными", "составными" и т. Д. (Это неверное толкование (2).) После того, как (1) был разработан, эти использования "нормализации" стали "помещать в 1NF".
Иногда "отношение" означает отношение. Иногда это (простительно) означает отношение без столбцов со значениями. Иногда это (ошибочно) означает отношение без "неатомных" столбцов. Иногда "0NF" означает "не отношения". Иногда "0NF" означает "отношение". Иногда "1NF" означает "отношение".
Иногда "нормализовать" (неправильно) используют для обозначения (4) "преобразования из неродственных отношений в отношения", которые являются "0NF" или "просто отношения" и / или "1NF". (И обычно то, что нереляционная структура данных должна означать в терминах отношений, не объясняется. Поэтому "нормализация" на самом деле не определяется.) Иногда представления (3) пишутся так, как если бы в столбце было несколько значений на строку, но этого не может быть, так как отношение по определению имеет одно значение на столбец в строке, поэтому они не понимают, находятся ли они в (3) или (4).
Иногда "normalize" (ошибочно) используется для обозначения (5) "преобразования из отношения с некоторыми столбцами плюс один дополнительный столбец на значение в диапазоне в отношение только с одним дополнительным столбцом, но каждая строка оригинала заменяется строкой за каждый выпавший столбец ". Иногда (4) или (5) (ошибочно) называют "избавлением от повторяющейся группы". (Который является предреляционным нереляционным понятием.) Иногда "нормализация" (ошибочно) используется для обозначения (6) "преобразования из отношения со столбцами с определенными значениями в отношение со столбцами с идентификаторами плюс некоторые отношения (и) связывая идентификаторы с этими значениями ".
Итак, что вы имеете в виду, "нормализовать"? В этом вопросе один из столбцов, Plocs
Похоже, что это "места расположения проекта". Так что, возможно, "нормализовать" используется в смысле 3, а может быть, и некоторые другие. Вы должны посмотреть, чему вас учили и какие ссылки вам давали.