powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Теория и практика нормализации.
81 сообщений из 81, показаны все 4 страниц
Теория и практика нормализации.
    #33739731
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имеем таблицу

ID Name ParentID
1 van null
2 ann null
3 gog 1
4 pet 1
5 san 2

она нормализована?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33739734
Crimean
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
во-первых вам в проектирование!
во-вторых вы о какой НФ говорите?
в-третьих, нам самостоятельно догадываться о том, что вы в поля ложите?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33739750
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну послали так послали.%)

Я в поля вроде уже что-то положила.
И мну конечно третья форма интересует:)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33739895
Jelis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нормализованна.
а на какую таблицу ссылается поле ParentID? на эту же самую?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740070
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jelisнормализованна.
а на какую таблицу ссылается поле ParentID? на эту же самую?
Да, на ту же самую.
сегодня шеф пытался доказывать обратное. ищу истину:)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740074
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
речь в частности об иерархии...аналогичный пример -

menuId menuName menuParentId, где меню парент Id ссылается на меню Id,
и у главного(главных элементов ) равно null.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740117
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а каков практический смысл этой таблицы вообще и поля Name в частности?
имхо, без этого нельзя точно сказать, нормализован эта таблица или нет...
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740427
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К примеру, если значения в Name уникальны, то она в 3НФ (да и НФБК). Да и во всех остальных. Потому что ID уникально, судя по его названию. Значит, транзитивных функциональных зависимостей нет, поскольку всего три атрибута, а ID и Name оба ключи. (В таком случае и 4НФ и 5НФ, тоже нарушить не получится).
Если Name не уникальны, то нужно знать функциональные зависимости. Есть только одна возможность нарушить 3НФ (в предположении, что ID уникально) -Name не уникально и ParentID завивист от него.
Конечно, еще есть возможность нарушить 1НФ как-нибудь. Но это, надеюсь не рассматриваеися.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740445
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смешной топик.
дано:
1 таблица.
Из первого же поста и из примера данных автора видно, что речь идет о ссылке сам-на-себя.

miksoftа каков практический смысл этой таблицы вообще и поля Name в частности?
Открою может быть истину - чтобы хранить имя .

vadiminfoЗначит, транзитивных функциональных зависимостей нет, поскольку всего три атрибута, а ID и Name оба ключи. (В таком случае и 4НФ и 5НФ, тоже нарушить не получится).
Вы квадрат Малевича никогда не обсуждали?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740458
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmсмешной топик.
дано:
1 таблица.
Из первого же поста и из примера данных автора видно, что речь идет о ссылке сам-на-себя.

miksoftа каков практический смысл этой таблицы вообще и поля Name в частности?
Открою может быть истину - чтобы хранить имя .

vadiminfoЗначит, транзитивных функциональных зависимостей нет, поскольку всего три атрибута, а ID и Name оба ключи. (В таком случае и 4НФ и 5НФ, тоже нарушить не получится).
Вы квадрат Малевича никогда не обсуждали?

Вы почти во всем правы.
Кроме глубинного смысла - хранить кроме имен иерархию.
например, структура сайта. имена естественно, могут повторяться, еще один пример:

1 форум null
2 статьи null
3 sql 1
4 c# 1
5 sql 2
6 mysql 2

так что же это такое и нужно ли, можно ли это нормализовать ?:)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740461
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что можно нормализовывать в одной таблице? Zoria, не углубляйтесь в ненужную теорию без необходимости. Нормализовать можно отношения между несколькими таблицами.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740470
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p.s. можно конечно вынести имена тем в отдельную таблицу, а можно и не выносить. Смотрите насколько возможно их изменение. Если это жестко заданные разделы, то зачем Вам лишние связки.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740477
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm miksoftа каков практический смысл этой таблицы вообще и поля Name в частности?
Открою может быть истину - чтобы хранить имя
ну вот, а говорят, телепаты в отпуске...
ничего они не в отпуске! :)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740479
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftну вот, а говорят, телепаты в отпуске...
ничего они не в отпуске! :)
еще на месте все :) С полуслова...
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740480
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmчто можно нормализовывать в одной таблице? Zoria, не углубляйтесь в ненужную теорию без необходимости. Нормализовать можно отношения между несколькими таблицами.
почему же.. нормализация начинается с того, что возможно одна таблица, содержащая многие повторяющиеся и функционально зависимые данные делится на несколько таблиц.
Кстати из статьи на форуме о нормализации 3я форма: "Другими словами, факты, хранимые в таблице, должны зависеть только от ключа."
это в данном случае выполняется ли?
Один раздел имеет всегда одного прямого родителя.
Раздел охарактеризован однозначно его именем и местом в структуре..

