|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#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 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov zeon11будет так: А почему это "Фамилия" не ссылка на справочник фамилий?.. Да, упустил, вместо Фамилия читать Код_Фамилии (ссылка на справочник фамилий) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:39 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby выражается только через состав данных. Нет. СотрудникОтделДолжностьВасяОтдел ИТЭникейщикМаняБухгалтерияГлавбухГошаОхранаСтоит у входа Допустим, что каждый работник может работать только в одном отделе и занимать только одну должность, но в каждом отделе только свои уникальные для него должности. Тогда текущие данные этого отношения не нарушают 3НФ, но само отношение её нарушает (есть ФЗ Должность -> Отдел, поэтому ФЗ Сотрудник -> Отдел будет транзитивной). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:51 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov А все начальники - в подразделении начальников началивают друг друга. Идиллия. А где-то существует такая должность как "просто начальник"? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 16:54 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
zeon11 Да, упустил, вместо Фамилия читать Код_Фамилии (ссылка на справочник фамилий) Жесть какая. Увидев такое (справочник имен, фамилий и отчеств) в информационной системе - я бы тут же заявление об увольнении написал бы. Только нужно не забыть, что бывают еще и двойные фамилии, а так же титулы и звания ))) например: Кузьма (Козьма) Сергеевич Петров-Водкин, Ольга Людвиговна Делла-Вос-Кардовская Анри Луи Огюст Рикар де Монферран и так далее..... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:00 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat booby выражается только через состав данных. Нет. СотрудникОтделДолжностьВасяОтдел ИТЭникейщикМаняБухгалтерияГлавбухГошаОхранаСтоит у входа Допустим, что каждый работник может работать только в одном отделе и занимать только одну должность, но в каждом отделе только свои уникальные для него должности. Тогда текущие данные этого отношения не нарушают 3НФ, но само отношение её нарушает (есть ФЗ Должность -> Отдел, поэтому ФЗ Сотрудник -> Отдел будет транзитивной). вот, наверное, мне и пытались это раньше объяснит те самые мои знакомые люди :) дело, если я правильно понял, в предмете области, для которой составляем БД и допущения о возможных изменениях данных. Или я неправ? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:00 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
zeon11 Код_Имени (ссылка на таблицу имен) Код_Отчества (ссылка на таблицу Отчеств) Это-то на кой леший? И не имеет это никакого отношения к нормализации и НФ. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:03 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat Допустим, что каждый работник может работать только в одном отделе и занимать только одну должность, но в каждом отделе только свои уникальные для него должности. Тогда текущие данные этого отношения не нарушают 3НФ, но само отношение её нарушает (есть ФЗ Должность -> Отдел, поэтому ФЗ Сотрудник -> Отдел будет транзитивной). Может по правильному оно и так, но должность скорее всего для краткости будут просто называть "начальник отдела", "начальник департамента", "инженер-программист", "уборщица". А вот в каком отделе, эта уборщица работает, из ее должности уже "не так очевидно" Но тут конечно на вкус и цвет все фломастеры разные. От задачи и ситуации зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:06 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 если я правильно понял, в предмете области, для которой составляем БД и допущения о возможных изменениях данных. Или я неправ? Ты понял абсолютно правильно. Главная цель нормализации - избежать аномалий при изменении данных. Т.е. нормализация она не про текущие данные отношения, а про данные которые допустимы в нем вообще, что определить можно только из предметной области. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:07 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat, подскажите, пжлста, так а мои примеры с БД для олимпиады могут являться 3NF в описанных мною случаях? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:07 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat zeon11 Код_Имени (ссылка на таблицу имен) Код_Отчества (ссылка на таблицу Отчеств) Это-то на кой леший? И не имеет это никакого отношения к нормализации и НФ. Хе-хе. Это-то и есть нормализация. На полном серьёзе. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:08 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Может по правильному оно и так, но должность скорее всего для краткости будут просто называть "начальник отдела", "начальник департамента", "инженер-программист", "уборщица". Ну, во первых, я написал "допустим". Во вторых, у себя в отделе мы можем друг друга называть хоть "чувак", "старик", или "братан", но в ОК есть официальный утвержденный список должностей, где, например, моя должность называется как-то типа "ведущий программист отдела разработки " (совсем точно не помню - можно в договоре посмотреть). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:17 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat есть официальный утвержденный список должностей, где, например, моя должность называется как-то типа "ведущий программист отдела разработки " как-то само написание наводит на мысль, что там должность + отдел Не специалист по системам для отдела кадров, могу ошибаться. Но если на каждое структурное подразделение свои должности/профессии выдумывать, это офигеешь. IMHO. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:28 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 подскажите, пжлста, так а мои примеры с БД для олимпиады могут являться 3NF в описанных мною случаях? 3НФ ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:32 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat, благодарю! теперь мне, думаю, понятно! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 17:55 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat booby выражается только через состав данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 18:04 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124 ... Также как пример с таблицей "Преподаватели" - по этому примеру мне один человек, который достаточно давно работает с БД, однозначно сказал, что это 3NF и точка! ... Вероятно, тот человек прав. у меня нормализация в целом - на задворках сознания, зачетов я по ней никогда не сдавал и оставляю за собой право ошибаться. Вы попросили выразить мнение - я выразил его два раза: "сразу сказал", что это BCNF (3.5), а потом понизил до 2. В данном случае ответ зависит от того, подразумевается ли годность фио как самостоятельного ключа. Если не подразумевается, то и 3НФ и 3.5 сразу. 2fnkat да, только по отношению к составу. Когда вы привлекаете знания предметной области, вы всегда делаете вот что: "на основании знаний о предметной области и устройства констрейтов в конкретной реализации субд, я утверждаю, что смогу или буду должен дописать вот такую строку, а вот сякой никогда не появится". И физически демонстрируете строку, нарушающую или нет подразмеваемую форму. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 18:14 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
MasterZiv Pavel_124 Dimitry Sibiryakov, благодарю за ответ! Я в принципе так и представлял себе, когда первый раз изучил нормальные формы. Но когда начал общаться с другими людьми, которые с этим работают, то начал путаться. Подскажите еще, пожалуйста, а в какой нормальной форме на Ваш взгляд находится данная таблица? Павел, вообще, это -- сложный вопрос. Все НФ строятся на понятии фунциональной зависимости, которая тобой НЕ описывается. Она должна быть описана в твоём техзадании, а мы его не видим. Поэтому такие вопросы часто бессмысленны. Мы не можем на них ответить. Иногда исходя из общих знаний предметной области можно что-то подсказать, но формально это некорректно. +1 Самое правильное замечание! Реляционная модель - один из способов упрощенного описания сложного реального мира. Всё зависит от семантики описываемой ситуации. Глядя на таблички ничего нельзя сказать без знания этой ситуации. В какой нормальной форме находится вот это отношение (из классической книги Криса Дэйта)? S# SNAME STATUS CITYS1 СМИТ 20 ЛОНДОНS2 ДЖОНС 10 ПАРИЖS3 БЛЭЙК 10 ПАРИЖS4 КЛАРК 20 ЛОНДОНS5 АДАМС 30 АФИНЫ Этого сказать нельзя, если неизвестен смысл (семантика) описываемой данной моделью ситуации. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 18:37 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
booby да, только по отношению к составу. Посмотрел совсем точное определение, и, да, формально я был неправ. Но с т.з. нормализации имеет смысл говорить только о ФЗ которые выполняются всегда , а не только для определенного набора данных (как я уже на примере показывал). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 18:43 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat booby да, только по отношению к составу. Посмотрел совсем точное определение, и, да, формально я был неправ. Но с т.з. нормализации имеет смысл говорить только о ФЗ которые выполняются всегда , а не только для определенного набора данных (как я уже на примере показывал). Да. В переводе на обычный русский язык, если исключить рассуждения о предметной области - получится вот что: вы приняли свои решения на основе рассмотрения достаточного объема даных, чтобы быть уверенным в универсальном ненарушении обсуждаемой формы. Пусть мысленных, пусть привлеченных из знания предметной области, но образующих состав данных для анализа. 2SQL*Plus можно указать форму, выше которой показанное отношение уже не находится. Это решение может оказаться потом ошибочным (когда предъявят расширенный состав), и форму придется понизить, но выше той, что обнаружится сейчас, ей уже вряд ли суждено оказаться. По нижней границе - 1я форма, вопрос упирается в решение о равенстве значений атрибутов. Если, к примеру, кто-то хочет сделать "известным системе" тип, для которого не определено сравнение на равенство, то даже про первую форму возможность судить исчезает, за исчезновением основы для проверки - представляют ли кортежи собой множество или супермножество. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 19:00 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat booby да, только по отношению к составу. Посмотрел совсем точное определение, и, да, формально я был неправ. Но с т.з. нормализации имеет смысл говорить только о ФЗ которые выполняются всегда , а не только для определенного набора данных (как я уже на примере показывал). Да, поскольку функциональная зависимость - это ограничение (свойство) описываемой ситуации, а не набора данных. Несколько определений (по К.Дейту) Функциональная зависимостьЕсли задано отношение R, то мы говорим, что атрибут Y отношения R функционально зависит от атрибута X отношения R тогда и только тогда, когда каждое значение X в отношении R в каждый момент времени связано точно с одним значением Y "Инженерно" это можно изобразить так: Y=F(X) Полная функциональная зависимостьАтрибут Y находится в полной функциональной зависимости от атрибута X, если он функционально зависит от X и не зависит функционально от любого подмножества атрибута X (X должен быть составным). "Инженерно" это можно изобразить так: Y=F(X) Здесь X => (A, B) - составной атрибут. Состоит из атрибутов A и B. 1НФОтношение R находится в первой нормальной форме (1НФ) тогда и только тогда, когда все входящие в него домены содержат только атомарные (неделимые) значения. То есть: любое нормализованное отношение находится в первой нормальной форме 2НФОтношение R находится во второй нормальной форме (2НФ), если оно находится в 1НФ, и каждый неключевой атрибут функционально полно зависят от первичного ключа. Атрибут называется неключевым, если он не является составной частью первичного ключа 3НФОтношение R находится в третьей нормальной форме (3НФ), если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 19:18 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
Pavel_124, В общем, аффтар, никуда тебе не деться от строгих математических определений (ты же сам употребил слово "однозначно"). А иначе получится, как в диалоге: - Что такое непрерывная функция ? - А это такая функция, график которой можно начертить не отрывая карандаша от бумаги. P.S. Вроде как бы интуитивно понятно, но математики сильно не одобряют подобный подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 19:28 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
SQL*Plus Да, поскольку функциональная зависимость - это ограничение (свойство) описываемой ситуации , а не набора данных. SQL*Plus Функциональная зависимостьЕсли задано отношение R, то мы говорим, что атрибут Y отношения R функционально зависит от атрибута X отношения R тогда и только тогда, когда каждое значение X в отношении R в каждый момент времени связано точно с одним значением Y к отдельным значениям переменных отношения. Однако при рассмотрении самих пере- менных отношения, в частности базовых переменных отношения, интерес представляют не столько функциональные зависимости в их существующих на некоторый момент кон- кретных значениях, сколько функциональные зависимости, выполняющиеся для всех возможных значений данной переменной отношения. Впредь термин функциональная зависимость будет использоваться в последнем толко- вании, более ограничительном и безотносительном ко времени. Впрочем, мне сейчас кажется, что в более старом (по-моему #6) он писал как раз наоборот (точнее, изначально говорил только о втором варианте) - я сейчас проверить точно не могу, оно у меня только в бумажном виде на другой квартире лежит. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 19:56 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat SQL*Plus Да, поскольку функциональная зависимость - это ограничение (свойство) описываемой ситуации , а не набора данных. SQL*Plus пропущено... к отдельным значениям переменных отношения. Однако при рассмотрении самих пере- менных отношения, в частности базовых переменных отношения, интерес представляют не столько функциональные зависимости в их существующих на некоторый момент кон- кретных значениях, сколько функциональные зависимости, выполняющиеся для всех возможных значений данной переменной отношения. Впредь термин функциональная зависимость будет использоваться в последнем толко- вании, более ограничительном и безотносительном ко времени. Впрочем, мне сейчас кажется, что в более старом (по-моему #6) он писал как раз наоборот (точнее, изначально говорил только о втором варианте) - я сейчас проверить точно не могу, оно у меня только в бумажном виде на другой квартире лежит. Я приводил определения по изданию 1980 г. Это был отличный профессиональный перевод. http://padabum.com/d.php?id=35210 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 20:46 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
SQL*Plus Я приводил определения по изданию 1980 г. Это был отличный профессиональный перевод. http://padabum.com/d.php?id=35210 У меня более позднее (зеленое в мягкой обложке, как я писал, по-моему, шестое). И, надо сказать, что оно мне нравилось больше, чем самое крайнее восьмое. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 21:13 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
fkthat SQL*Plus Я приводил определения по изданию 1980 г. Это был отличный профессиональный перевод. http://padabum.com/d.php?id=35210 У меня более позднее (зеленое в мягкой обложке, как я писал, по-моему, шестое). И, надо сказать, что оно мне нравилось больше, чем самое крайнее восьмое. По-моему, как раз в нём я встретил понятие "Картезианский продукт". Очень сильно хохотался с него. :-) Ну вы же сразу поняли, что это такое? После перевода 1980 г. этот перевод был ужасен. Сравните сами. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 21:16 |
|
Никак не могу однозначно разобраться с нормальными формами.
|
|||
---|---|---|---|
#18+
SQL*Plus По-моему, как раз в нём я встретил понятие "Картезианский продукт". Очень сильно хохотался с него. :-) Не, я бы такое заметил. Но, в принципе, я понял, что это декартово произведение. :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2021, 21:28 |
|
|
start [/forum/search_topic.php?author=Tsunami9&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
others: | 10442ms |
total: | 10625ms |
0 / 0 |