|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Здравствуйте! Подскажите пожалуйста! Как правильно определять 2NF и 3NF? Совсем запутался. Например есть таблица "Изготовители" с атрибутами: ID, Название, Страна, Сайт. Я думаю, что эта таблица в 3NF т.к. здесь нет транзитивной зависимости между атрибутами. Я прав? Или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:13 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Тривиальные определения: Первая нормальная форма запрещает пихать два значения в одно поле. Вторая нормальная форма запрещает пихать в поле записи значение, которое однозначно вычисляется из других полей записи. Третья нормальная форма запрещает пихать одно и то же значение в поле нескольких записей. Поэтому если в твоей таблице "Страна" - название страны, то она нарушает третью НФ (в нескольких записях одно и то же значение). Если это поле ссылка на справочник стран - третья НФ удовлетворена, поскольку ссылки на внешние данные не в счёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:22 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, благодарю за ответ! Я в принципе так и представлял себе, когда первый раз изучил нормальные формы. Но когда начал общаться с другими людьми, которые с этим работают, то начал путаться. Подскажите еще, пожалуйста, а в какой нормальной форме на Ваш взгляд находится данная таблица? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:31 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124Но когда начал общаться с другими людьми, которые с этим работают, то начал путаться. Обычно путаться начинаешь когда общаешься с людьми, которые с этим НЕ работают. В академической среде принято использовать зубодробительные формулировки чтобы выбивать гранты. Для практического применения таки нужна морда попроще. Нарушение (или не нарушение) нормальных форм зависит от задачи, поэтому в отрыве от неё определить нормальность таблицы можно не всегда. Для некоторых задач осознанно применяется денормализация (обычно как средство улучшения производительности системы). Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:41 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Дмитрий, ты где таким сивым бредом кормишься? Тебя еще и за ответы благодарят... 2)Pavel_124 во обоих случаях не выше, чем во второй - в первом случае страна тразитивно зависит от названия через id изготовителя, во втором случае транзитивна должность. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:42 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby, Подскажите еще, пожалуйста, а вот такая таблица "Преподаватели" в какой NF ?: ID, фио, категория (где категория фактически заполнена в таблице названием) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 14:46 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124, BCNF ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 15:00 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby Pavel_124, BCNF зачеркнуть, тоже во второй ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 15:05 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby, благодарю! Я в принципе так и понимал( как уже писал), когда первоначально изучил. Но потом меня, видимо, запутали. И еще вопрос тогда напоследок :) А если эта таблица, на прикрепленной картинке, будет состоять только из трех строк с теми значениями, которые там сейчас представлены. Она будет оставаться 2NF ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 15:24 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Первая нормальная форма запрещает пихать два значения в одно поле. Да. Dimitry Sibiryakov Вторая нормальная форма запрещает пихать в поле записи значение, которое однозначно вычисляется из других полей записи. Нет. Dimitry Sibiryakov Третья нормальная форма запрещает пихать одно и то же значение в поле нескольких записей. Нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 15:26 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Короче, у меня мозги вскипели) Пойду искать дальше инф. т.к. хочу разбираться однозначно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 15:40 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 booby, благодарю! Я в принципе так и понимал( как уже писал), когда первоначально изучил. Но потом меня, видимо, запутали. И еще вопрос тогда напоследок :) А если эта таблица, на прикрепленной картинке, будет состоять только из трех строк с теми значениями, которые там сейчас представлены. Она будет оставаться 2NF ? как-то я даже затрудняюсь понять, что именно вы спрашиваете... сейчас, с тремя строками, она в 2NF в любом смысле слова. Про "будет оставаться" - вероятно речь идет об изменении ее состава строк. При любом добавлении/удалении строк значение отношения становится другим. При удалении строк она сначала продолжит оставаться, а затем о том, в какой форме она находится, окажется невозможно судить, если суждение основывается только на основе разглядывания состава данных. С другой стороны, если, например, при добавлении, какая-то из строк таблицы физически задвоится, то представляемое таблицей отношение автоматически перестанет находится в 1 НФ. "реляционная" таблица этого просто не позволит, поскольку существование второго экземпляра строки противоречит понятию множества и, если таблица не в 1й нормальной форме - она автотически нереляционная, то есть, не представляет реляционного отношения. А sql-таблица, в зависимости от использованных способов поддержки поддержки целостности данных, может позволить или не позволить все что угодно - в том числе и не представлять реляционного отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 15:48 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 хочу разбираться однозначно. Надо просто выучить что такое функциональные зависимости и основные определения и правила связанные с ними (тривиальность, приводимость, транзитивность и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:00 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat Dimitry Sibiryakov Первая нормальная форма запрещает пихать два значения в одно поле. Да. Нет В первоначальной формулировке 1я нормальная форма это такая, в которой отношение не содержит полных дублирующихся кортежей и каждый атрибут кортежа атомарен . На последнем настаивал Кодд в целях запрета вложенных отношений. сейчас взгляд на этот вопрос сместился так: атомарен с точки зрения типа данных , связанных с атрибутом. Это, по сути, разрешает произвольные варианты на тему "пихания двух значений в одно поле". Если тип данных - коллекция, то сама коллекция всегда атомарна, независимо от количества "запихнутых в нее значений". 1НФ - это аналог 1го закона Ньютона, в данном случае она определяет что может разглядываться как реляционное отношение, а что нет. Уникальность представленных в отношении кортежей - безусловно, а вопрос о том, "атомарно" значение, или нет - отдается на интерпретацию (известного системе) типа данных атрибута в кортеже. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:03 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby, понимаете, я просто эту таблицу на картинке взял с другого сайта из учебной статьи. И там она представлена в качестве примера 3NF (после приведения из 2NF). Также как пример с таблицей "Преподаватели" - по этому примеру мне один человек, который достаточно давно работает с БД, однозначно сказал, что это 3NF и точка! Я же, в свою очередь, больше склоняюсь к Вашей версии, тогда мне становится понятно. Но,как я вижу, есть разные мнения относительно четкого определения что может являться 3NF. И мне еще не до конца понятно (( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:03 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 Dimitry Sibiryakov, благодарю за ответ! Я в принципе так и представлял себе, когда первый раз изучил нормальные формы. Но когда начал общаться с другими людьми, которые с этим работают, то начал путаться. Подскажите еще, пожалуйста, а в какой нормальной форме на Ваш взгляд находится данная таблица? Павел, вообще, это -- сложный вопрос. Все НФ строятся на понятии фунциональной зависимости, которая тобой НЕ описывается. Она должна быть описана в твоём техзадании, а мы его не видим. Поэтому такие вопросы часто бессмысленны. Мы не можем на них ответить. Иногда исходя из общих знаний предметной области можно что-то подсказать, но формально это некорректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:10 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby сейчас взгляд на этот вопрос сместился так: атомарен с точки зрения типа данных , связанных с атрибутом. Ну это конечно. В одной БД может не быть нужды детализировать телефон на код страны, оператора и сам номер (т.е. полный телефон атомарен), а в другой БД такая необходимость может быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:13 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 Dimitry Sibiryakov, благодарю за ответ! Я в принципе так и представлял себе, когда первый раз изучил нормальные формы. Но когда начал общаться с другими людьми, которые с этим работают, то начал путаться. Подскажите еще, пожалуйста, а в какой нормальной форме на Ваш взгляд находится данная таблица? Вот гляди. У тебя есть у каждого человека в таблице должность и подразделение. Вроде бы всё ок, должность и подразделение зависят от человека (PK этой таблицы). НО в фирме могут дела быть организованы так, что в каждом подразделении работают люди одной специальности, в бухгалтерии - бухгалтеры, в отделе программирования -- программисты, в отделе продаж - продавцы. И тогда должность будет определяться уже подразделением. И таблица НЕ находится уже даже в 3ой форме. Пример немного натянутый, но я натянул специально, чтобы ты понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:15 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 по этому примеру мне один человек, который достаточно давно работает с БД, однозначно сказал, что это 3NF и точка! Этот человек баран не блещет разумом. Как уже выше сказали НФ отношения полностью зависит от его ФЗ. А ФЗ является не свойством самого отношения, а определяется только предметной областью, поэтому по одному только отношению определить его НФ вообще нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:18 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
MasterZiv НО в фирме могут дела быть организованы так, что в каждом подразделении работают люди одной специальности, А еще, например, может быть, что один человек может работать в нескольких подразделениях, или занимать несколько должностей в одном и том же. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:21 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
MasterZivв бухгалтерии - бухгалтеры, в отделе программирования -- программисты, в отделе продаж - продавцы. А все начальники - в подразделении начальников началивают друг друга. Идиллия. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:26 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 Dimitry Sibiryakov, благодарю за ответ! Я в принципе так и представлял себе, когда первый раз изучил нормальные формы. Но когда начал общаться с другими людьми, которые с этим работают, то начал путаться. Подскажите еще, пожалуйста, а в какой нормальной форме на Ваш взгляд находится данная таблица? Если нормализовать эту таблицу, то будет так: Основная таблица: Табельный номер Фамилия Код_Имени (ссылка на таблицу имен) Код_Отчества (ссылка на таблицу Отчеств) Код_Подразделения (ссылка на таблицу Подразделений) Код_Должности (ссылка на таблицу Должностей) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:28 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat Pavel_124 по этому примеру мне один человек, который достаточно давно работает с БД, однозначно сказал, что это 3NF и точка! Этот человек баран не блещет разумом. Как уже выше сказали НФ отношения полностью зависит от его ФЗ. А ФЗ является не свойством самого отношения, а определяется только предметной областью, поэтому по одному только отношению определить его НФ вообще нельзя. попробуйте принять в расчёт следующее - само понятие функциональной зависимости определяется по отношению и выражается только через состав данных. "предметная область", любые знания о ней, такому определению - до лампады. Оно ничего , совсем ничего, не знает ни о каких предметных областях. "предметная область" может что-то навязывать своими знаниями о том, какие, и могут ли быть в её области функциональные зависимости. Но проверяющее факт наличия ФЗ в конкретном составе данных определение не имеет никакого способа опереться на те знания. Оно имеет дело только с тем, что ему фактически дали - и работает как простое логическое выражение с тремя значениями ( ) (вижу - есть ФЗ, вижу - нет ФЗ, не вижу - нет данных). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:28 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
zeon11будет так: А почему это "Фамилия" не ссылка на справочник фамилий?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:30 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
а если рассмотреть такой пример с таблицей преподаватели (исключительно для понимания): Проводится олимпиада в школе, которая продлится 2 дня и в состав комиссии входят преподаватели. Необходимо составить базу данных о членах комиссии (преподавателях): ID, ФИО, категория. И мы знаем, что за эти два дня олимпиады категория преподавателя 100% не изменится. То в какой NF будет данная таблица в данном конкретном случае? Или тогда уже еще один пример. Есть база данных людей: ID, имя, цвет глаз. То это какая NF? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:39 |
|
|
Start [/forum/topic.php?fid=32&tid=1539810]: |
0ms |
get settings: |
25ms |
get forum list: |
25ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
17ms |
get forum data: |
3ms |
get page messages: |
446ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 587ms |
0 / 0 |