мне в понельник будет зачитана лекция по теории нормализации:)
нужно будет с геген-аргументами выступать.:*(
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740485
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Нормализовать можно отношения между несколькими таблицами.

Это новое слово в теории реляционных БД. Хотя и смешное.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740487
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaпочему же.. нормализация начинается с того, что возможно одна таблица, содержащая многие повторяющиеся и функционально зависимые данные делится на несколько таблиц.
... или несколько таблиц сводятся к одной и начьхать на нормализацию, когда нужно мгновенно выборки из нее делать. По разному бывает.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740496
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo iscrafm
Нормализовать можно отношения между несколькими таблицами.

Это новое слово в теории реляционных БД. Хотя и смешное.
Внутренняя гармония конечно тоже важный фактор :)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740505
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
help hilfe памахитееееееееееее люди добрые, кто чем может........
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740510
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmчто можно нормализовывать в одной таблице? Zoria, не углубляйтесь в ненужную теорию без необходимости.Может напомните, в чем заключается суть нормализации ? iscrafmНормализовать можно отношения между несколькими таблицами.Соглашусь с vadiminfo, Вы просто открываете нам глаза.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740511
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria, с чем помочь?
если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована. Вместо Name нужно делать ссылку на таблицу с именами. Если с точки зрения, что Names это имена разделов, допустим сайта (что-то навевает), то с точки зрения производительности может и не стоит. Names изменяется редко или крайне редко, запрашивается часто. Лучше при изменении Names изменить значение поля в приведенной таблице и заниматься нормализацией во вред. Т.е. в первом случае соглашайтесь, во втором приводите известные недостатки нормализации.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740513
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChAМожет напомните, в чем заключается суть нормализации ?
Почитайте в литературе или в интернете. Честное слово, нет желания это обсуждать, сорри.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740515
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria
help hilfe памахитееееееееееее люди добрые, кто чем может........

Чем же Вам еще помочь? Если Name уникльно, то находится в 3НФ. Да и если не уникально, то скорее всего между Name и ParentID нет функциональных зависмомстей - тоже нормализована.
Те данные что в примере - нормализована.
Скажите, плиз, аргументы шефа.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740517
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Вместо Name нужно делать ссылку на таблицу с именами.Интересно, на каком основании ? iscrafmПочитайте в литературе или в интернете. Честное слово, нет желания это обсуждать, сорри.А когда в последний раз Вы перечитывали сами ? Если не было желания обсуждать, то зачем Вы вообще здесь отметились ?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740518
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChAИнтересно, на каком основании ?
Если бы было известно основание, не было бы вопросов. Телепатия вещь хорошая, но не всегда на 100% работает.

ChAА когда в последний раз Вы перечитывали сами ? Если не было желания обсуждать, то зачем Вы вообще здесь отметились ?
Каждый день думаю об этом. Просто покоя не дает :)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740519
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmZoria, с чем помочь?
если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована. Вместо Name нужно делать ссылку на таблицу с именами. Если с точки зрения, что Names это имена разделов, допустим сайта (что-то навевает), то с точки зрения производительности может и не стоит. Names изменяется редко или крайне редко, запрашивается часто. Лучше при изменении Names изменить значение поля в приведенной таблице и заниматься нормализацией во вред. Т.е. в первом случае соглашайтесь, во втором приводите известные недостатки нормализации.
да... :) наконец ответы.
значит нормализованный вариант, не рассматривая его смысл выглядел бы:
tabMenu
Id menuName
1 статьи
2 форум
3 sql
4 sql
5 c#
6 mysql

tabMenuParent
menuId ParentId
1 null
2 null
3 1
4 2
5 1
6 2

где menuId parentId ссылаются на поле Id?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740520
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmКаждый день думаю об этом.Лучше читайте больше, может быть реже будете демонстрировать некомпетентность.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740522
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA iscrafmКаждый день думаю об этом.Лучше читайте больше, может быть реже будете демонстрировать некомпетентность.
:) Опять мессия. Добро пожаловать.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740527
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaвыглядел бы:
tabMenu

Id menuName
1 статьи
2 форум
3 sql
/*4 sql*/ - это лишнее
4 c#
5 mysql

tabMenuParent

menuId ParentId
1 null
2 null
3 1
3 2
4 1
5 2
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740529
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoСкажите, плиз, аргументы шефа.
он был довольно возбужден, и сумбурен, по-моему искал ответов у каких-то университетов, но насколько я поняла, он считает, что парентайди имеет функциональную зависимость от имени? Но это ведь не так, поскольку имя само не определяет элемент однозначно?
и так сузим вопрос.....если сущность таблицы - отображение иерархической зависимости , то имеет ли поле парентиди функциональную зависимость от ....имени ?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740530
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmОпять мессия. Добро пожаловать.Ни в коем случае, здесь достаточно одного Вас. Удачи.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740533
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована.

Продолжение внесений чего-то свеженького в теорию РМД. А чего? Мож премию Тьюринга дадут.

2 Zoria
Внешним признаком, того, что отношение (таблица) не находилась в 3НФ, будет то что после декомпозиции без потерь информации одно из отношений(таблиц) будет содержать меньше записей, чем в исходной. Это, конено, не только к 3НФ относится, но к 3 НФ однозначно. А Вас она интересует. Ваш пример с данным как ни декомпозируй записей будет 5.

Чтобы она не была в 3НФ согласно теории, а не тому что говорит iscrafm, нужно два условия (которых не видно в примере с данными):
Name было не уникальным (я предполагаю, что Id уникально) и была ФЗ:
Name->ParentID. (Из примера видно, что нет ФЗ: ParentID->Name)
Не уникальность Name дает отсутствие ФЗ: Name->Id. Тогда нарушение 3НФ на лицо.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740536
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChA iscrafmОпять мессия. Добро пожаловать.Ни в коем случае, здесь достаточно одного Вас. Удачи.
Зачем тогда отмечались? Помогите лучше человеку разобраться
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740537
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам нужно представить эти два условия. Без них отношение в 3НФ.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740542
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Zoriaвыглядел бы:
tabMenu

Id menuName
1 статьи
2 форум
3 sql
/*4 sql*/ - это лишнее
4 c#
5 mysql

