powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Иерархические структуры в реляционной БД & нормализация
25 сообщений из 304, страница 2 из 13
Иерархические структуры в реляционной БД & нормализация
    #38166742
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovkamenjahr(наименование+размерность)
Это ты видиш там размерность отдельно. А для автора это составная и неотделимая часть
названия. Он с этим полем обращается как с единым и неделимым целым. Потому что у него в
ТЗ так написано.


А ссылка есть на ТЗ? В самой статье нет, но может я не внимательно читал
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38166749
kamenjahrЧто есть 1ая, 2ая и 3ая нормальные формы прописали еще в 70х годах 20г0 века по-моему. И как раз наличие разнородной инфо в одном столбце намекает на ненормалицацию (наименование+размерность).

Какая неоднородная инфа? Строка, всего лишь :)

А что тогда с XML документами делать? там внутри.... огого... что же теперь, повесится от безысходнности? :)
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38166782
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимо пробегал...kamenjahrЧто есть 1ая, 2ая и 3ая нормальные формы прописали еще в 70х годах 20г0 века по-моему. И как раз наличие разнородной инфо в одном столбце намекает на ненормалицацию (наименование+размерность).

Какая неоднородная инфа? Строка, всего лишь :)


Тык написал уж:размерность товара и наименование товара:-)
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38166838
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahr,

Вам же уже сказали - однородность/неоднородность неких данных зависит от задачи.
для одной задачи - "Название + размерность", для другой - "просто строка", а для третьей - "набор символов английского алфавита".
Если Вы в рамках задачи работаете с данными целиком , не пытаясь из них вычленять какие-то части - данные однородны. если вычленяете - неоднородны.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38166880
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот Матроскинkamenjahr,

Вам же уже сказали - однородность/неоднородность неких данных зависит от задачи.
для одной задачи - "Название + размерность", для другой - "просто строка", а для третьей - "набор символов английского алфавита".
Если Вы в рамках задачи работаете с данными целиком , не пытаясь из них вычленять какие-то части - данные однородны. если вычленяете - неоднородны.

Ежели бы только исходили из поставленных задач/ТЗ, не абстагируясь хоть на уровень "вышее", то дизайнеры БД токма и занимались редизайном моделей данных. Кроме того, я кагбе вопрос про нормализацию не задавал. Меня интересовало, не "поламает" ли нормализация иерархическую структуру данных то. Во время плодотворной дискуссии с посылами на какиетотамстатьи про нестессетс с матрицами-смежности, а также просьбами "а-вываликасюда БД-амы-поглядим" пришел к сам к выводу, что нормализация при представлении иехрархических структур данных в принципе ниче поламать не могет, т.к столбцы, необходимые для реализации - не несут избыточной информации.
В то же время сие представление может быть не нормализованным.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167056
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах

Вам русским языком сказали: таблица нормализована. Ваша проблема - не в нормализации, а в кривой идентификации. Никакая иерархия никаким боком к этому отношения не имеет.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167297
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах

Вам русским языком сказали: таблица нормализована. Ваша проблема - не в нормализации, а в кривой идентификации. Никакая иерархия никаким боком к этому отношения не имеет.

Так и я русским языком отвечаю всем тем, кто считает нормализованной таблицy, где в поле name содержится разнородная информация : наименование товара и размерность, что данная таблица не находится даже в 1НФ именно в виду разнородности информации. При этом я исхожу не из ТЗ,а из определения , что есть нормализованная таблица, а что нет
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167306
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrв поле name содержится разнородная информация : наименование товара и
размерность
Не, если ты такой телепат и уверен, что цифра 17 это размерность, а не порядковый номер
модели - флаг тебе в руки, нормализуй. Но про геморрой на ровном месте я уже сказал.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167315
kamenjahrguest_20040621> Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах

Вам русским языком сказали: таблица нормализована. Ваша проблема - не в нормализации, а в кривой идентификации. Никакая иерархия никаким боком к этому отношения не имеет.

Так и я русским языком отвечаю всем тем, кто считает нормализованной таблицy, где в поле name содержится разнородная информация : наименование товара и размерность, что данная таблица не находится даже в 1НФ именно в виду разнородности информации. При этом я исхожу не из ТЗ,а из определения , что есть нормализованная таблица, а что нетВы правильные статьи читаете. Я лишь хочу сказать, что не стоит впадать в крайности, а то можно дойти до того, что "17 мгновений весны" нормализовать захочется, в силу разнородности представленной информации.

