Коллега набросал значение новой таблицы, как:Пытаясь определить конкретный вопрос нормализации базы данных
"Foo", "some value 1"
"Foo", "some value 2"
"Foo", "some value 3"
"Bar", "some value 3"
только эти столбцы в таблице. Имена столбцов - Col1, Col2.
Один человек сказал, что эта таблица не нормализована, другой сказал, что это так.
Конкретный аргумент, что он нарушает нормализацию, заключается в том, что удаление трех записей с помощью «Foo» в Col1 «Foo» больше не будет присутствовать в системе. Этот человек сказал, что должна быть таблица поиска, содержащая идентификатор и столбец Name. В приведенной выше таблице ссылка на Id этой таблицы будет отображаться как ее FK.
Аргумент о том, что он не был нормализован, состоит в том, что в таблице не было третьего столбца, зависящего от первой (3-й нормализованной формы).
Путаница Я думаю, что исходит из того, что 1nf в том, что она удовлетворяет этому примеру:
Customer Tr. ID Date Amount
Jones 12890 14-Oct-2003 -87
Jones 12904 15-Oct-2003 -50
Wilkins 12898 14-Oct-2003 -21
Stevens 12907 15-Oct-2003 -18
Stevens 14920 20-Nov-2003 -70
Stevens 15003 27-Nov-2003 -60
от http://en.wikipedia.org/wiki/Database_normalization.
Но звучит так, как будто это нарушает это правило: «Та же информация может быть выражена в нескольких строках, поэтому обновления в таблице могут приводить к логическим несоответствиям». Это относится к нормализации за пределами 1NF.
Похоже, что исходная таблица нарушит 2NF и, следовательно, 3NF, но будет удовлетворять 1NF. Это верно?
Днем пятницу Днем – TheTXI
Err, спасибо Rich B , но я все еще смущен. – Adrien
ОК, поэтому я не спросил «Что такое нормализация». Я спросил, не нарушил ли этот конкретный пример нормализацию. Почему бы не ответить на вопрос, а не изменить название, а затем ответить на него. Вы не отвечаете на реальный вопрос. – blu