tabMenuParent

menuId ParentId
1 null
2 null
3 1
3 2
4 1
5 2

лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню?
предположим, мы имеем еще поле описание.
Id menuName menuText
1 статьи статьи обо всем
2 форум форум для всех
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
5 c# тема о с#
6 mysql раздель для мускуль
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740545
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo Ваш пример с данным как ни декомпозируй записей будет 5.
Внимательней записи пересчитайте. Можно даже галочки ставить на бумаге ставить (крыжить).

vadiminfoЧтобы она не была в 3НФ согласно теории, а не тому что говорит iscrafm, нужно два условия (которых не видно в примере с данными):
Name было не уникальным (я предполагаю, что Id уникально) и была ФЗ:

Name->ParentID. (Из примера видно, что нет ФЗ: ParentID->Name)
Не уникальность Name дает отсутствие ФЗ: Name->Id. Тогда нарушение 3НФ на лицо.
так все таки, нормализована или нет?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740550
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria
лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню?
предположим, мы имеем еще поле описание.
Id menuName menuText
1 статьи статьи обо всем
2 форум форум для всех
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
5 c# тема о с#
6 mysql раздель для мускуль

вот этим Вы и выражаете то, что хотите сказать
3 1 - скуль для форума
3 2 - скуль для описания чего то ни было
Т.е. Вы выделяете такую сущность как скуль :) при помощи 3, а при помощи
связок 3-1, 3-2 находите свою потерянную сущность
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740553
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
так все таки, нормализована или нет?
да, вот в чем вопрос.!Ю(
ps пошла регистрироваться..
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740559
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm Zoria
лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню?
предположим, мы имеем еще поле описание.
Id menuName menuText
1 статьи статьи обо всем
2 форум форум для всех
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
5 c# тема о с#
6 mysql раздель для мускуль

вот этим Вы и выражаете то, что хотите сказать
3 1 - скуль для форума
3 2 - скуль для описания чего то ни было
Т.е. Вы выделяете такую сущность как скуль :) при помощи 3, а при помощи
связок 3-1, 3-2 находите свою потерянную сущность
имела я в виду, что в данном случае мы не можем сократить количество строк в таблице tbl_Menu и как следствие кол.во строк в tbl_MenuParent будет равно количеству строк в tbl_Menu
возьмем пример зависимость люди-шефы :)
существует 3 пети , но петя пете рознь не потому что они у разных шефов в подчинении, а потому что они разные люди:)
я не увожу нас в лес?:(..
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740560
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
Это отношение в 3НФ.
Вот пример ненормализованного, но не отношения а только состояния
Есть Name->ParentID и нет Name->Id

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
 6  san  2 

Тогда декомпозиция приводит к нормализации
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name ParentID
 1  van 
 2  ann 
 3  gog 
 4  pet 
 5  san 
 6  san 


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name 
van null
ann null
gog  1 
pet  1 
san  2 



Однако, нужно чтобы ФЗ сохранялась во всех состояних. И если допустимо

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
 6  san  2 
 7  san  1 
То Name->ParentID нет. И предущая декомпозиция приведет к потре информации.

Поэтому и спрашивали с самого начала про зависмости атрибутов
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740566
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoriaимела я в виду, что в данном случае мы не можем сократить количество строк в таблице tbl_Menu и как следствие кол.во строк в tbl_MenuParent будет равно количеству строк в tbl_Menu

Ну как же не можем...
1 форум
2 статьи
3 ms sql
4 oracle
5 db2

3 1 - sql в форуме
3 2 - статьи по sql
4 1 - oracle в форуме
4 2 - статьи по oracle
5 1 - db2 в форуме
5 2 - статьи по db2
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740567
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там в декомпозиции в отношениях опечтка в именах атрибутов. Надо читать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
ID Name 
 1  van 
 2  ann 
 3  gog 
 4  pet 
 5  san 
 6  san 

Код: plaintext
1.
2.
3.
4.
5.
6.
Name ParentID
van null
ann null
gog  1 
pet  1 
san  2 
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740571
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Zoria
Ответьте хотя бы для начала на вопрос:

в Name возможны повторы? Если нет, то нормализовано.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740572
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria
возьмем пример зависимость люди-шефы :)

Люди-шефы скорее будет одна таблица, т.к. двойное подчинение в реальности вещь нереальная.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740573
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo2 Zoria
Ответьте хотя бы для начала на вопрос:

в Name возможны повторы? Если нет, то нормализовано.
Вы отвечаете не читая вопросы?
" имена естественно, могут повторяться " (c) Zoria
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740578
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тада второй ворос:

Про зависмость ParentID от Name:

Возможно ли чтобы были две записи такие, чтобы значения Name были одинаковы, а ParentID различны?

т.е. например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ID Name ParentID
 1  van null
 2  ann null
 3  gog  1 
 4  pet  1 
 5  san  2 
.....
 16  san  3 

Здесь в 5 и 16
Значения Name одинаковы - san, ParentID - различны 2 и 3.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740583
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaПолистайте здесь и Вы сами сможете ответить на свои вопросы.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740584
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoТада второй ворос:

Про зависмость ParentID от Name:

Возможно ли чтобы были две записи такие, чтобы значения Name были одинаковы, а ParentID различны?

Я тут за переводчика с нормального языка на книжный. Да, возможно:

