Согласно первой нормальной форме, каждое пересечение строки и столбца содержит ровно одно значение из применимого домена.

Если имя разделено на три части: Имя, Отчество, Фамилия. За небольшую плату, если я дал отчество как Null.

Нарушает ли это правило 1NF?

````````````````````````````````````````````````````````````````````````````  
Client_ID    |   First Name  | Middle_Name |  Last_Name 
----------------------------------------------------------------------------
3256         |   Jamie       | NULL        |  Zacharias
---------------------------------------------------------------------------
8524         |   Madonna     | Doremus     |  NULL
1
user3837060 10 Мар 2015 в 20:18

4 ответа

Лучший ответ

Это не нарушает 1-ю нормальную форму. Нарушение первой нормальной формы будет иметь более одного значения для столбца в одной строке. Используя ваш пример, если кто-то изменил свою фамилию, и вы просто добавили новое отдельное значение в ту же строку, или вы добавили псевдонимы в столбец имени, например: `` `` `` `` `` `` ` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `

Client_ID | Имя | Middle_Name | Фамилия

3256 | Джейми, Джеймс | NULL | Захариас Хаффингтон


8524 | Мадонна | Доремус | ЗНАЧЕНИЕ NULL

Для получения дополнительной информации см. Эту статью Википедии: http://en.wikipedia.org/wiki/First_normal_form

1
TPhe 10 Мар 2015 в 17:38

Это кажется нормальным в соответствии с 1NF, кажется, ваш первичный ключ не повторяется ни в одной из записей. Вы нарушите 1NF, если будете рассматривать firstName, MiddleName и / или LastName в качестве первичного ключа (что не рекомендуется). На данный момент это кажется хорошим.

Если у вас есть

1, повторяющаяся группа (например, последние две строки с одинаковыми первичными ключами)

   Client_ID    |   Name                   |
----------------------------------------------------------------------------
3256         |   Jamie, NULL, Zacharias |
---------------------------------------------------------------------------
8524         |   Madonna, Null, NULL |
---------------------------------------------------------------------------
8524         |   Thomas, Doremus, NULL |

2, у вас нет первичного ключа

3, если не все ваши атрибуты прямо (частичная зависимость) или косвенно (транзитивная зависимость) зависят от первичного ключа

Тогда в любом из этих трех случаев ваша таблица нарушает 1NF

0
Tadele Ayelegn 27 Сен 2019 в 00:37

Определение первой нормальной формы (1НФ) Э.Ф. Коддом было очень простым:

Отношение [таблица] находится в первой нормальной форме, если оно обладает тем свойством, что ни одна из его областей [наборов возможных значений] не имеет элементов [значений], которые сами являются наборами.

Согласно этому определению очевидно, что первая нормальная форма не исключает наличия значений NULL, поскольку NULL не является набором. Кроме того, Правило 3 Кодда требует, чтобы РСУБД систематически обрабатывала значения NULL.

Теперь C.J. Date определяет первую нормальную форму по-другому и исключает NULL s. То есть любая таблица с одним или несколькими столбцами, допускающими значение NULL, не соответствует определению Date.

Лично, хотя NULL иногда могут раздражать, им есть место в РСУБД, и я предпочту определение Кодда определению Дейта.

0
David Faber 10 Мар 2015 в 18:31

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

Client_ID    |   Name                   |
----------------------------------------------------------------------------
3256         |   Jamie, NULL, Zacharias |
---------------------------------------------------------------------------
8524         |   Madonna, Doremus, NULL |

Применимый домен: names со значениями вроде Jamie, Zacharias, Madonna и Doremus. В моем примере теперь у вас есть Jamie и Zacharias в первой строке, что означает более одного значения из данного домена в одном столбце.

0
Simo Kivistö 10 Мар 2015 в 17:42