2016-06-06 2 views
3

Я новичок в этой форме нормализации. Я работал раньше с 4NF, но на данный момент 5NF кажется беспорядочным, и я хочу знать, есть ли какое-либо правило, которое говорит, когда правильно применять такую ​​структуру, или если я должен начать думать и работать с ней впредь.Когда использовать пятую нормальную форму (5NF)?

PS: Я прочитал об этом, и я как бы это понимаю; Я просто хочу знать, есть ли сценарии, когда лучше использовать это или нет, и если это так, когда.

+1

По крайней мере, 90% времени в реальной жизни вы обнаружите, что если вы достигли BCNF, вы также находитесь в 5NF. Когда это возможно, вы должны достичь 5NF; это сделает вашу жизнь проще (меньше аномалий обновления). –

+0

В объеме работы, насколько сложнее работать с этим 5NF? –

+0

IIRC, Date и Fagin доказали, что «BCNF плюс все ключи simple => 5NF» и «BCNF плюс любая клавиша simple => 4NF». Простым ключом является одноколоночный ключ. Поэтому для многих таблиц BCNF также подразумевает 5NF. Когда эти правила не приведут вас к 5NF, я бы абсолютно уверен в BCNF («ключ, весь ключ и ничего, кроме ключа, так что помогите мне Codd») и в основном не слишком беспокоиться. Если это кажется громоздким, возможно, дизайн неправильный. Что касается понимания 5NF полностью - это довольно сложно; Я не уверен, что понимаю это полностью. –

ответ

0

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

На практике это означает, что ваша база данных уже находится в 4NF и не может быть далее разложена без потери данных.

+0

Спасибо @Randy Мне жаль, что я не был частью команды, заявил, что мы должны работать с 5NF, но на данный момент мне приходится иметь дело с этим. Далее я знаю, что я должен избегать этого 5NF. –

0

Нанесение 4NF - это далеко и далеко от самого высокого уровня, который вы когда-либо хотели бы посетить. За 15 лет мне никогда не приходилось это делать.

1

Когда использовать пятую нормальную форму (5NF)?

Только во время интервью, а не в реальном. Это экстремально. Даже во время интервью вас попросят объяснить нормализацию базы данных, вы действительно не должны идти до 5-го. Сначала 3, и вы будете выбраны. :)

+0

Это кажется полезным теоретическим знанием. Спасибо за ответ. –

+0

Правда. Потому что, как и другие, я тоже не думал и не видел, чтобы кто-то это делал. Вы только что начали, в конце концов вы поймете то же самое, что это только хорошо в теории. :) Я бы предпочел сосредоточиться на освоении первых трех форм. – niksofteng

+1

Перейти к BCNF, который строго сильнее, чем 3NF. –

Смежные вопросы