Zoria
3 sql скуль для форума
4 sql скуль для описания чего бы то ни было
Еще вопросы, не стесняйтесь :)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740585
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, насчет "имена естественно отличаются" - кажется таким уж и естественным. ID - суррогат. Он мало о чем пользователю не говорит.
Как он тада будет отличать разные имена? Но это так - комментарий насчет "естественно". Но раз отличваются, то отличаются.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740589
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все таки vadiminfo, нормализована таблица или нет?
К чему это было? :)
vadiminfoПродолжение внесений чего-то свеженького в теорию РМД. А чего? Мож премию Тьюринга дадут.
Картинку даже нарисовал.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740590
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChAПолистайте здесь и Вы сами сможете ответить на свои вопросы.
Нормальные формы и бифуркации векторных полей на плоскости.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740591
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Вы уверены, что возможно
iscrafm
Я тут за переводчика с нормального языка на книжный. Да, возможно:

То нормализовано - нет ФЗ: Name->ParentID.

Однко я не уверен, что про одну и ту же схему.


Код: plaintext
1.
2.
3.
4.
5.
Zoria 

 3  sql скуль для форума
 4  sql скуль для описания чего бы то ни было  


Имеет отношение к табле
Код: plaintext
1.
ID Name ParentID
В частности не вижу где здесь может быть ParentID. Но вроде должен содержать тип ID.

Я просил ответить именно про ту таблу, про которую был вопрос. А не про какие-то новые схемы, не известно откуда взявшиеся.
Или теперь новую схему нужно оптимизировать? А с первой то разобрались?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740596
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Код: plaintext
1.
2.
3.
4.
5.
Zoria 

 3  sql скуль для форума
 4  sql скуль для описания чего бы то ни было  


Имеет отношение к табле
Код: plaintext
1.
ID Name ParentID
В частности не вижу где здесь может быть ParentID.
Вот он: скуль для форума = ParentID. Просмотрите еще раз в хронологическом порядке все уточнения по данной таблице.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740602
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoЯ просил ответить именно про ту таблу, про которую был вопрос. А не про какие-то новые схемы, не известно откуда взявшиеся.
Да я просто нарисовал в квадратах те данные, которые Zoria написала текстом, какие еще новые схемы? Нет, Вы явно не читаете то, на что отвечаете.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740624
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Да я просто нарисовал в квадратах те данные, которые Zoria написала текстом, какие еще новые схемы? Нет, Вы явно не читаете то, на что отвечаете.

На мои вопросы ответа не получил. Квадраты не нужны.
Она задала вопрос про то - находится ли конкретная табла в 3НФ. Я на этот вопрос и отвечаю. Там было только три атрибута. Вот нужно на те два последних вопроса (заданных в не "книжной" форме) ответить именно про эту таблу.

Вы говорили, что именно она не нормализована "если просто посмотреть на таблицу с точки зрения теории нормализации" (с) (да это новое в теории, так как на примере такого состояния ничего нельзя сказать находится она в 3НФ во всех возможных состояниях или нет). И откуда-то привистовали новые атрибуты. Нормализация не предполагает выявления новых свойств объектов, которые должны хранить в БД.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740641
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zoria, ситуация такая.
не нормализованная таблица (в Вашем начальном примере. Значение поля Name не зависит от первичного ключа id и дублируется в записях таблицы. Модификация name требует изменения более одной записи в этой же таблице):
tMenu (id,name,parentid)

1 форум null
2 статьи null
3 sql 1
4 c# 1
5 sql 2
6 mysql 2

----------
Приведем к третьей нормальной форме (уберем данные не зависящие от первичного ключа id, в частности name):
Вынесем имена в отдельную таблицу:
tMenuNames (id,name)
1 форум
2 статьи
3 sql
4 c#
5 mysql

tMenu(id,nameid,parentid)
1 1 null
2 2 null
3 3 1
4 4 1
5 3 2
6 5 2
-----------

Можно дальше к 4НФ (устраним удаление более одной записи из таблицы tMenu)
Сделаем еще одну таблицу для разделов сайта:
tSiteParts (id,name)
1 форум
2 статьи

tMenuNames(id,name)
1 sql
2 c#
3 mysql

tMenu(id,Nameid,partid)
1 1 1
2 2 1
3 1 2
4 3 2

p.s.
2 vadiminfo. Это надеюсь и на Ваш вопрос ответ тоже.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740691
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
2 vadiminfo. Это надеюсь и на Ваш вопрос ответ тоже.


Если это

iscrafm
1 форум null
2 статьи null
3 sql 1
4 c# 1
5 sql 2
6 mysql 2

допустимое состояние, то таблица находится в 3НФ.

А Ваше утверждение
автор
не нормализованная таблица


Не верно. Потому что для id 3 и 5 значение поля Name = sql, а ParentID разные - 1 и 2: ФЗ Name->ParentID. Нет. Аналогично благодаря записям с id 3 и 4 нет ФЗ ParentID->Name. Стало быть о транзитивных зависямостях вообще не может быть речи, потому что есть зависмости только от одного атрибута ID.

Если Zoria подтвердит, что такие состояния допустимы, но ответ - таблица находится в 3НФ и остальные рассуждения iscrafm в его ответе не имеют смысла по отношению к 3НФ.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740736
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторvadiminfo
Ну вот и славненько. Когда столкнетесь с необходимостью заменить sql на ms sql расскажите как это у Вас получится в такой нормальной форме :)
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740753
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Ну вот и славненько. Когда столкнетесь с необходимостью заменить sql на ms sql расскажите как это у Вас получится в такой нормальной форме :)