Или другой пример. Модели BMW обозначаются трехзначным индексом - 318, 760 и тп, где первая цифра - кузов а вторая и третья - объем мотора. Тоже разнородная информация и вроде повод для нагородить табличек.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167316
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovkamenjahrв поле name содержится разнородная информация : наименование товара и
размерность
Не, если ты такой телепат и уверен, что цифра 17 это размерность, а не порядковый номер
модели - флаг тебе в руки, нормализуй. Но про геморрой на ровном месте я уже сказал.

Совершенно не надо обладать телепатическими способностями, чтобы глянув на вот эту таблицу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
+------------+-------------------+-------------+
| product_id | name              | category_id |
+------------+-------------------+-------------+
|          1 | 20" TV            |           3 |
|          2 | 36" TV            |           3 |
|          3 | Super-LCD 42"     |           4 |
|          4 | Ultra-Plasma 62"  |           5 |
|          5 | Value Plasma 38"  |           5 |
|          6 | Power-MP3 128mb   |           7 |
|          7 | Super-Shuffle 1gb |           8 |
|          8 | Porta CD          |           9 |
|          9 | CD To go!         |           9 |
|         10 | Family Talk 360   |          10 |
+------------+-------------------+-------------+

из предложенной мне тут выше по теме статьи узреть что например 20" или 36" ни что иное как размерность в дюймах , поскольку вот такой символ " использован .
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167320
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимо пробегал...kamenjahrпропущено...


Так и я русским языком отвечаю всем тем, кто считает нормализованной таблицy, где в поле name содержится разнородная информация : наименование товара и размерность, что данная таблица не находится даже в 1НФ именно в виду разнородности информации. При этом я исхожу не из ТЗ,а из определения , что есть нормализованная таблица, а что нетВы правильные статьи читаете. Я лишь хочу сказать, что не стоит впадать в крайности, а то можно дойти до того, что "17 мгновений весны" нормализовать захочется, в силу разнородности представленной информации.

Или другой пример. Модели BMW обозначаются трехзначным индексом - 318, 760 и тп, где первая цифра - кузов а вторая и третья - объем мотора. Тоже разнородная информация и вроде повод для нагородить табличек.

Совершенно согласен, что крайности это гибель. И расчленять на атомы нет ессно нужды. А то джойнить-не-переджойнить потом. Однако пример из статьи, где размер+наименование имхо вопиющий. Иное дело, что в статье упор делался на несколько иное, а именно как обустроить иерархии в чужеродном теле реляционных БД:-)
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167328
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrузреть что например 20" или 36" ни что иное как размерность в дюймах,
поскольку вот такой символ " использован.
Прэлестно... А взглянув на наименование товара "твердотопливная ракета-носитель Тополь-2М"
ты сразу поймёшь, что эта ракета двухметровая. Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167329
kamenjahrDimitry Sibiryakovпропущено...

Не, если ты такой телепат и уверен, что цифра 17 это размерность, а не порядковый номер
модели - флаг тебе в руки, нормализуй. Но про геморрой на ровном месте я уже сказал.

Совершенно не надо обладать телепатическими способностями, чтобы глянув на вот эту таблицу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
+------------+-------------------+-------------+
| product_id | name              | category_id |
+------------+-------------------+-------------+
|          1 | 20" TV            |           3 |
|          2 | 36" TV            |           3 |
|          3 | Super-LCD 42"     |           4 |
|          4 | Ultra-Plasma 62"  |           5 |
|          5 | Value Plasma 38"  |           5 |
|          6 | Power-MP3 128mb   |           7 |
|          7 | Super-Shuffle 1gb |           8 |
|          8 | Porta CD          |           9 |
|          9 | CD To go!         |           9 |
|         10 | Family Talk 360   |          10 |
+------------+-------------------+-------------+

из предложенной мне тут выше по теме статьи узреть что например 20" или 36" ни что иное как размерность в дюймах , поскольку вот такой символ " использован .И что дальше? Если это БД этикеток, то сюда до кучи можно производителя и страну впихнуть, это все равно будет лишь строка на этикетке. А если это БД, что бы какие-то аналитики строить (как народ за дюймами гонится), то конечно, эти дюймы надо в отдельную таблицу вытащить.

Нормализовать нужно под задачу, а не из принципа.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167348
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovkamenjahrузреть что например 20" или 36" ни что иное как размерность в дюймах,
поскольку вот такой символ " использован.
Прэлестно... А взглянув на наименование товара "твердотопливная ракета-носитель Тополь-2М"
ты сразу поймёшь, что эта ракета двухметровая. Ню-ню...


К чему лепить горбатого "Тополя", если упорядочивание товаров народного потребления по размеру диогонали - азм езмь реальность.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167352
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимо пробегал...kamenjahrпропущено...

Совершенно не надо обладать телепатическими способностями, чтобы глянув на вот эту таблицу
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
+------------+-------------------+-------------+
| product_id | name              | category_id |
+------------+-------------------+-------------+
|          1 | 20" TV            |           3 |
|          2 | 36" TV            |           3 |
|          3 | Super-LCD 42"     |           4 |
|          4 | Ultra-Plasma 62"  |           5 |
|          5 | Value Plasma 38"  |           5 |
|          6 | Power-MP3 128mb   |           7 |
|          7 | Super-Shuffle 1gb |           8 |
|          8 | Porta CD          |           9 |
|          9 | CD To go!         |           9 |
|         10 | Family Talk 360   |          10 |
+------------+-------------------+-------------+

из предложенной мне тут выше по теме статьи узреть что например 20" или 36" ни что иное как размерность в дюймах , поскольку вот такой символ " использован .И что дальше? Если это БД этикеток, то сюда до кучи можно производителя и страну впихнуть, это все равно будет лишь строка на этикетке. А если это БД, что бы какие-то аналитики строить (как народ за дюймами гонится), то конечно, эти дюймы надо в отдельную таблицу вытащить.

Нормализовать нужно под задачу, а не из принципа.

Из текста статьи и приводимыми в ней примерами как раз БД этикеток вообще ни при чем. А нормализовать надо так, чтобы как можно меньше редизайнить БД и таблицы потом. Иначе БД лоскутной станет со временем.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167373
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Так и я русским языком отвечаю

ОК, на пальцах.

Предположим, вы регистрируете людей. В одном случае вы написали вася пупкин, в другом - вася пупкин в галстуке, в третьем - Василий Пупкин, в четвертом - Василий Васильевич Пупкин, в пятом - Васька П. Вопрос: какие из вариантов правильны, какие ошибочны?

Хинт: регистрации факта недостаточно, необходимы правила регистрации. Никакого отношения к нормализации ваша задача не имеет. Как факт.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167392
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

о да. Этого гемморою у меня до полумиллиона строк уже:

1) "Куп. разд. ЧЕРЕП", цена 150руб. -- это не "Купон разделю ЧЕРЕП" за 150руб. Это женский купальник с черепами на нужных местах.
2) "Альбом для рисования с/к б/к" -- это альбом С кисточкой и БЕЗ коробки.

:)

Насколько понимаю, автор хочет сказать что дополнение наименования вида товара его параметрами - это денормализация строки данных. Это и так и НЕ так, как тут ему правильно пытаются объяснить. Сильно зависит от задачи.

А гемморой по автовыделению из строки параметров - это та задача, которой занимаюсь уже лет 10. Пока побеждает гемморой. :)
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167705
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_20040621> Так и я русским языком отвечаю

ОК, на пальцах.

Предположим, вы регистрируете людей. В одном случае вы написали вася пупкин, в другом - вася пупкин в галстуке, в третьем - Василий Пупкин, в четвертом - Василий Васильевич Пупкин, в пятом - Васька П. Вопрос: какие из вариантов правильны, какие ошибочны?

Хинт: регистрации факта недостаточно, необходимы правила регистрации. Никакого отношения к нормализации ваша задача не имеет. Как факт.я такой ужосной ужос даже и представить не могу.а тех,кто такое может и реализовал с васейвгалстуке надо гнать из профессии.правильный вариант он оди вообщетг,если юать теорию реляционных бд:а именно атомарность информации в столбце. все эти етикеточновасины примеры притянуты за уши. разделеие ф.и.о на столбцы равно как невнесение разнородной информации в столбец азм есмь неормализованная таблица.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167718
kamenjahr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arhat109Dimitry Sibiryakov,

о да. Этого гемморою у меня до полумиллиона строк уже:

1) "Куп. разд. ЧЕРЕП", цена 150руб. -- это не "Купон разделю ЧЕРЕП" за 150руб. Это женский купальник с черепами на нужных местах.
2) "Альбом для рисования с/к б/к" -- это альбом С кисточкой и БЕЗ коробки.

:)

Насколько понимаю, автор хочет сказать что дополнение наименования вида товара его параметрами - это денормализация строки данных. Это и так и НЕ так, как тут ему правильно пытаются объяснить. Сильно зависит от задачи.

А гемморой по автовыделению из строки параметров - это та задача, которой занимаюсь уже лет 10. Пока побеждает гемморой. :)аффтар в моем лице вообще про нормалиацию саму пг себе не спрашивал ибо опыта имеет не мало в этгм меня иерарх.структуры в купе с нормализауией интересовали
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167758
Arhat109
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahr, ув. аффтар!

Это: "Если в реляционной БД отображают иерархические структуры данных (Tree leaf pattern), то что, нормализация данных "поламает" сию иерархическую структуру?"

и это: 13982058 и это (там же): "кроме того, телевизиры смешаны с мп3 плеэрами, т.е таблица не нормализована"

взаимоНЕсвязанные вопросы . Если это НЕ понятно, то ещё раз, с конца:

1. Строка наименования товара (теловизуры там или МПР3-плюеры - и пофиг на дюймовость) - это всего лишь строка символов в заданной кодировке... и НЕ может быть "нормализована", в силу своей атомарности. Банально - некуда... если, использование строки происходит "целиком" как строки текста.

2. Набор строк в том посту - может быть сложной структуры и требовать нормализации... только (и только) если их использование требует выделения параметров строки (в том примере дюймовости телевизоров) и обработки отдельных праметров как сущностей с которыми работает конечное ПО. Тогда такой набор строк, возможно(!) требует нормализации в виде разделения строки на наименование товара и его набор параметров (в отдельную таблицу, и возможно даже не одну).

3. Хранение в БД иерархии объектов - никак НЕ связано с процессом нормализации строк означенного примера. Соответственно "поломать" там нечего.

Задача хранения иерархии - показать взаимозависимость записей(кортежей), задача нормализации - уменьшения избыточности хранимых данных... это "попердикулярные" задачи ваще-то. Как улучшение бензобака автомобиля (нормализация данных) может поломать задачу "перевозить груз" (необходимость иметь кузов) :)
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167770
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrMasterZivпропущено...


Эта таблица нормализована.

Эта таблица не нормализована, поскольку атрибут name, Содержит размерность в дюймах

И насрать. Она всё равно нормализована, пока ты не пытаешься эти дюймы использовать.
А ты не будешь это пытаться делать, потому что это идиотизм. Чтобы это делать, надо иметь отдельное поле для этого, и, видимо, в отдельной таблице. А ЭТИ дюймы -- лишь часть имени продукта, их можно вывести и ввести.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167829
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrMasterZivпропущено...


Нихрена не понял.
во-первых, где структура ?
во-вторых, где ненормализованность ?
Продемострируйте на примере, чего Вы увидеть желаете, когда пишете про структуру

Код: sql
1.
2.
3.
4.
create table AAAA(
field1 int not null,
field2 float null
);
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167842
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскинkamenjahr,

Вам же уже сказали - однородность/неоднородность неких данных зависит от задачи.
для одной задачи - "Название + размерность", для другой - "просто строка", а для третьей - "набор символов английского алфавита".
Если Вы в рамках задачи работаете с данными целиком , не пытаясь из них вычленять какие-то части - данные однородны. если вычленяете - неоднородны.

Типичным и очень хорошим примером этого дела является телефонный номер.

Для одних приложений -- это только номер, набор чисел (кстати, не всегда они и числа).
Для других приложений (например, телефонии) -- сложнейшая составная сущность,
во-первых, неатомарная, состоит из разных частей, а во-вторых, с альтернативными составляющими,
поскольку по сути телефон -- это алгоритм установления соединения между двумя абонентами.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167849
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrс матрицами-смежности, а также просьбами "а-вываликасюда БД-амы-поглядим" пришел к сам к выводу, что нормализация при представлении иехрархических структур данных в принципе ниче поламать не могет, т.к столбцы, необходимые для реализации - не несут избыточной информации.
В то же время сие представление может быть не нормализованным.

Вывод был правильный.
Это вообще на самом деле разные виды избыточности, так что они не пересекаются.
...
Рейтинг: 0 / 0
Иерархические структуры в реляционной БД & нормализация
    #38167853
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kamenjahrТак и я русским языком отвечаю всем тем, кто считает нормализованной таблицy, где в поле name содержится разнородная информация : наименование товара и размерность, что данная таблица не находится даже в 1НФ именно в виду разнородности информации.

Так а кто тебе вообще сказал, что в напменовании есть размерность ? Там какие-то циферки кто-то написал, это ничего не значит.
:-)

На самом деле очень хорошо, что ты видишь эту "ненормализованность", это гораздо лучше, чем не видеть её вообще нигде, как часто бывает. Но тут ещё раз всё в порядке, до тех пор, пока ты не будешь искать по этой зашифрованной в наименовании размерности, или ещё как-то пытаться её использовать отдельно от имени товара.
...
Рейтинг: 0 / 0
25 сообщений из 304, страница 2 из 13
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Иерархические структуры в реляционной БД & нормализация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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