Являются ли почтовые индексы нарушением 3-й нормальной формы? - PullRequest
9 голосов
/ 28 апреля 2009

Учитывая, что информация о состоянии неявно присутствует в почтовом индексе, не хранится ли в них обоих какое-либо нарушение третьей нормальной формы? Можно или нужно просто объединить их в одно поле?

Ответы [ 5 ]

14 голосов
/ 28 апреля 2009

Согласно этой записи , есть несколько почтовых индексов, которые пересекают государственные границы. Так что нет, это не нарушение 3NF.

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

Один из таких случаев - Протем, Миссури (почтовый индекс 65733). К некоторым из арканзасских дорог к северу от озера Булл Шоулс лучше всего обращаться через отдел доставки Protem, а не через почтовое отделение Арканзаса. Некоторые примеры таких дорог включают улицу Анн-стрит, Калиджа-роуд, МакБрайд-роуд, Ред-Оук-лейн и Вэнс-роуд на шоссе Carrier Route H002 в почтовом индексе 65733. МакБрайд-роуд фактически пересекает государственную границу. Если вы посмотрите на дорожную сеть в программе онлайн-картографирования, то увидите, что сельскому перевозчику, скажем, из Даймонд-Сити, штат Аризона (почтовый индекс 72644), на южной стороне Булл-Шоулз-Лейк, потребуется проехать несколько миль, чтобы иметь возможность доступа к дорогам, перечисленным выше.

В качестве другого примера, в Форт-Кэмпбелл, штат Кентукки (почтовый индекс 42223) также есть некоторые дороги, которые существуют в штате Теннесси.

8 голосов
/ 28 апреля 2009

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

И 3NF, будучи невероятно полезным, не является неприкосновенным. Иногда я возвращал некоторую табличную информацию обратно в 2NF по соображениям производительности.

2 голосов
/ 28 апреля 2009

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

2 голосов
/ 28 апреля 2009

Неа. Есть некоторые почтовые индексы, которые пересекают государственные границы. См. Википедия для некоторых примеров. Кроме того, нормализация уменьшает избыточность, в то время как адреса на самом деле являются довольно сложными вещами, которые легко получить из одного компонента неправильно. Избыточность означает, что, даже если часть адреса неверна, существует большая вероятность, что почта сможет добраться туда, куда она направляется.

Я помню время, когда турист из Европы останавливался в моем братстве и хотел отправить благодарственное письмо. Он не очень хорошо понимал американские адреса или географию, поэтому, когда он отправил записку, она была адресована «<имя братства> <не совсем правильное название университета> Новая Англия? США». Почта действительно попала туда, как ни странно.

Избыточность в адресах может быть очень хорошей вещью, и вы, как правило, не должны предполагать больше об адресе, чем нужно. Например, у некоторых людей нет номера улицы; вы ставите «общую доставку», и почтальон должен знать, куда отправляется письмо (или вы можете забрать его на почте, если он этого не делает).

0 голосов
/ 29 августа 2016

3NF нарушение на примере

Давайте посмотрим на приведенную ниже денормализованную таблицу для проекта постов в блоге. Это не 3-я нормальная форма, она сломана. Допустим, есть несколько посты с одним и тем же автором, мы можем обновить несколько строк и оставить другие без изменений. Несоответствие данных таблицы.

denormalized table for a blog posts project

Следовательно, это нарушает нормализацию, поскольку нарушает общий способ описания нормализованных таблиц в 3-й нормальной форме, а именно: каждый неключевой атрибут в таблице должен предоставлять факт о ключе, весь ключ и ничего кроме ключа . И это игра слов для того, что вы говорите в зале суда США, говоря правду, всю правду и ничего кроме правды. Ключ в этом случае - Post Id, и есть неключевой атрибут Author Email, который не следует за этим. Потому что это, на самом деле сказать что-то об авторе. И поэтому он нарушает эту третью нормальную форму, не достигая целей нормализации

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

...