А что мне рассказывать? Отношение находится в 3НФ. Избытка в нем нет - нельзя по значению одного атрибута вычислить значение другого в кортеже, зная что содержится в других. Т.е. если бы зная что раз в кортеже 3 для sql родитель = 1, то и 5 для sql родитель обязательно равен 1. То да избыточность информации на лицо.
Если Вы добавите справочник имен, с сурогратом, который в силу его суррогатности (иначе и его может пришлось бы менять) менять не надо - это не нормализация. Это вообще не вопрос теории РБД. Вместо имен можно сразу было поставить значения суррогатов. И тем ни менее, до того как Вы привели то состояние, вопрос о том находится ли отношение в 3НФ или нет оставался открытым. А как только привели - сразу ясно, что оно в 3НФ.
Примеры приводил.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740775
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
А что мне рассказывать? Отношение находится в 3НФ. Избытка в нем нет ..
Вы на одном условии остановились, по фз я и так вижу. А как же аномалии, в расчет не беруться? Именно к ним я и пытаюсь Вас подтолкнуть
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740786
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Если Вы добавите справочник имен, с сурогратом, который в силу его суррогатности (иначе и его может пришлось бы менять) менять не надо - это не нормализация. Это вообще не вопрос теории РБД.
Надо же. Неожиданно ч.г. Вообще-то вопросы возникновения аномалий (в данном примере обновления) и нормализации всегда рассматриватся в одном контексте. Да, Вы можете назвать это 3НФ, но только для того, чтобы себя потешить. А если для работы, то нужно делать декомпозицию на две проекции, исключать аномалии обновления и потом уже называть это нормальной формой.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740790
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Вы на одном условии остановились, по фз я и так вижу. А как же аномалии, в расчет не беруться? Именно к ним я и пытаюсь Вас подтолкнуть

Вопрос был про что? Про нормализацию по 3НФ? 3НФ строится на ФЗ.
Все остальные "аномалии" к нормализации отношения не имеют. Например, можно вообще создать таблу с одним полем Name и организовать каскадное обновление. Менять в этой табле sql на ms sql, в исходной все везде заменится. Я так делал на Аксцессе.
Можно суррогаты в справочнике - так на Оракле. Это уже вопросы работы приложения в целом влияют на логичесую схему БД. А та табла принципе останется той же. Все с тем же в принципе тремя полями.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740798
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoА та табла принципе останется той же. Все с тем же в принципе тремя полями.
Да не останется она такой же, как только Вам потребуется добавить помимо заголовка меню еще хотя бы один атрибут, например цвет. Будете искать несогласованности и переделывать структуру каждый раз? А старина Кодд об этом упоминал. Вы сделали моментальный снимок структуры и на этом остановились. Это мертвая структура.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740804
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Вообще-то вопросы возникновения аномалий (в данном примере обновления) и нормализации всегда рассматриватся в одном контексте.

Аномалии разные бывают. Нормальные формы, действительно, связанны со стремлением избавиться от аномалий. Но они имеют свои определения.
И в связи с 3Нф рассматривают аномалии обновления более тяжелые, которые могут привести, например, к нарушеню ФЗ. И в общем случае уже никакими справочниками помоч нельзя.


iscrafm
Да, Вы можете назвать это 3НФ, но только для того, чтобы себя потешить.
Не я придумывал нормальные формы, не мне называть ими что вздумается. По моему, это максимум 4 курс. Или что 3НФ не на ФЗ строится? Вы же признали про ФЗ.

iscrafm
А если для работы, то нужно делать декомпозицию на две проекции, исключать аномалии обновления и потом уже называть это нормальной формой.
Для работы не нужно делать декомпозицию в общем случае. Я писал выше. Добавление еще одной таблы - не есть декмпозиция.
А что нужно называть нормальной формой не нам с Вами решать. Как-то без нас решили.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740809
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Да не останется она такой же, как только Вам потребуется добавить помимо заголовка меню еще хотя бы один атрибут, например цвет. Будете искать несогласованности и переделывать структуру каждый раз? А старина Кодд об этом упоминал. Вы сделали моментальный снимок структуры и на этом остановились. Это мертвая структура.

Мне не потребуется. В вопросе было про нормализацию той таблы. Мертвая она или нет - это вопрос из другой серии. Надо было спрашивать про не мертвую. Я не собирался исследовать всю задачу. Куда она том может развиваться. Када появится нарушение ФЗ тока тада и надо будет проводить декомпозицию. А цвет попадет в ту дополнительную справочную таблу. А эта так и останется.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740878
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoНе я придумывал нормальные формы, не мне называть ими что вздумается. По моему, это максимум 4 курс. Или что 3НФ не на ФЗ строится? Вы же признали про ФЗ.
Вы очень сильно налегаете на теорию, имхо. Тема топика в заголовке. Но даже в теории задача нормализации - устранение возможных аномалий. Нужно же хотя бы на шаг вперед смотреть.

vadiminfo
Для работы не нужно делать декомпозицию в общем случае . Я писал выше.
Я тоже.

vadiminfo
Када появится нарушение ФЗ тока тада и надо будет проводить декомпозицию. А цвет попадет в ту дополнительную справочную таблу. А эта так и останется.

