Учитывая, что информация о состоянии неявна в почтовом индексе, они не сохраняют оба из них в виде некоторой третьей нормальной формы? Может или вы должны просто объединить их в одно поле?Являются ли почтовый индекс и нарушение почтового индекса третьей нормальной формы?
ответ
Согласно this post, существует несколько почтовых индексов, которые пересекают границы штатов. Так что нет, это не нарушение 3NF.
На самом деле, есть несколько редких случаев, когда почтовый индекс пересекает границы состояний. Обычно это связано с проблемами доступа, такими как находясь на военной базе или из-за ограничений сети связи.
Один такой случай - Протем, штат Миссури (почтовый индекс 65733). Некоторые из дорог Арканзаса к северу от озера Булл Шоалс могут получить доступ только от пункта доставки протестов, а не от почтового отделения в Арканзасе. Некоторые примеры таких дорог включают в себя Энн-стрит, Калейха-роуд, Макбрайд-роуд, Красный Оук-Лейн и Вэнс-роуд на шоссе-перевозчике H002 в почтовом индексе 65733. Макбрайд-роуд фактически пересекает государственную границу. Если вы посмотрите на дорожную сеть в онлайн-картографической программе, вы увидите, что сельский перевозчик, скажем, неподалеку от Diamond City, AR (почтовый индекс 72644), на южной стороне озера Bull Shoals, должен будет проехать несколько миль до иметь доступ к дорогам, перечисленным выше.
На другом примере в Форт Кэмпбелл, штат Кентукки (Почтовый индекс 42223), также есть дороги, которые существуют в Теннесси.
Это утверждение не соответствует действительности во всех географических районах. В Австралии есть несколько городов-побратимов, которые располагают государственными границами, но имеют один и тот же почтовый индекс.
И 3NF, будучи невероятно полезным, не является неприкосновенным. Я иногда возвращал некоторую информацию таблицы обратно в 2NF по соображениям производительности.
+1 за то, что не защищал 3NF религиозно. Если нет никакой реальной озабоченности в том, что вы получаете несогласованные данные, и если требования к дополнительным хранилищам для избыточных данных минимальны (например, два байта для кода состояния), не нормализуйтесь для нормализации. Возможность избежать глупого соединения - это то, что вы получаете в компромиссе. – Thilo
Хорошо, что то же самое. –
Nope. Есть некоторые почтовые индексы, которые пересекают государственные линии. См. Wikipedia для некоторых примеров. Более того, нормализация уменьшает избыточность, а адреса на самом деле довольно сложные вещи, которые легко получить один компонент из-за неправильного. Избыточность означает, что даже если часть адреса неверна, есть хороший шанс, что почта сможет получить то, где она будет.
Я помню время, когда турист из Европы оставался в моем братстве и хотел отправить благодарственное письмо. Он не очень хорошо понимал американские адреса или географию, поэтому, когда он отправил записку, он был адресован «< братскому названию> < не совсем корректное название университета> New England? USA». Письмо действительно добралось туда, удивительно.
Резервирование адресов может быть очень хорошим, и вы, как правило, не должны больше относиться к адресу, чем вам нужно. Например, у некоторых людей нет номера улицы; вы ставите «общую доставку», и почтальон должен знать, куда отправляется письмо (или вы можете забрать его в почтовом отделении, если он этого не сделает).
Существует другая проблема. Возможно, вы захотите изменить разницу между введенными данными (которые могут быть противоречивыми) и сделанным вами заключением.
Хотя почтовые индексы могут содержать адреса более чем в одном состоянии, любой почтовый адрес, стандартизованный для USPS-требований программным обеспечением CASS, будет иметь аббревиатуру ZIP и состояния, так что каждый ZIP подразумевает одно и только одно состояние, поэтому состояние действительно избыточно для ZIP. См. http://semaphorecorp.com для дешевых инструментов CASS.
Однако сохранение двух байтов аббревиатуры состояния в той же записи, что и ZIP, является простым, маленьким и быстрым. Сегрегация аббревиатуры состояния в отдельную таблицу поиска излишне добавляет сложности, пространства и задержки.
3NF нарушение например
Давайте посмотрим на ниже Денормализованные таблицы для проекта блога. Это не третья нормальная форма, она сломана. Предположим, что есть несколько сообщений с тем же автором, мы можем обновить несколько строк и оставить другие неактивными. Оставляя данные таблицы непоследовательными.
Следовательно, это нарушает нормализацию, поскольку это нарушает общий способ описания нормализованных таблиц в 3-й нормальной форме, которая является то, что каждый неключевой атрибут в таблице должен обеспечить факт о ключе, то весь ключ и ничего, кроме ключа. И это игра слов о том, что вы говорите в зале суда США, рассказывая правду, всю правду и ничего, кроме правды. Ключ в этом случае - Post Id
, и есть неключевой атрибут Author Email
, который не следует этому. Потому что он действительно говорит об авторе. И поэтому он нарушает эту 3-ей нормальную форму, не достигая goals of normalization
надеюсь, что это поможет.
lol Оставьте его нам, чтобы сделать даже самые простые вещи нечестивого комплекса ... – ojblass
Отличная ссылка ... спасибо .... – ojblass