Может ли таблица иметь столбцы, которые не зависят от первичного ключа и все еще находятся в 2NF? - PullRequest
0 голосов
/ 27 февраля 2019

Я новичок в базах данных и изучал обычные формы / методы работы с базами данных за последние два дня.Я создал следующую таблицу макетов для данных осмотра самолета, но я не уверен, что она находится во второй нормальной форме.Идентификатор проверки является первичным ключом, но единственной информацией, которая действительно зависит от идентификатора проверки, является дата.Технический приказ - это руководство, которое следует механику для проверки самолета, но оно никак не влияет на идентификационный номер инспекции.Имя инспектора также не зависит от идентификатора инспекции.

Будет ли эта таблица разбита на 2NF, если два столбца не зависят от первичного ключа?

Таблица ниже:

enter image description here

1 Ответ

0 голосов
/ 27 февраля 2019

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

Остальная часть моего ответа посвящена вопросу, удовлетворяет ли таблица третьей нормальной форме или нет (спасибо за указание на это, philipxy).


Не должно быть никакой логической зависимости между первичным ключом и данными.Фактически, первичные ключи часто являются искусственно сгенерированными числами.

Дело в том, что ни одно поле не должно зависеть ни от какого поля , кроме первичного ключа.

Например, еслиInspector Name в вашем примере всегда будет одинаковым для Technical Order, таблица будет не во второй нормальной форме.В этом случае вы создадите вторую таблицу, где Technical Order - это первичный ключ, а Inspector Name - это поле.Ваша исходная таблица будет содержать только Technical Order в качестве внешнего ключа для этой второй таблицы.

Нормализация вашей модели данных таким образом позволяет избежать избыточности, что уменьшает пространство хранения и автоматически снижает опасностьнесогласованности (теперь не может быть двух строк с одинаковым Technical Order, но с другим Inspector Name.

Чтобы определить, нормализована ли таблица, необходимо знать семантикуданные.

...