Я обычно просто заранее такие варианты прорабатываю, чтобы потом не выполнять конветацию данных. На живых системах это не есть хорошо.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740902
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Вы очень сильно налегаете на теорию, имхо. Тема топика в заголовке. Но даже в теории задача нормализации - устранение возможных аномалий. Нужно же хотя бы на шаг вперед смотреть.

И что с того? Если Вы придумаете свою нормальную форму в теории, устраняющую те или иные аномалии и ее признают стоящей, тогда про нее можно говорить. 3НФ к Вашей аномалии не имеет отношение. Имеет к другим, более тяжелым, которых в силу того, что таблица в 3НФ, возникнуть не может.
Надо же прежде чем вперед смотреть еще и с настоящим разобраться.

iscrafm
Я тоже.

Вы писали что надо. Либо Вы не совсем в курсах в каком смысле употребляется этот термин: Вынос имен в отдельную таблицу - не декомпозиция, а добавление новой таблы и изменение структуры исходной. Вы добавили новое поле суррогоат. Это что угодно, но только не декомпозиция нормализации 3НФ. Еще раз напомню, что можно, например, добавить таблу из одного поля и объявить ограничение ссылочной с каскадным обновлением. Т.е. без добавления новых атрибутов в схему для устранения той Вашей аномалии.
К нормализации это не имеет никакого отношения.
Зато я писал пример именно с нарушением 3НФ. И Ваш метод никак не устраняет ту аномалию.

iscrafm
Я обычно просто заранее такие варианты прорабатываю, чтобы потом не выполнять конветацию данных. На живых системах это не есть хорошо.

В общем случае для того чтобы нормализовать нужно исследовать ПО и выявлять зависмости между атрибутами. Однако ПО может быть динамичным. И в общем случае заранее все будующие атрибуты и зависмости выявить нельзя. Но нормальные формы типа 3НФ - не динамичны. Они описаны в литературе, нас им учили профессора, мы сдавали экзамены. И нет никаго смысла называть ими что придет в голову. Иначе те кто получали двойки потребуют пересмотра результатов экзаменов.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740948
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более что Вашу аномалию, Ваша "нормализация" и не устраняет на все 100%
Вы исходите из того, что устранили ее введением атрибута, который менять не понадобится, по крайней мере, в нескольких местах первой таблы. А так ли это? Возможно понадобится. И придется менять в нескольких местах заменять 20 на 30. Тада вернулись к тому что было? Конечно, вероятность кажется меньше. Что бум в нормализации вероятности считать?
Каскадное обновление? Ну так оно декларативно даже не любой СУБД поддерживается. Т.е. прогу писать по массовой замене? Так я и запросом могу сразу это сделать. Да и где поддерживается декларативно - ну там тоже прога, тока производителем написанная по массовому обновлению при такой аномалии. Тогда как нормальные формы при устраненнии, например, аномалии обновления стремятся исключить необходимость просмотра записей в принципе: хоть программно, хоть "в ручную".
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740956
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoТем более что Вашу аномалию, Ваша "нормализация" и не устраняет на все 100%
Вы исходите из того, что устранили ее введением атрибута, который менять не понадобится, по крайней мере, в нескольких местах первой таблы. А так ли это? Возможно понадобится.
А что менять придется, если в таблице FK. А наименование меняйте хоть сто раз. Таблицу отношений пунктов меню при этом трогать не нужно. Зачем какие-то проги и каскадное обновление?
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740958
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тем более и ссылочная целостность не избавит в общем случае от просмотра всех записей в первой табле в общем случае.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740965
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoТем более и ссылочная целостность не избавит в общем случае от просмотра всех записей в первой табле в общем случае.
не понял немного что Вы имеете ввиду
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740966
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
А что менять придется, если в таблице FK. А наименование меняйте хоть сто раз. Таблицу отношений пунктов меню при этом трогать не нужно. Зачем какие-то проги и каскадное обновление?

Сам суррогат. Например, во второй табле

1 sql
2 ms sql

в первой сотни 1 и 2 уже насобиралося. Решили что это не правильно. Нужно оставить только
2 ms sql
Что теперь? Просматирвать не придется в первой табле чтобы заменить 1 на 2?
Каскадное не поможет - во второй табле суррогат первичный ключь - не позволит заменить 2 на 1. Впрочем это детали. Программно я могу и запрос написать.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740967
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка не нозволит заменить 2 на 1.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33740969
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин 1 на 2
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741317
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, понятно. Только описанная проблема конечно же таковой является, только к аномалиям, которые устраняются нормализацией, не относится, раз уж согласно Вашему настрою придерживаться академических формулировок. Аномалия (в нашем случае, обновления) - это когда править приходится более одной записи в одной таблице. И которая исключается декомпозицией на две таблицы. Проблемы реорганизации справочника - не то. В целом же думаю три страницы для обсуждения таблицы из трех полей уже перебор. Смотреть шире не хотите, а мусолить три поля думаю достаточно. Всяческих успехов!
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741344
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Только описанная проблема конечно же таковой является, только к аномалиям, которые устраняются нормализацией, не относится, раз уж согласно Вашему настрою придерживаться академических формулировок.

Вы сами это назвали аномалией. Сами предлагали "нормализацию", которою пытались назвать 3НФ. Мой настрой к этому не имеет отношения. Я лишь привел пример демонстрирующий, что Ваша якобы нормализация не устраняет Вашу же аномалию.

iscrafm
Аномалия (в нашем случае, обновления) - это когда править приходится более одной записи в одной таблице.

