|
|
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Привет всем, Если в реляционной БД отображают иерархические структуры данных (Tree leaf pattern), то что, нормализация данных "поламает" сию иерархическую структуру? ?? (или до какой формы возможно нормализовать данные то, сохраняя иерархическую структуру? P.S моделируется дерево процессов: есть корневой процесс, этому процессу упорядочен процесс-предок, который может содержать свои подпроцессы итд псиб за ответы:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 23:33 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahr, процесс-предок =>> процесс-потомок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.02.2013, 23:35 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 03:18 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahr, Managing Hierarchical Dat - замечательная вводная статья. а потом уже можно с пониманием читать вышеприведенную ссылку и другие :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 09:42 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahr, ты покажи структуру данных. а там уже поглядим нормализация как влияет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 09:44 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
....и при чем здесь нормализация? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 10:26 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahr, ну почему же, реляционность здесь как раз присутствует. Всё дерево вытаскивается с помощью конструкции WITH. Сам писал запрос для отображения древовидной ОШС предприятия за раз. Никаких сложностей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 10:37 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
За ссылку http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ спасиб, но все-таки, как насчет нормализации то? Например в данной статье есть вот такая таблица Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. атрибут name содержит инфо о продукте, при этом еще и данные про "дьюмовость" есть, кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована. Что произойдет, если эту таблицу нормализовать?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:00 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
MasterZiv, Вот один из примеров иерархических структур ( не касаемо структуры процессов и подпроцессов) Для отображения данных структур данных были дцать лет назад созданы следующие таблицы: 1. ТАБ_М_Б - в ней содержаться как персональные данные работника (мыло, Ф.И.О итд), а также группы, а также (под)отделы. Для различия используется аттрибут "тип" со значениями от 10 (отдел), 15(работник), 20(группа). Аттрибут "О-ID" хранит айдишник группы/(под)отдела, работника. 2. ТАБ_ОРГАНИЗАЦИЯ_ПРЕДПРИЯТИЯ - в ней хранятся данные упорядочиванию отделам подотделов и групп. Данная таблица имеет следующие релевантые для описания проблемы аттрибуты: О-ID_PARENT и О-ID_CHILD для формирования иерархической структуры. 3. ТАБ_ГРУППЫ - в ней хранятся данные упорядочиванию отделам только групп. Данная таблица имеет следующие релевантые для описания проблемы аттрибуты: О-ID_GR_PARENT и О-ID_GR_CHILD. В разрабатываемой системе АБЦ есть некие сущности, которые наряду с другими аттрибутами обладают аттрибутом MI_ID (int). ТАБ_ГРУППЫ и ТАБ_ОРГАНИЗАЦИЯ_ПРЕДПРИЯТИЯ имеют вид таблицы смежности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:03 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrЧто произойдет, если эту таблицу нормализовать? Отрастёт геморрой на ровном месте. Нормальность таблицы вещь не абсолютная, зависит от предметной области. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:08 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovkamenjahrЧто произойдет, если эту таблицу нормализовать? Отрастёт геморрой на ровном месте. Нормальность таблицы вещь не абсолютная, зависит от предметной области. Если в описуемом примере в статье надо будет группировать товары по категориям (например, "Телевизоры", "Мп3-плейеры") А в категории "Телевизоры" еще по "дюймовости" сортировать (например, чтобы узнать, чего продано бОльше) то гемор будет у автора статьи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:24 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
defragmentatorkamenjahr, ну почему же, реляционность здесь как раз присутствует. Всё дерево вытаскивается с помощью конструкции WITH. Сам писал запрос для отображения древовидной ОШС предприятия за раз. Никаких сложностей. Конечно есть реляционность, база данных же реляционная;-) Потому, имхо ( после прочтения очередных статей ), нормализация может быть проведена.И по-моему иерархическая структура не пострадает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:26 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrЗа ссылку http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ спасиб, но все-таки, как насчет нормализации то? Например в данной статье есть вот такая таблица Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. атрибут name содержит инфо о продукте, при этом еще и данные про "дьюмовость" есть, кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована. Что произойдет, если эту таблицу нормализовать?? Можно считать, что таблица нормализована и не париться. Вот если из неё потребуется выбирать от дельно телевизоры, отдельно плееры, тогда да, надо нормализовывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:40 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrЕсли в описуемом примере в статье надо будет группировать товары по категориям (например, "Телевизоры", "Мп3-плейеры") А в категории "Телевизоры" еще по "дюймовости" сортировать (например, чтобы узнать, чего продано бОльше) то гемор будет у автора статьи Да щаз. Автор статьи умнее тебя и добавил в таблицу category_id. По которому и будет группировать, наплевав на названия. И если у него в ТЗ есть группировка телевизоров по дюймовости, то он просто удлинит дерево категорий на один уровень. И не будет ломать себе голову из-за опечаток в названии, несовпадения названия с названием производителя, несоответствием с накладными и прочей тому подобной чепухой. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 13:42 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovkamenjahrЕсли в описуемом примере в статье надо будет группировать товары по категориям (например, "Телевизоры", "Мп3-плейеры") А в категории "Телевизоры" еще по "дюймовости" сортировать (например, чтобы узнать, чего продано бОльше) то гемор будет у автора статьи Да щаз. Автор статьи умнее тебя и добавил в таблицу category_id. По которому и будет группировать, наплевав на названия. И если у него в ТЗ есть группировка телевизоров по дюймовости, то он просто удлинит дерево категорий на один уровень. И не будет ломать себе голову из-за опечаток в названии, несовпадения названия с названием производителя, несоответствием с накладными и прочей тому подобной чепухой. А с чего ты взял, что что по названиям то группировать предложено??? Али ты из фразы "надо будет группировать товары по категориям (например, "Телевизоры", "Мп3-плейеры") " вытянул? И причем тут очепятки в названии то?? В жизненных реалиях никто не будет же ручками в уже работающей системе вбивать "теливизыры" или "теловизоры". Будет скорее всего ГУИ, где комбобох будет или еще какой графический елемент (список), который будет репрезентировать для юзера товары, а уж технически будет тот же АйДишник браться например. И к чему увеличивать дерево айди-категорий, вводить снова новые значения lft и rgt, если достаточно нормализовать упомянутую из статьи таблицу с аттрибутом name . Например, ввести таблицу "dimension" с id и name, затем ввести аттрибут dimension_id в упомянутую из статьи таблицу. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:02 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrЗа ссылку http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ спасиб, но все-таки, как насчет нормализации то? Например в данной статье есть вот такая таблица Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. атрибут name содержит инфо о продукте, при этом еще и данные про "дьюмовость" есть, кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована. Что произойдет, если эту таблицу нормализовать?? Эта таблица нормализована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:05 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrMasterZiv, Вот один из примеров иерархических структур ( не касаемо структуры процессов и подпроцессов) Для отображения данных структур данных были дцать лет назад созданы следующие таблицы: Нихрена не понял. во-первых, где структура ? во-вторых, где ненормализованность ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:07 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrВ жизненных реалиях никто не будет же ручками в уже работающей системе вбивать "теливизыры" или "теловизоры"видел в справочнике, в работающей системе, около 15 вариантов написания слова SONY ( слово из 4х букв, напомню ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:07 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
MasterZivkamenjahrЗа ссылку http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ спасиб, но все-таки, как насчет нормализации то? Например в данной статье есть вот такая таблица Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. атрибут name содержит инфо о продукте, при этом еще и данные про "дьюмовость" есть, кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована. Что произойдет, если эту таблицу нормализовать?? Эта таблица не нормализована, поскольку атрибут name , Содержит размерность в дюймах Эта таблица нормализована. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:52 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
MasterZivkamenjahrЗа ссылку http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ спасиб, но все-таки, как насчет нормализации то? Например в данной статье есть вот такая таблица Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. атрибут name содержит инфо о продукте, при этом еще и данные про "дьюмовость" есть, кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована. Что произойдет, если эту таблицу нормализовать?? Эта таблица нормализована. Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:52 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrMasterZivпропущено... Эта таблица нормализована. Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах атрибут name также содержит буквы латинского алфавита. Вы будете делать отдельную связку на каждую букву? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 15:58 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
defragmentatorkamenjahrЗа ссылку http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/ спасиб, но все-таки, как насчет нормализации то? Например в данной статье есть вот такая таблица Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. атрибут name содержит инфо о продукте, при этом еще и данные про "дьюмовость" есть, кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована. Что произойдет, если эту таблицу нормализовать?? Можно считать, что таблица нормализована и не париться. Вот если из неё потребуется выбирать от дельно телевизоры, отдельно плееры, тогда да, надо нормализовывать Что есть 1ая, 2ая и 3ая нормальные формы прописали еще в 70х годах 20г0 века по-моему. И как раз наличие разнородной инфо в одном столбце намекает на ненормалицацию (наименование+размерность). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 16:02 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
defragmentatorkamenjahrпропущено... Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах атрибут name также содержит буквы латинского алфавита. Вы будете делать отдельную связку на каждую букву? Несмяшно: буквы алфавита формируют в моске индивиида с моском ассоциативные образы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 16:04 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
MasterZivkamenjahrMasterZiv, Вот один из примеров иерархических структур ( не касаемо структуры процессов и подпроцессов) Для отображения данных структур данных были дцать лет назад созданы следующие таблицы: Нихрена не понял. во-первых, где структура ? во-вторых, где ненормализованность ? Продемострируйте на примере, чего Вы увидеть желаете, когда пишете про структуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 16:08 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahr(наименование+размерность) Это ты видиш там размерность отдельно. А для автора это составная и неотделимая часть названия. Он с этим полем обращается как с единым и неделимым целым. Потому что у него в ТЗ так написано. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2013, 16:12 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=40&tid=1541328]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 415ms |

| 0 / 0 |
