|
|
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал...Представьте ситуацию. Дал заказчик Вам такую табличку, что бы БД сделать. Вы пыхтели, нормализовали, как Вы это себе представляете. Приходите к заказчику, говорите "Вот здесь названия, а вот здесь дюймы". А он на вас смотрит и говорит "А зачем? Мне удобно, что бы размерность всегда была в названии - и в формах, и в документах. Я так сразу понимаю, что за товар". Заказчик, то таблички видеть и не должен (вообще может о БД не иметь понятия), для него есть представления данных (запросы). В этом представлении как "удобно" заказчику. Они и в формах и документах. А в табличках как "удобно" БД и приложению. Если нарушена нормализация, значит может быть гимор с контролем избыточностями, аномалиями ввода, удалеия, изменения. Это нужно коменсировать ухищрениями программисткими. Однако, иногда проще для приложения в целом где-то отказаться от нормализации. Вопрос оптимальности приложения БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 10:06 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
нахожусь на форуме не больше вас так ч о намек про зачстили возвращаю вам. что касается ибоя снова утрируете нормальная дискуссия предпологает как раз дачу ответов по существуа не базлание на темы которые изначально автора не интересуют. про заяву про гадюшник- спасибо за наводку буду знать что вы это гадюшником обозначили.вот только че вы в таком случае тут делаете ?или мое предположение верно?захотелось поучить в виртуале? п.с судя по последним ответам не все участники сиквл разделяют идеи высказываемые тут сторонниками дюймоввстроках. ипро страну .страны звались украинаа теперь белгияпольша и франция. про накладные не обещаю.я же не на складе работаю постоянно,,,, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 11:22 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
vadiminfoЗаказчик, то таблички видеть и не должен (вообще может о БД не иметь понятия), для него есть представления данных (запросы). В этом представлении как "удобно" заказчику. Они и в формах и документах. А в табличках как "удобно" БД и приложению. Если заказчик хочет видеть название именно и ровно таким, как он его ввел - то не храня этой строки, а "собирая" из нормализованных кусков, добиться этого довольно сложно, гораздо проще хранить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 11:31 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинvadiminfoЗаказчик, то таблички видеть и не должен (вообще может о БД не иметь понятия), для него есть представления данных (запросы). В этом представлении как "удобно" заказчику. Они и в формах и документах. А в табличках как "удобно" БД и приложению. Если заказчик хочет видеть название именно и ровно таким, как он его ввел - то не храня этой строки, а "собирая" из нормализованных кусков, добиться этого довольно сложно, гораздо проще хранить. Но это просто означает, что запрос из одного "ненормализованного куска". Про так там хранится заказчику знать не нужно. Так легче разработчику: Вы просто говорите, что оптимальней в каком-то случае отказаться от нормализации. Про это была вторая часть текста: vadiminfoОднако, иногда проще для приложения в целом где-то отказаться от нормализации. Вопрос оптимальности приложения БД. Не дочитали или я не совсем понял что Вы имели в виду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 12:18 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
vadiminfo Вы просто говорите, что оптимальней в каком-то случае отказаться от нормализации. Не дочитали или я не совсем понял что Вы имели в виду? Нет. я говорю про то, что если из этой строки не выделяются дюймы и типы, она используется всегда целиком - то нарушения нормализации нет (так же как нет в хранении полного штрих-кода). Вот такой вот атомарный атрибут "название для отображения в накладных". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 12:28 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинНет. я говорю про то, что если из этой строки не выделяются дюймы и типы, она используется всегда целиком - то нарушения нормализации нет (так же как нет в хранении полного штрих-кода). Вот такой вот атомарный атрибут "название для отображения в накладных". Ну так тем более раз нарушения нормализации нет мой текст не противоречит этому: я про "дюймы и типы" не вникал. Просто обратил внимание, что это проблемы разработчика, до которых заказчику в общем случае дела нет: ему нужна трбуемая инфа. А как там оно в БД устроено ему дела не должно быть. Иначе он как бы должен быть еще и проектировщиком БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 12:35 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrMasterZivпропущено... Иерархические структуры в реляционной БД & нормализация В репликах по ссылке речь про нормализацию без ирерархического аспекта Да. Я и просил тебя этот контекст показать, безрезультатно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 13:24 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Бредятинаkamenjahr... Что касается отображения иерархической структуры на реляционную БД то бишь таблицу... ...Примерно такая же картина с таблицами иерархии предприятия. Например, есть таблица, в которой хранятся данные как по отделу, так и по группе подразделений так и про работников (начальников, подчиненных)... Не стоит приводить примеры проектирования. О, бредятина в теме пошла. Всё, тему можно закрывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 13:26 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинvadiminfoЗаказчик, то таблички видеть и не должен (вообще может о БД не иметь понятия), для него есть представления данных (запросы). В этом представлении как "удобно" заказчику. Они и в формах и документах. А в табличках как "удобно" БД и приложению. Если заказчик хочет видеть название именно и ровно таким, как он его ввел - то не храня этой строки, а "собирая" из нормализованных кусков, добиться этого довольно сложно, гораздо проще хранить. Если заказчик - краевая библиотека города Урюпинска, и хочет электронный каталог книг реализовать, при этом в нзавании хочет иметь строку вида Хаббард Дж. Автоматизированное проектирование баз данных. М, 1984. или E.F.Codd, S.B.Codd, and C.T.Salley. Providing OLAP to User-Analyst: An IT Mandate. E.F.Codd & Associates, 1993 Вы это реализуете точно так, как он желает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 13:45 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrКот МатроскинЕсли заказчик хочет видеть название именно и ровно таким, как он его ввел Если заказчик - краевая библиотека города Урюпинска, и хочет электронный каталог книг реализовать, при этом в нзавании хочет иметь строку вида В этой фразе Вы нежно и деликатно передёргиваете, заменив "видеть" на "иметь". Заказчик не может хотеть "иметь" в смысле "держать в базе вот такую строку". Это не его дело, не его компетенция и у него нет ни малейшего желания вообще в это погружаться. Заказчик хочет "видеть", и это его законное право, а как разработчик обеспечит это и другие желания заказчика - зависит от постановки задачи, от контекста и прочих факторов, включая квалификацию разработчика. И утверждение "я всегда буду хранить вот так, потому что это правильно" автоматом говорит о той самой квалификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:08 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrЕсли заказчик - краевая библиотека города Урюпинска, и хочет электронный каталог книг реализовать, при этом в нзавании хочет иметь строку вида Хаббард Дж. Автоматизированное проектирование баз данных. М, 1984. или E.F.Codd, S.B.Codd, and C.T.Salley. Providing OLAP to User-Analyst: An IT Mandate. E.F.Codd & Associates, 1993 Эти строки как раз достаточно четко формализованы - [Автор].[ Название].[Издательство либо сокращение издательства],[Год], их можно генерить "на лету" из отдельных полей. Но такая халява встречается не всегда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:13 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Совершенно сумасшедший спор ;) Просто если представить, что мы храним в поле name: наименование модели и атрибут, то а) поиск по названию + атрибут как будет проходить? в справочнике забита модель подобным образом: Super puper 62` а клиент ищет по "62` super puper"? Или нет, мы все представили клиента, который сначала выбирает все модели super puper, а потом среди них ищет с нужной диагональною? Ад же ;) А если имя модели содержит ЦИФРЫ?;) super puper 6265 62` или super puper 62` 6265? А если еще представить кол-во вариантов забития дюйм(`), то становится вовсе печально за такую "поделку" б) Ввиду сложности поиска, о какой уникальности может идти речь?;)))) Если представить себе справочник товаров, где в поле имя есть имя и атрибут, то заведение другого такого же товара становится на порядок проще. Отсюда вытекает на некорректно спроектированной бд сложность алгоритма поиска при заведении товаров(отсутствие дубликатов) Нет, нормализовать надо изначально, а уж отказываться от нормализации - по надобности. Очевидно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:23 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
ОзверинПросто если представить, что мы храним в поле name: наименование модели и атрибут, то Штука в том, что ложки нет никто не предлагает хранить в поле name наименование модели и атрибут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:47 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинОзверинПросто если представить, что мы храним в поле name: наименование модели и атрибут, то Штука в том, что ложки нет никто не предлагает хранить в поле name наименование модели и атрибут Я пролистал 6 страниц, только об этом и спорят жы; ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:53 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
kamenjahrПривет всем, Если в реляционной БД отображают иерархические структуры данных (Tree leaf pattern), то что, нормализация данных "поламает" сию иерархическую структуру? ?? (или до какой формы возможно нормализовать данные то, сохраняя иерархическую структуру? P.S моделируется дерево процессов: есть корневой процесс, этому процессу упорядочен процесс-предок, который может содержать свои подпроцессы итд псиб за ответы:-) А почему поломает то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:55 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
ОзверинСовершенно сумасшедший спор ;) Просто если представить, что мы храним в поле name: наименование модели и атрибут, то а) поиск по названию + атрибут как будет проходить? в справочнике забита модель подобным образом: Super puper 62` а клиент ищет по "62` super puper"? Или нет, мы все представили клиента, который сначала выбирает все модели super puper, а потом среди них ищет с нужной диагональною? Ад же ;) А если имя модели содержит ЦИФРЫ?;) super puper 6265 62` или super puper 62` 6265? А если еще представить кол-во вариантов забития дюйм(`), то становится вовсе печально за такую "поделку" б) Ввиду сложности поиска, о какой уникальности может идти речь?;)))) Если представить себе справочник товаров, где в поле имя есть имя и атрибут, то заведение другого такого же товара становится на порядок проще. Отсюда вытекает на некорректно спроектированной бд сложность алгоритма поиска при заведении товаров(отсутствие дубликатов) Нет, нормализовать надо изначально, а уж отказываться от нормализации - по надобности. Очевидно же. Вот блин :) Да все же ОТЛИЧНО понимают эти резоны:). Дело не в этом. Никто не запрещает при необходимости создать отдельную табличку с размерностью и даже эту размерность туда вообще вынести. Ключевые слова здесь при необходимости . Возможно это будет необходимо в 99% случаев. Но категорично утверждать, что автор статьи протупил, потому что не вынес эту размерность в отдельную таблицу, нельзя. Нет в статье достаточной информации, что бы так с плеча брякать. Народ стремится до kamenjahr эту простую мысль донести, а он упирается в своей непогрешимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 14:58 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал..., да нет, категоричность в вопросах проектирования бд - по моему краеугольный камень успешного развития системы. Еще раз говорю, нормализовать надо все по умолчанию, денормализовать - исходя из ситуации, а не наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:05 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал... Но категорично утверждать, что автор статьи протупил, потому что не вынес эту размерность в отдельную таблицу, нельзя. Начальный вопрос был, кажется, не про это. А про то, приведет ли явное создание такой отдельной группы/категории 'размер экрана 42"' к нарушении нормализации. Мой ответ: Приведет. Если мы ухитримся создать функцию Размер_экрана(название). Пока такой функции нет - нет и нарушения. Точнее, оно есть, но не внутри базы, а исключительно в голове того, кто названия понимает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:09 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Озверин Я пролистал 6 страниц, только об этом и спорят жы Озверинда нет, категоричность в вопросах проектирования бд - по моему краеугольный камень успешного развития системы. Еще раз говорю, нормализовать надо все по умолчанию, денормализовать - исходя из ситуации, а не наоборот. НА самом деле спор 6 страниц идет на тему "бывает ли нормализация по умолчанию и если да, то что это такое". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:23 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
ОзверинМимо пробегал..., да нет, категоричность в вопросах проектирования бд - по моему краеугольный камень успешного развития системы. Еще раз говорю, нормализовать надо все по умолчанию, денормализовать - исходя из ситуации, а не наоборот. Аааа!. Вот блин :) Да все же ОТЛИЧНО понимают эти резоны:). Два аргумента 1) Может автор статьи так по необходимости и денормализовал уже? :) Зачем настаивать, что он "протупил"? 2) Если Вы помните, то показанием для нормализации является зависимости между атрибутами . Здесь пока нет отдельных атрибутов . Это пока просто один строковый атрибут. Автор эту строку интерпретирует как-то по-своему, и на основании своей интерпретации настаивает, что ее надо обязательно разбить на два атрибута и нормализовать. Народ же сомневается - правильно ли интерпретирует автор эту строку - а может и не надо (или, по-вашему, прикинуть, нужно ли разбивать и нормализовать и, поняв, что не нужно, оставить все как есть) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:32 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Кот МатроскинОзверин Я пролистал 6 страниц, только об этом и спорят жы Озверинда нет, категоричность в вопросах проектирования бд - по моему краеугольный камень успешного развития системы. Еще раз говорю, нормализовать надо все по умолчанию, денормализовать - исходя из ситуации, а не наоборот. НА самом деле спор 6 страниц идет на тему "бывает ли нормализация по умолчанию и если да, то что это такое". 2 участника спора говорят мне, о чем они спорят..;) Причем мнения уже разошлись )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:32 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Мимо пробегал...ОзверинМимо пробегал..., да нет, категоричность в вопросах проектирования бд - по моему краеугольный камень успешного развития системы. Еще раз говорю, нормализовать надо все по умолчанию, денормализовать - исходя из ситуации, а не наоборот. Аааа!. Вот блин :) Да все же ОТЛИЧНО понимают эти резоны:). Два аргумента 1) Может автор статьи так по необходимости и денормализовал уже? :) Зачем настаивать, что он "протупил"? 2) Если Вы помните, то показанием для нормализации является зависимости между атрибутами . Здесь пока нет отдельных атрибутов . Это пока просто один строковый атрибут. Автор эту строку интерпретирует как-то по-своему, и на основании своей интерпретации настаивает, что ее надо обязательно разбить на два атрибута и нормализовать. Народ же сомневается - правильно ли интерпретирует автор эту строку - а может и не надо (или, по-вашему, прикинуть, нужно ли разбивать и нормализовать и, поняв, что не нужно, оставить все как есть) 1) Да может быть что угодно ;) и тем не менее 2) Нет, нормализация говорит не только о зависимости между атрибутами, но и об однозначности атрибута в домене. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:39 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Кот Матроскинvadiminfo Вы просто говорите, что оптимальней в каком-то случае отказаться от нормализации. Не дочитали или я не совсем понял что Вы имели в виду? Нет. я говорю про то, что если из этой строки не выделяются дюймы и типы, она используется всегда целиком - то нарушения нормализации нет (так же как нет в хранении полного штрих-кода). Вот такой вот атомарный атрибут "название для отображения в накладных". Самое страшное слово в требованиях ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:49 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
1) Ok 2) какой многозначный атрибут? 80 "Однозначными являются атрибуты, которые в пределах конкретного экземпляра сущности имеют только одно значение. В противном случае они считаются многозначными." Здесь одна строка. Никакой многозначности. Этот вопрос вне моей компетенции. Я с заказчиком должен обговорить его, объяснить что и как, обсудить перспективы развития системы, выяснить детали. И только после этого я смогу решить, один здесь атрибут или два, и, если два, нормализовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:56 |
|
||
|
Иерархические структуры в реляционной БД & нормализация
|
|||
|---|---|---|---|
|
#18+
Озверин2) Нет, нормализация говорит не только о зависимости между атрибутами, но и об однозначности атрибута в домене. Если под "однозначности атрибута в домене" понимается уникальность атрибута в отношении, то это означает зависимость от него всех других атрибутов в отношении, если эти другие есть. Иначе нужно уточнить что означает "однозначности атрибута в домене" и с каким нормальными формами и как это связано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2013, 15:58 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=38170799&tid=1541328]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
22ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 321ms |

| 0 / 0 |