Ну в моем примере их может быть сотни. Там же написано. Аномалия (в Вашем случае, обновления) не устранена вашей "нормализацией", построенной на замене атрибута с высоким риском, что придется править более одной записи, на новый атрибут, который якобы не придется править. Но это предположение слишком сильное. Поэтому Ваша аномалия осталась.

iscrafm
И которая исключается декомпозицией на две таблицы.

Но не исключилась.

iscrafm
Проблемы реорганизации справочника - не то.

Этот справочник просто название Вашей второй таблицы.
Менять то придется в первой. А почему не Важно. Реорганизация справочнка или просто имена, если бы справочника не было.
Суть одна как меняли более одной так и меняем.

iscrafm
В целом же думаю три страницы для обсуждения таблицы из трех полей уже перебор.

А кто виноват?
Zoria привела пример и спросила про 3НФ - на основе примера ничего сказать нельзя.
Вы привели пример - табла находится в 3НФ: между атрибутами нет ФЗ, которые привели к нарушению.
И все.

Зачем Вы привели какую-то левую якобы нормализацию да еще и пытались называть ее 3НФ. Привели аномалию и пытались сказать, что Ваша нормализация ее якобы устраняет. И поэтому она якобы 3НФ???!!!

Если бы в ее табле было четвертое поле, которое зависило бы от Name, например, Long Name, тогда нарушение 3НФ было бы. Что и бывает часто на практике. Наверное, это Вас сбило с толку. Но в ее вопросе именно три поля.

iscrafm
Смотреть шире не хотите, а мусолить три поля думаю достаточно.

В смысле называть что попало нормальными формами? Выдумывать аномалии, которые эти якобы "нормализации" устраняет? Нет не хочу.
И мусолили мы не три поля, а эту Вашу якобы "нормализацию".
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741377
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfo
Вы сами это назвали аномалией. Сами предлагали "нормализацию", которою пытались назвать 3НФ. Мой настрой к этому не имеет отношения.

Не даете закрыть тему :). Я не называю это ( то что Вы привели в пример ) аномалией. Аномалией называю необходимость изменения более одной записи в одной ( специально выделил ) таблице . В данном случае аномалия в том, что если требуется заменить sql на ms sql, то такую замену нужно выполнять во всех записях этой же ( специально выделил ) таблицы. Исключение аномалии обновления достигается путем декомпозиции этой таблицы. Вы наполегая на правильности академических формулировок, которыми меня упрекаете приводите в пример ситуацию, которая не является аномалией, это обычная проблема с которой сталкиваются все наверное - исключение дублей в справочниках и устранение последствий таких дублей. При чем здесь азбучные аномалии?

vadiminfo
Ну в моем примере их может быть сотни. Там же написано.

Да хоть тысячи. Выше ответил.

vadiminfo
Поэтому Ваша аномалия осталась.

Нет. Она устранена.

vadiminfo
Но не исключилась.

Нет. Исключилась

vadiminfo
Этот справочник просто название Вашей второй таблицы.
Менять то придется в первой. А почему не Важно.

Нет. Важно. Именно множественные изменения в одной таблице являются аномалиями. Но об этом уже сказано.

vadiminfo
Суть одна как меняли более одной так и меняем.

Нет. Не одна.

vadiminfo
Зачем Вы привели какую-то левую якобы нормализацию да еще и пытались называть ее 3НФ.

Да просто думал, что найдутся собеседники которые поднимут тему теории и практики нормализации, пытался расширить таблицу (что с ней собственно и произойдет). Но видно не судьба.

vadiminfo
Привели аномалию и пытались сказать, что Ваша нормализация ее якобы устраняет.

Да устраняет. Об этом даже рассуждать думал не стоит.

vadiminfo
И поэтому она якобы 3НФ???!!!

Формально и те три поля были в 3НФ. Только что с ними делать, смотреть и наслаждаться.

vadiminfo
Если бы в ее табле было четвертое поле, которое зависило бы от Name, например, Long Name, тогда нарушение 3НФ было бы. Что и бывает часто на практике. Наверное, это Вас сбило с толку. Но в ее вопросе именно три поля.

Четвертое поле там появится обязательно. Что часто и бывает на практике, правильно заметили. Лично мне не интересно смотреть на моментальный снимок, если завтра у автора появится вопрос, но уже с четырмя полями. Это же не тесты в школе. С учетом того, что поля еще будут, то таблицу нужно разбивать на две, как минимум. Чтобы через месяц человек не пришел на форум и не сказал: сделал как вы советовали и месяц коту под хвост.

vadiminfo
В смысле называть что попало нормальными формами?

Я не посягаю на Ваши авторитеты. Могу переназвать это "нормальными формами спустя два дня".

vadiminfo
Выдумывать аномалии, которые эти якобы "нормализации" устраняет?

Аномалии существуют, я их не выдумаваю. А уже обновление в более чем одной записи одной таблице вообще классика. Проектирование с видением на текущий момент их порождает, и часто преводит к гемморою по их устранению.

vadiminfo
И мусолили мы не три поля, а эту Вашу якобы "нормализацию".

Ну зачем же в кавычках. После того, как автор привел в качестве примера структуру сайта такая нормализация стала очевидной. По крайней мере для пункта меню придется добавлять атрибуты типа TagPage, Hint и т.п. В общем, понадеялся на очевидность некоторых вещей. Ладно. Отложим.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741389
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> думал, что найдутся собеседники которые поднимут тему теории
> и практики нормализации

