|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Не совсем понимаю смысл нормальных форм начиная от НФБК и далее. НФБК в принципе не понятна, что касается 4НФ и 5НФ, пример их использования, простой для понимания приведен в книге Хомоненко - Базы данных. Однако пример всего один, а для закрепления материала хочется еще прочитать о использовании этих методов. На хабре/ютубе тематика нормальных форм дана достаточно расплывчито, и мне кажется примеры не всегда корректные. Подскажите хорошие примеры на НФ высших порядков ... |
|||
:
Нравится:
Не нравится:
|
|||
27.06.2018, 18:06 |
|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Dmi_triНе совсем понимаю смысл нормальных форм начиная от НФБК и далее. НФБК в принципе не понятна, что касается 4НФ и 5НФ, пример их использования, простой для понимания приведен в книге Хомоненко - Базы данных. Однако пример всего один, а для закрепления материала хочется еще прочитать о использовании этих методов. На хабре/ютубе тематика нормальных форм дана достаточно расплывчито, и мне кажется примеры не всегда корректные. Подскажите хорошие примеры на НФ высших порядков Смысл нормальных форм устранении аномалий БД и снижения избыточности. Ну вот оказывается, что если схема в НФ3, но не в НФБК, то есть избыточность. Однако, если в этом случае привести к НФБК, то может не получится навязать схеме все функциональные зависимости. Тогда как навязать все такие зависимости и привести к НФ3 возможно. При этом сама НФБК проще чем НФ3. В ней не должно быть транзитивной зависимости от ключа. А в НФ3 - не должно быть транзитивной зависимости от ключа для непервичных атрибутов (не входят ни в один ключ). При этом в основе этих форм лежат функциональные зависимости. Однако, оказывается, что даже если схема в НФБК, то можно придумать ситуации когда возникает избыточность. Там вводятся многозначные зависимости НФ4 и по моему соединений НФ5. Но скорей всего это все же уже больше теоретическое изучения всех возможных случаев избыточности. Есть книга Мейера Теория реляционных баз данных. Там все формально - нет расплывчатости. Но все же это именно теория. Аксиомы Армстронга. Т.е. не плохо если у Вас математическое образование какое никакое. Расплывчатость от попыток упростить как-то определение нормальных форм. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 20:59 |
|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Необычный пример на НФБК дан на ИНТУИТе. И, мне кажется, абсолютно неверный https://www.intuit.ru/studies/courses/1095/191/lecture/4977?page=5 В определении говорится о зависимости ключа от неключевых полей, а пример зачем-то основывают на аномалии удаления. Как считаете, пример корректен? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 22:40 |
|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Dmi_triНеобычный пример на НФБК дан на ИНТУИТе. И, мне кажется, абсолютно неверный https://www.intuit.ru/studies/courses/1095/191/lecture/4977?page=5 В определении говорится о зависимости ключа от неключевых полей, а пример зачем-то основывают на аномалии удаления. Как считаете, пример корректен? Приведение к НФБК должно устранять избыточность, которую не смогла устранить НФ3. Это как бы означает декомпозицию (разбиение) таблицы как минимум на две. В примере, нет такого разбиения. Но есть добавление еще одной. Это как правило делается для навязывания функциональных зависимостей. Вот состояние таблицы (пусть она никогда не меняется). A B C ------ 1 1 1 2 3 1 3 1 1 имет ключи A и пару {В,С} - видно что они уникальны. При этом С зависит от В, но В не зависит от С. А не зависит от В Это значит что есть транзитивная зависимость С от А. - Не находится в НФБК. Но так как С входит в ключ, то на находится в 3НФ. И действительно. Есть избыток. Если В = 1, то мы знаем, что С = 1. Но приходится это записывать. Две таблицы получены в ходе композиции с целью приведения к НФБК: AB -- 1 1 1 3 2 1 И BC --- 1 1 3 1 Избытка нет. соединяются без потерь: получается исходная АВС --- 1 1 1 2 3 1 3 1 1 Однако, нет возможности навязать ФЗ: BC->A Поэтому следует, скорее всего, Вам посмотреть и другие примеры. Хотя действительно иногда НФБК почему-то трактуют по разному. Когда учился обратил внимание преподавателя на это перед экзаменом. Он сказал, что про НФБК уберет билеты. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2018, 23:50 |
|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Пардон. Тупанул ВС - не ключ. Поэтому таблица не в 3НФ . Пример надо переделать: A B C ------ 1 1 1 2 3 2 1 3 2 2 4 1 Теперь ключи: АB и AC Есть В->C, но С не зависит от В, так как Для С= 1 разные В (1 и 4). С транзитивно зависит от AB: АВ -> B -> C. Но С входит в ключ AC - отношение в 3НФ. Но не НФБК (виден избыток 3 2) Декомпозиция АВ --- 1 1 2 3 1 3 2 4 АС --- 1 1 3 2 4 1 Но зависимость АС->B (а она есть так как AC ключ) в такой не навязать так как A и В в разных таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 00:53 |
|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Там опять опечатка (а ведь проверял) Вместо АС --- 1 1 3 2 4 1 надо читать ВС --- 1 1 3 2 4 1 Как бы альтернатива у проектировщика: подавить избыточность, либо навязать все ФЗ. Схема подавляющая избыточность: АВ --- 1 1 2 3 1 3 2 4 BС --- 1 1 3 2 4 1 Схема в 3НФ в которой навязаны все ФЗ предполагает добавление таблицы к исходной (похоже, вроде, на Ваш пример): A B C ------ 1 1 1 2 3 2 1 3 2 2 4 1 BС --- 1 1 3 2 4 1 Действительно, в первой таблице можно объявить ключи АB и AC а во второй В и таким образом навязать все ФЗ схеме: от ключа все остальные колонки в таблице находятся в ФЗ. Теория не может сказать какая схема оптимальнее в общем случае. Поэтому проектирование РБД - как бы предполагает элемент искусства. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 09:44 |
|
Нормальные формы высших порядков
|
|||
---|---|---|---|
#18+
Про аномалии удаления, добавления.... Если оставить тем не менее исходный вариант схемы одну таблицу A B C ------ 1 1 1 2 3 2 1 3 2 2 4 1 И, например, потребуется удалить запись 241 то пропадет информация что для В = 4, С = 1. Но так как есть В->C, то часто оказывается, что эту информацию желательно сохранить. Аналогично добавить инфу про В и С, без записи в ABC. Если же допустить пустые значения для А, то АС перестанет быть ключом, ну и вместо удаления - обновление. Программные ухищрения по типу костылей. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 10:46 |
|
|
start [/forum/topic.php?fid=32&fpage=7&tid=1540022]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
64ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
others: | 247ms |
total: | 414ms |
0 / 0 |