|
|
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
имеем таблицу ID Name ParentID 1 van null 2 ann null 3 gog 1 4 pet 1 5 san 2 она нормализована? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 19:22 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
во-первых вам в проектирование! во-вторых вы о какой НФ говорите? в-третьих, нам самостоятельно догадываться о том, что вы в поля ложите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 19:25 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ну послали так послали.%) Я в поля вроде уже что-то положила. И мну конечно третья форма интересует:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 19:34 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
нормализованна. а на какую таблицу ссылается поле ParentID? на эту же самую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2006, 21:46 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Jelisнормализованна. а на какую таблицу ссылается поле ParentID? на эту же самую? Да, на ту же самую. сегодня шеф пытался доказывать обратное. ищу истину:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 02:23 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
речь в частности об иерархии...аналогичный пример - menuId menuName menuParentId, где меню парент Id ссылается на меню Id, и у главного(главных элементов ) равно null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 02:37 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
а каков практический смысл этой таблицы вообще и поля Name в частности? имхо, без этого нельзя точно сказать, нормализован эта таблица или нет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 09:21 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
К примеру, если значения в Name уникальны, то она в 3НФ (да и НФБК). Да и во всех остальных. Потому что ID уникально, судя по его названию. Значит, транзитивных функциональных зависимостей нет, поскольку всего три атрибута, а ID и Name оба ключи. (В таком случае и 4НФ и 5НФ, тоже нарушить не получится). Если Name не уникальны, то нужно знать функциональные зависимости. Есть только одна возможность нарушить 3НФ (в предположении, что ID уникально) -Name не уникально и ParentID завивист от него. Конечно, еще есть возможность нарушить 1НФ как-нибудь. Но это, надеюсь не рассматриваеися. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 17:03 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
смешной топик. дано: 1 таблица. Из первого же поста и из примера данных автора видно, что речь идет о ссылке сам-на-себя. miksoftа каков практический смысл этой таблицы вообще и поля Name в частности? Открою может быть истину - чтобы хранить имя . vadiminfoЗначит, транзитивных функциональных зависимостей нет, поскольку всего три атрибута, а ID и Name оба ключи. (В таком случае и 4НФ и 5НФ, тоже нарушить не получится). Вы квадрат Малевича никогда не обсуждали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 17:44 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 так что же это такое и нужно ли, можно ли это нормализовать ?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:02 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
что можно нормализовывать в одной таблице? Zoria, не углубляйтесь в ненужную теорию без необходимости. Нормализовать можно отношения между несколькими таблицами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:05 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
p.s. можно конечно вынести имена тем в отдельную таблицу, а можно и не выносить. Смотрите насколько возможно их изменение. Если это жестко заданные разделы, то зачем Вам лишние связки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:10 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm miksoftа каков практический смысл этой таблицы вообще и поля Name в частности? Открою может быть истину - чтобы хранить имя ну вот, а говорят, телепаты в отпуске... ничего они не в отпуске! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:22 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
miksoftну вот, а говорят, телепаты в отпуске... ничего они не в отпуске! :) еще на месте все :) С полуслова... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:23 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafmчто можно нормализовывать в одной таблице? Zoria, не углубляйтесь в ненужную теорию без необходимости. Нормализовать можно отношения между несколькими таблицами. почему же.. нормализация начинается с того, что возможно одна таблица, содержащая многие повторяющиеся и функционально зависимые данные делится на несколько таблиц. Кстати из статьи на форуме о нормализации 3я форма: "Другими словами, факты, хранимые в таблице, должны зависеть только от ключа." это в данном случае выполняется ли? Один раздел имеет всегда одного прямого родителя. Раздел охарактеризован однозначно его именем и местом в структуре.. мне в понельник будет зачитана лекция по теории нормализации:) нужно будет с геген-аргументами выступать.:*( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:24 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Нормализовать можно отношения между несколькими таблицами. Это новое слово в теории реляционных БД. Хотя и смешное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:32 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Zoriaпочему же.. нормализация начинается с того, что возможно одна таблица, содержащая многие повторяющиеся и функционально зависимые данные делится на несколько таблиц. ... или несколько таблиц сводятся к одной и начьхать на нормализацию, когда нужно мгновенно выборки из нее делать. По разному бывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:32 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo iscrafm Нормализовать можно отношения между несколькими таблицами. Это новое слово в теории реляционных БД. Хотя и смешное. Внутренняя гармония конечно тоже важный фактор :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:44 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
help hilfe памахитееееееееееее люди добрые, кто чем может........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 18:55 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafmчто можно нормализовывать в одной таблице? Zoria, не углубляйтесь в ненужную теорию без необходимости.Может напомните, в чем заключается суть нормализации ? iscrafmНормализовать можно отношения между несколькими таблицами.Соглашусь с vadiminfo, Вы просто открываете нам глаза. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:01 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Zoria, с чем помочь? если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована. Вместо Name нужно делать ссылку на таблицу с именами. Если с точки зрения, что Names это имена разделов, допустим сайта (что-то навевает), то с точки зрения производительности может и не стоит. Names изменяется редко или крайне редко, запрашивается часто. Лучше при изменении Names изменить значение поля в приведенной таблице и заниматься нормализацией во вред. Т.е. в первом случае соглашайтесь, во втором приводите известные недостатки нормализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:02 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ChAМожет напомните, в чем заключается суть нормализации ? Почитайте в литературе или в интернете. Честное слово, нет желания это обсуждать, сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:05 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Zoria help hilfe памахитееееееееееее люди добрые, кто чем может........ Чем же Вам еще помочь? Если Name уникльно, то находится в 3НФ. Да и если не уникально, то скорее всего между Name и ParentID нет функциональных зависмомстей - тоже нормализована. Те данные что в примере - нормализована. Скажите, плиз, аргументы шефа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:07 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Вместо Name нужно делать ссылку на таблицу с именами.Интересно, на каком основании ? iscrafmПочитайте в литературе или в интернете. Честное слово, нет желания это обсуждать, сорри.А когда в последний раз Вы перечитывали сами ? Если не было желания обсуждать, то зачем Вы вообще здесь отметились ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:11 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ChAИнтересно, на каком основании ? Если бы было известно основание, не было бы вопросов. Телепатия вещь хорошая, но не всегда на 100% работает. ChAА когда в последний раз Вы перечитывали сами ? Если не было желания обсуждать, то зачем Вы вообще здесь отметились ? Каждый день думаю об этом. Просто покоя не дает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:15 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:18 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafmКаждый день думаю об этом.Лучше читайте больше, может быть реже будете демонстрировать некомпетентность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:22 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ChA iscrafmКаждый день думаю об этом.Лучше читайте больше, может быть реже будете демонстрировать некомпетентность. :) Опять мессия. Добро пожаловать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:24 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:31 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoСкажите, плиз, аргументы шефа. он был довольно возбужден, и сумбурен, по-моему искал ответов у каких-то университетов, но насколько я поняла, он считает, что парентайди имеет функциональную зависимость от имени? Но это ведь не так, поскольку имя само не определяет элемент однозначно? и так сузим вопрос.....если сущность таблицы - отображение иерархической зависимости , то имеет ли поле парентиди функциональную зависимость от ....имени ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:34 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafmОпять мессия. Добро пожаловать.Ни в коем случае, здесь достаточно одного Вас. Удачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:34 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm если просто посмотреть на таблицу с точки зрения теории нормализации, то да - таблица не нормализована. Продолжение внесений чего-то свеженького в теорию РМД. А чего? Мож премию Тьюринга дадут. 2 Zoria Внешним признаком, того, что отношение (таблица) не находилась в 3НФ, будет то что после декомпозиции без потерь информации одно из отношений(таблиц) будет содержать меньше записей, чем в исходной. Это, конено, не только к 3НФ относится, но к 3 НФ однозначно. А Вас она интересует. Ваш пример с данным как ни декомпозируй записей будет 5. Чтобы она не была в 3НФ согласно теории, а не тому что говорит iscrafm, нужно два условия (которых не видно в примере с данными): Name было не уникальным (я предполагаю, что Id уникально) и была ФЗ: Name->ParentID. (Из примера видно, что нет ФЗ: ParentID->Name) Не уникальность Name дает отсутствие ФЗ: Name->Id. Тогда нарушение 3НФ на лицо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:38 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ChA iscrafmОпять мессия. Добро пожаловать.Ни в коем случае, здесь достаточно одного Вас. Удачи. Зачем тогда отмечались? Помогите лучше человеку разобраться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:38 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Вам нужно представить эти два условия. Без них отношение в 3НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:41 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 раздель для мускуль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:46 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo Ваш пример с данным как ни декомпозируй записей будет 5. Внимательней записи пересчитайте. Можно даже галочки ставить на бумаге ставить (крыжить). vadiminfoЧтобы она не была в 3НФ согласно теории, а не тому что говорит iscrafm, нужно два условия (которых не видно в примере с данными): Name было не уникальным (я предполагаю, что Id уникально) и была ФЗ: Name->ParentID. (Из примера видно, что нет ФЗ: ParentID->Name) Не уникальность Name дает отсутствие ФЗ: Name->Id. Тогда нарушение 3НФ на лицо. так все таки, нормализована или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:50 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Zoria лишнее с точки зрения словаря, но с точки зрения сущностей мы теряем один пункт меню? предположим, мы имеем еще поле описание. Id menuName menuText 1 статьи статьи обо всем 2 форум форум для всех 3 sql скуль для форума 4 sql скуль для описания чего бы то ни было 5 c# тема о с# 6 mysql раздель для мускуль вот этим Вы и выражаете то, что хотите сказать 3 1 - скуль для форума 3 2 - скуль для описания чего то ни было Т.е. Вы выделяете такую сущность как скуль :) при помощи 3, а при помощи связок 3-1, 3-2 находите свою потерянную сущность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:53 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm так все таки, нормализована или нет? да, вот в чем вопрос.!Ю( ps пошла регистрироваться.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 19:54 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 пети , но петя пете рознь не потому что они у разных шефов в подчинении, а потому что они разные люди:) я не увожу нас в лес?:(.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:02 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. Вот пример ненормализованного, но не отношения а только состояния Есть Name->ParentID и нет Name->Id Код: plaintext 1. 2. 3. 4. 5. 6. 7. Тогда декомпозиция приводит к нормализации Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Однако, нужно чтобы ФЗ сохранялась во всех состояних. И если допустимо Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Поэтому и спрашивали с самого начала про зависмости атрибутов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:05 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:10 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Там в декомпозиции в отношениях опечтка в именах атрибутов. Надо читать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:13 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
2 Zoria Ответьте хотя бы для начала на вопрос: в Name возможны повторы? Если нет, то нормализовано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:20 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Zoria возьмем пример зависимость люди-шефы :) Люди-шефы скорее будет одна таблица, т.к. двойное подчинение в реальности вещь нереальная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:21 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo2 Zoria Ответьте хотя бы для начала на вопрос: в Name возможны повторы? Если нет, то нормализовано. Вы отвечаете не читая вопросы? " имена естественно, могут повторяться " (c) Zoria ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:23 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Тада второй ворос: Про зависмость ParentID от Name: Возможно ли чтобы были две записи такие, чтобы значения Name были одинаковы, а ParentID различны? т.е. например Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Здесь в 5 и 16 Значения Name одинаковы - san, ParentID - различны 2 и 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:33 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ZoriaПолистайте здесь и Вы сами сможете ответить на свои вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:37 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoТада второй ворос: Про зависмость ParentID от Name: Возможно ли чтобы были две записи такие, чтобы значения Name были одинаковы, а ParentID различны? Я тут за переводчика с нормального языка на книжный. Да, возможно: Zoria 3 sql скуль для форума 4 sql скуль для описания чего бы то ни было Еще вопросы, не стесняйтесь :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:37 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Кстати, насчет "имена естественно отличаются" - кажется таким уж и естественным. ID - суррогат. Он мало о чем пользователю не говорит. Как он тада будет отличать разные имена? Но это так - комментарий насчет "естественно". Но раз отличваются, то отличаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:38 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Так все таки vadiminfo, нормализована таблица или нет? К чему это было? :) vadiminfoПродолжение внесений чего-то свеженького в теорию РМД. А чего? Мож премию Тьюринга дадут. Картинку даже нарисовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:46 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ChAПолистайте здесь и Вы сами сможете ответить на свои вопросы. Нормальные формы и бифуркации векторных полей на плоскости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:50 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Если Вы уверены, что возможно iscrafm Я тут за переводчика с нормального языка на книжный. Да, возможно: То нормализовано - нет ФЗ: Name->ParentID. Однко я не уверен, что про одну и ту же схему. Код: plaintext 1. 2. 3. 4. 5. Имеет отношение к табле Код: plaintext 1. Я просил ответить именно про ту таблу, про которую был вопрос. А не про какие-то новые схемы, не известно откуда взявшиеся. Или теперь новую схему нужно оптимизировать? А с первой то разобрались? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:51 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo Код: plaintext 1. 2. 3. 4. 5. Имеет отношение к табле Код: plaintext 1. Вот он: скуль для форума = ParentID. Просмотрите еще раз в хронологическом порядке все уточнения по данной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 20:56 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoЯ просил ответить именно про ту таблу, про которую был вопрос. А не про какие-то новые схемы, не известно откуда взявшиеся. Да я просто нарисовал в квадратах те данные, которые Zoria написала текстом, какие еще новые схемы? Нет, Вы явно не читаете то, на что отвечаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 21:01 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Да я просто нарисовал в квадратах те данные, которые Zoria написала текстом, какие еще новые схемы? Нет, Вы явно не читаете то, на что отвечаете. На мои вопросы ответа не получил. Квадраты не нужны. Она задала вопрос про то - находится ли конкретная табла в 3НФ. Я на этот вопрос и отвечаю. Там было только три атрибута. Вот нужно на те два последних вопроса (заданных в не "книжной" форме) ответить именно про эту таблу. Вы говорили, что именно она не нормализована "если просто посмотреть на таблицу с точки зрения теории нормализации" (с) (да это новое в теории, так как на примере такого состояния ничего нельзя сказать находится она в 3НФ во всех возможных состояниях или нет). И откуда-то привистовали новые атрибуты. Нормализация не предполагает выявления новых свойств объектов, которые должны хранить в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 21:26 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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. Это надеюсь и на Ваш вопрос ответ тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 21:57 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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НФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 23:04 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
авторvadiminfo Ну вот и славненько. Когда столкнетесь с необходимостью заменить sql на ms sql расскажите как это у Вас получится в такой нормальной форме :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2006, 23:51 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Ну вот и славненько. Когда столкнетесь с необходимостью заменить sql на ms sql расскажите как это у Вас получится в такой нормальной форме :) А что мне рассказывать? Отношение находится в 3НФ. Избытка в нем нет - нельзя по значению одного атрибута вычислить значение другого в кортеже, зная что содержится в других. Т.е. если бы зная что раз в кортеже 3 для sql родитель = 1, то и 5 для sql родитель обязательно равен 1. То да избыточность информации на лицо. Если Вы добавите справочник имен, с сурогратом, который в силу его суррогатности (иначе и его может пришлось бы менять) менять не надо - это не нормализация. Это вообще не вопрос теории РБД. Вместо имен можно сразу было поставить значения суррогатов. И тем ни менее, до того как Вы привели то состояние, вопрос о том находится ли отношение в 3НФ или нет оставался открытым. А как только привели - сразу ясно, что оно в 3НФ. Примеры приводил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 00:36 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo А что мне рассказывать? Отношение находится в 3НФ. Избытка в нем нет .. Вы на одном условии остановились, по фз я и так вижу. А как же аномалии, в расчет не беруться? Именно к ним я и пытаюсь Вас подтолкнуть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 01:15 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo Если Вы добавите справочник имен, с сурогратом, который в силу его суррогатности (иначе и его может пришлось бы менять) менять не надо - это не нормализация. Это вообще не вопрос теории РБД. Надо же. Неожиданно ч.г. Вообще-то вопросы возникновения аномалий (в данном примере обновления) и нормализации всегда рассматриватся в одном контексте. Да, Вы можете назвать это 3НФ, но только для того, чтобы себя потешить. А если для работы, то нужно делать декомпозицию на две проекции, исключать аномалии обновления и потом уже называть это нормальной формой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 01:33 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Вы на одном условии остановились, по фз я и так вижу. А как же аномалии, в расчет не беруться? Именно к ним я и пытаюсь Вас подтолкнуть Вопрос был про что? Про нормализацию по 3НФ? 3НФ строится на ФЗ. Все остальные "аномалии" к нормализации отношения не имеют. Например, можно вообще создать таблу с одним полем Name и организовать каскадное обновление. Менять в этой табле sql на ms sql, в исходной все везде заменится. Я так делал на Аксцессе. Можно суррогаты в справочнике - так на Оракле. Это уже вопросы работы приложения в целом влияют на логичесую схему БД. А та табла принципе останется той же. Все с тем же в принципе тремя полями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 01:47 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoА та табла принципе останется той же. Все с тем же в принципе тремя полями. Да не останется она такой же, как только Вам потребуется добавить помимо заголовка меню еще хотя бы один атрибут, например цвет. Будете искать несогласованности и переделывать структуру каждый раз? А старина Кодд об этом упоминал. Вы сделали моментальный снимок структуры и на этом остановились. Это мертвая структура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 01:59 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Вообще-то вопросы возникновения аномалий (в данном примере обновления) и нормализации всегда рассматриватся в одном контексте. Аномалии разные бывают. Нормальные формы, действительно, связанны со стремлением избавиться от аномалий. Но они имеют свои определения. И в связи с 3Нф рассматривают аномалии обновления более тяжелые, которые могут привести, например, к нарушеню ФЗ. И в общем случае уже никакими справочниками помоч нельзя. iscrafm Да, Вы можете назвать это 3НФ, но только для того, чтобы себя потешить. Не я придумывал нормальные формы, не мне называть ими что вздумается. По моему, это максимум 4 курс. Или что 3НФ не на ФЗ строится? Вы же признали про ФЗ. iscrafm А если для работы, то нужно делать декомпозицию на две проекции, исключать аномалии обновления и потом уже называть это нормальной формой. Для работы не нужно делать декомпозицию в общем случае. Я писал выше. Добавление еще одной таблы - не есть декмпозиция. А что нужно называть нормальной формой не нам с Вами решать. Как-то без нас решили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 02:22 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo Да не останется она такой же, как только Вам потребуется добавить помимо заголовка меню еще хотя бы один атрибут, например цвет. Будете искать несогласованности и переделывать структуру каждый раз? А старина Кодд об этом упоминал. Вы сделали моментальный снимок структуры и на этом остановились. Это мертвая структура. Мне не потребуется. В вопросе было про нормализацию той таблы. Мертвая она или нет - это вопрос из другой серии. Надо было спрашивать про не мертвую. Я не собирался исследовать всю задачу. Куда она том может развиваться. Када появится нарушение ФЗ тока тада и надо будет проводить декомпозицию. А цвет попадет в ту дополнительную справочную таблу. А эта так и останется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 02:33 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoНе я придумывал нормальные формы, не мне называть ими что вздумается. По моему, это максимум 4 курс. Или что 3НФ не на ФЗ строится? Вы же признали про ФЗ. Вы очень сильно налегаете на теорию, имхо. Тема топика в заголовке. Но даже в теории задача нормализации - устранение возможных аномалий. Нужно же хотя бы на шаг вперед смотреть. vadiminfo Для работы не нужно делать декомпозицию в общем случае . Я писал выше. Я тоже. vadiminfo Када появится нарушение ФЗ тока тада и надо будет проводить декомпозицию. А цвет попадет в ту дополнительную справочную таблу. А эта так и останется. Я обычно просто заранее такие варианты прорабатываю, чтобы потом не выполнять конветацию данных. На живых системах это не есть хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 11:23 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Вы очень сильно налегаете на теорию, имхо. Тема топика в заголовке. Но даже в теории задача нормализации - устранение возможных аномалий. Нужно же хотя бы на шаг вперед смотреть. И что с того? Если Вы придумаете свою нормальную форму в теории, устраняющую те или иные аномалии и ее признают стоящей, тогда про нее можно говорить. 3НФ к Вашей аномалии не имеет отношение. Имеет к другим, более тяжелым, которых в силу того, что таблица в 3НФ, возникнуть не может. Надо же прежде чем вперед смотреть еще и с настоящим разобраться. iscrafm Я тоже. Вы писали что надо. Либо Вы не совсем в курсах в каком смысле употребляется этот термин: Вынос имен в отдельную таблицу - не декомпозиция, а добавление новой таблы и изменение структуры исходной. Вы добавили новое поле суррогоат. Это что угодно, но только не декомпозиция нормализации 3НФ. Еще раз напомню, что можно, например, добавить таблу из одного поля и объявить ограничение ссылочной с каскадным обновлением. Т.е. без добавления новых атрибутов в схему для устранения той Вашей аномалии. К нормализации это не имеет никакого отношения. Зато я писал пример именно с нарушением 3НФ. И Ваш метод никак не устраняет ту аномалию. iscrafm Я обычно просто заранее такие варианты прорабатываю, чтобы потом не выполнять конветацию данных. На живых системах это не есть хорошо. В общем случае для того чтобы нормализовать нужно исследовать ПО и выявлять зависмости между атрибутами. Однако ПО может быть динамичным. И в общем случае заранее все будующие атрибуты и зависмости выявить нельзя. Но нормальные формы типа 3НФ - не динамичны. Они описаны в литературе, нас им учили профессора, мы сдавали экзамены. И нет никаго смысла называть ими что придет в голову. Иначе те кто получали двойки потребуют пересмотра результатов экзаменов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 12:08 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Тем более что Вашу аномалию, Ваша "нормализация" и не устраняет на все 100% Вы исходите из того, что устранили ее введением атрибута, который менять не понадобится, по крайней мере, в нескольких местах первой таблы. А так ли это? Возможно понадобится. И придется менять в нескольких местах заменять 20 на 30. Тада вернулись к тому что было? Конечно, вероятность кажется меньше. Что бум в нормализации вероятности считать? Каскадное обновление? Ну так оно декларативно даже не любой СУБД поддерживается. Т.е. прогу писать по массовой замене? Так я и запросом могу сразу это сделать. Да и где поддерживается декларативно - ну там тоже прога, тока производителем написанная по массовому обновлению при такой аномалии. Тогда как нормальные формы при устраненнии, например, аномалии обновления стремятся исключить необходимость просмотра записей в принципе: хоть программно, хоть "в ручную". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:26 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoТем более что Вашу аномалию, Ваша "нормализация" и не устраняет на все 100% Вы исходите из того, что устранили ее введением атрибута, который менять не понадобится, по крайней мере, в нескольких местах первой таблы. А так ли это? Возможно понадобится. А что менять придется, если в таблице FK. А наименование меняйте хоть сто раз. Таблицу отношений пунктов меню при этом трогать не нужно. Зачем какие-то проги и каскадное обновление? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:35 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Тем более и ссылочная целостность не избавит в общем случае от просмотра всех записей в первой табле в общем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:37 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfoТем более и ссылочная целостность не избавит в общем случае от просмотра всех записей в первой табле в общем случае. не понял немного что Вы имеете ввиду ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:43 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
vadiminfo А что менять придется, если в таблице FK. А наименование меняйте хоть сто раз. Таблицу отношений пунктов меню при этом трогать не нужно. Зачем какие-то проги и каскадное обновление? Сам суррогат. Например, во второй табле 1 sql 2 ms sql в первой сотни 1 и 2 уже насобиралося. Решили что это не правильно. Нужно оставить только 2 ms sql Что теперь? Просматирвать не придется в первой табле чтобы заменить 1 на 2? Каскадное не поможет - во второй табле суррогат первичный ключь - не позволит заменить 2 на 1. Впрочем это детали. Программно я могу и запрос написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:46 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Опечатка не нозволит заменить 2 на 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:47 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Блин 1 на 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 13:48 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ага, понятно. Только описанная проблема конечно же таковой является, только к аномалиям, которые устраняются нормализацией, не относится, раз уж согласно Вашему настрою придерживаться академических формулировок. Аномалия (в нашем случае, обновления) - это когда править приходится более одной записи в одной таблице. И которая исключается декомпозицией на две таблицы. Проблемы реорганизации справочника - не то. В целом же думаю три страницы для обсуждения таблицы из трех полей уже перебор. Смотреть шире не хотите, а мусолить три поля думаю достаточно. Всяческих успехов! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 21:45 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
iscrafm Только описанная проблема конечно же таковой является, только к аномалиям, которые устраняются нормализацией, не относится, раз уж согласно Вашему настрою придерживаться академических формулировок. Вы сами это назвали аномалией. Сами предлагали "нормализацию", которою пытались назвать 3НФ. Мой настрой к этому не имеет отношения. Я лишь привел пример демонстрирующий, что Ваша якобы нормализация не устраняет Вашу же аномалию. iscrafm Аномалия (в нашем случае, обновления) - это когда править приходится более одной записи в одной таблице. Ну в моем примере их может быть сотни. Там же написано. Аномалия (в Вашем случае, обновления) не устранена вашей "нормализацией", построенной на замене атрибута с высоким риском, что придется править более одной записи, на новый атрибут, который якобы не придется править. Но это предположение слишком сильное. Поэтому Ваша аномалия осталась. iscrafm И которая исключается декомпозицией на две таблицы. Но не исключилась. iscrafm Проблемы реорганизации справочника - не то. Этот справочник просто название Вашей второй таблицы. Менять то придется в первой. А почему не Важно. Реорганизация справочнка или просто имена, если бы справочника не было. Суть одна как меняли более одной так и меняем. iscrafm В целом же думаю три страницы для обсуждения таблицы из трех полей уже перебор. А кто виноват? Zoria привела пример и спросила про 3НФ - на основе примера ничего сказать нельзя. Вы привели пример - табла находится в 3НФ: между атрибутами нет ФЗ, которые привели к нарушению. И все. Зачем Вы привели какую-то левую якобы нормализацию да еще и пытались называть ее 3НФ. Привели аномалию и пытались сказать, что Ваша нормализация ее якобы устраняет. И поэтому она якобы 3НФ???!!! Если бы в ее табле было четвертое поле, которое зависило бы от Name, например, Long Name, тогда нарушение 3НФ было бы. Что и бывает часто на практике. Наверное, это Вас сбило с толку. Но в ее вопросе именно три поля. iscrafm Смотреть шире не хотите, а мусолить три поля думаю достаточно. В смысле называть что попало нормальными формами? Выдумывать аномалии, которые эти якобы "нормализации" устраняет? Нет не хочу. И мусолили мы не три поля, а эту Вашу якобы "нормализацию". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 22:38 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 и т.п. В общем, понадеялся на очевидность некоторых вещей. Ладно. Отложим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 23:21 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
> думал, что найдутся собеседники которые поднимут тему теории > и практики нормализации ;)) На вопрос автора Вы ответили исчерпывающе и абсолютно верно, - обсуждать здесь imho нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2006, 23:49 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
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 и т.п. В общем, понадеялся на очевидность некоторых вещей. Ладно. Отложим. Я в ковычках про нормализацию таблы именно с тремя атрибутами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 01:11 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
Ну вы, блин даете пока дочитала до конца:) По поводу замены имен в нескольких строках не совсем так. Если я меняю имя заголовка подраздела в одном разделе, это вовсе не означает, что в другом разделе должно тоже поменяться имя. Они как раз, не смотря на одинаковое название не имеют ничего общего. В примере люди=шефы тоже самое если один петя меняет имя, другой петя от этого васей не станет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 02:39 |
|
||
|
Теория и практика нормализации.
|
|||
|---|---|---|---|
|
#18+
ZoriaПо поводу замены имен в нескольких строках не совсем так. Если я меняю имя заголовка подраздела в одном разделе, это вовсе не означает, что в другом разделе должно тоже поменяться имя. Они как раз, не смотря на одинаковое название не имеют ничего общего. Тогда этой таблице ничего больше не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 09:32 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1545248]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
95ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 425ms |

| 0 / 0 |