;))

На вопрос автора Вы ответили исчерпывающе и абсолютно верно, - обсуждать здесь imho нечего.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741433
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
Я не называю это (то что Вы привели в пример) аномалией.

Я тем более не называл. Менять придется несколько записей - так Вы описали аномалию.

iscrafm
В данном случае аномалия в том, что если требуется заменить sql на ms sql, то такую замену нужно выполнять во всех записях этой же (специально выделил) таблицы.

После Вашей "нормализации" в моем примере 1 на 2 придется менять "во всех записях". Ничего не изменилось с точки зрения Вашей аномалии (менять во всех записях). Или Вы считаете менять sql на ms sql аномалия, а 2 на 1 нет, хотя тоже во всех записях?

iscrafm
которая не является аномалией, это обычная проблема с которой сталкиваются все наверное - исключение дублей в справочниках и устранение последствий таких дублей.

Вы шутите? Дубли не дубли - какая разница? Пример, всего лишь отрицает, что новый атрибут не придется менять во многих местах. Мож его придется меняить по другим причинам. Это детали. В основной табле придется менять во "всех записях" в Ваших терминах. Мож для кого-то sql на ms sql менять обычная ситуация.
Ловко. Сначала объявили аномалию по признаку "менять в более одной записи", а потом стали исключать из аномалии "обычные" ситуации.

iscrafm
Да хоть тысячи. Выше ответил.

Так если для Вас менять тысячи не вопрос, зачем эту аномалию было вообще приводить. Ведь в ней самое плохое что менять более одной записи. Больше ничего.

iscrafm
Нет. Важно. Именно множественные изменения в одной таблице являются аномалиями. Но об этом уже сказано.

Вы уверны, что поняли пример. Там именно в одной таблице множественные изменеия. Именно в первой.



iscrafm
Да просто думал, что найдутся собеседники которые поднимут тему теории и практики нормализации, пытался расширить таблицу (что с ней собственно и произойдет). Но видно не судьба.

Для этого сказали, что табла в Вашем пример не нормализована по 3НФ, хотя по ФЗ сами видите? И придумали свою нормализацию, которая якобы устраняет аномалию?


iscrafm
Да устраняет. Об этом даже рассуждать думал не стоит.

Но не исключает, что придется менять более одной записи, т.е. Вашу аномалию.

iscrafm
Формально и те три поля были в 3НФ. Только что с ними делать, смотреть и наслаждаться.

Про это и был вопрос. Не смотреть и наслаждаться, а ответить автору.
А потому уже рассказвать про то что может быть. Но Вы именно эти три поля "нормализовывали".

iscrafm
Четвертое поле там появится обязательно. Что часто и бывает на практике, правильно заметили. Лично мне не интересно смотреть на моментальный снимок, если завтра у автора появится вопрос, но уже с четырмя полями. Это же не тесты в школе. С учетом того, что поля еще будут, то таблицу нужно разбивать на две, как минимум. Чтобы через месяц человек не пришел на форум и не сказал: сделал как вы советовали и месяц коту под хвост.


Надо было тада рисовать таблу с четырьмя атрибутами. И про нее говорить.
Вы же привели пример, который в 3НФ. Ни я и ни она.

iscrafm
Я не посягаю на Ваши авторитеты. Могу переназвать это "нормальными формами спустя два дня".

Я на авторитеты не претендую - на зарплату не влияет. Названия известных форм и сами формы описаны в литературе. И придумали их далеко не простаки.


iscrafm
Аномалии существуют, я их не выдумаваю. А уже обновление в более чем одной записи одной таблице вообще классика. Проектирование с видением на текущий момент их порождает, и часто преводит к гемморою по их устранению.

Но они разные. Нарушение "формальных" нормальных форм может породить к совсем плохим аномалиям и к проблемам контроля избыточности. А избавиться от необходимости менять в нескольких местах в общем случае не удастся - Вы сами сказали про устранение дублей - обычная ситуация. Мало ли таких обычных ситаций? Полно не уникальных полей. Кто знает по каким причинам там придется менять в нескольких записях.

iscrafm
Ну зачем же в кавычках. После того, как автор привел в качестве примера структуру сайта такая нормализация стала очевидной. По крайней мере для пункта меню придется добавлять атрибуты типа TagPage, Hint и т.п. В общем, понадеялся на очевидность некоторых вещей. Ладно. Отложим.

Я в ковычках про нормализацию таблы именно с тремя атрибутами.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741456
Zoria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вы, блин даете пока дочитала до конца:)
По поводу замены имен в нескольких строках не совсем так.
Если я меняю имя заголовка подраздела в одном разделе, это вовсе не означает, что в другом разделе должно тоже поменяться имя.
Они как раз, не смотря на одинаковое название не имеют ничего общего.
В примере люди=шефы тоже самое если один петя меняет имя, другой петя от этого васей не станет.
...
Рейтинг: 0 / 0
Теория и практика нормализации.
    #33741649
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZoriaПо поводу замены имен в нескольких строках не совсем так.
Если я меняю имя заголовка подраздела в одном разделе, это вовсе не означает, что в другом разделе должно тоже поменяться имя.
Они как раз, не смотря на одинаковое название не имеют ничего общего.

Тогда этой таблице ничего больше не нужно.
...
Рейтинг: 0 / 0
81 сообщений из 81, показаны все 4 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Теория и практика нормализации.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]