Какое правило нормализации это нарушает?

Предположим, что у меня есть две таблицы на базе данных, T10 и T11, имея 10 и 11 столбцов, соответственно, где 10 из столбцов являются точно тем же на обоих.

Что (если таковые имеются) правило нормализации - я нарушение?

10
задан NaMarPi 2 November 2014 в 17:05
поделиться

6 ответов

Edit: Меня проинформировали, что теоретически здесь нормальные формы не нарушаются. Поскольку это был принятый ответ, я оставляю его здесь для справки, а также потому, что размышления о 3NF на практике могут помочь избежать ситуаций, подобных этой в вопросе.

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

8
ответ дан 3 December 2019 в 15:21
поделиться

Возможно, правило избегания избыточных данных? (т.е. одинаковых данных в двух таблицах)

4
ответ дан 3 December 2019 в 15:21
поделиться

если 10 из 11 столбцов одинаковы, почему это не может быть просто одна таблица, где 11-й столбец остается пустым (вместе с возможным 12-м столбцом для обозначения типа данных, т.е. в какой таблице они были изначально)?

4
ответ дан 3 December 2019 в 15:21
поделиться

Это зависит от того, что находится в таблицах.

Если никакие записи не связаны друг с другом (например, если одна таблица представляет собой просто архивные записи, происходящие из первой таблицы, но удаленные из нее), вы не нарушаете никаких правил.

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

4
ответ дан 3 December 2019 в 15:21
поделиться

Если все 10 столбцов являются частью вашего ключа, тогда вторая нормальная форма: устранение избыточных данных. В частности, это подпадает под дилемму «несуррогатные или суррогатные первичные ключи» - честно говоря, я не припоминаю, чтобы какой-либо из этих двух вариантов «нарушал» 2NF, но суррогатный ключ определенно ближе к духу 2NF

0
ответ дан 3 December 2019 в 15:21
поделиться

Только первичные ключи могут быть избыточными между таблицами. Наличие любого количества столбцов без первичных ключей в нескольких таблицах нарушает третью нормальную форму.

0
ответ дан 3 December 2019 в 15:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: