Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / глупый вопрос про Нормальные Формы / 25 сообщений из 67, страница 1 из 3
14.02.2005, 02:17
    #32913566
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Заранее извиняюсь за глупый вопрос, но сам для себя я ответа не нашел.
Берем таблицу скажем

ТОВАРЫ(#id, Артикул, Название, Вес)

и разбиваем её на 4 таблицы:
ТОВАРЫ (#id)
АРТИКУЛЫ_ТОВАРОВ(#id, Артикул)
НАЗВАНИЯ_ТОВАРОВ(#id, Название)
ВЕСА_ТОВАРОВ(#id, Вес)

Все 4 таблицы удовлетворяют, вроде бы, всем мыслимым нормальным формам. Но бред же :) Или я ошибаюсь?

Получается нормализация- это всего лишь способ борьбы со "слишком широкими" таблицами?
...
Рейтинг: 0 / 0
14.02.2005, 07:27
    #32913607
глупый вопрос про Нормальные Формы
Вы совершенно зря разбили эту таблицу. Если бы в Вашей таблице помимо этих данных содержались бы, например, данные о ценах на ОДНИ И ТЕ ЖЕ товары в РАЗНЫХ городах, то названия, артикулы и прочее у вас бы повторялись. Это называется избыточное дублирование. Вот тогда таблицу необходимо нормализовать.
...
Рейтинг: 0 / 0
14.02.2005, 09:22
    #32913713
Andr2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Существует мнение, что разбивка уже нормализованной таблицы
на несколько таблиц является одним из видов денормализации :)
...
Рейтинг: 0 / 0
14.02.2005, 09:32
    #32913728
Va1entin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
На самом деле это исключение повторяющихся данных.
Оптимальной в большинстве считается так называемая
3 нормальная форма.
(существует несколько уровней нормализации).
Более детально -
лучше всего почитать книжку по теории проектирования
баз данных, это большая тема.
Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
14.02.2005, 10:18
    #32913814
mir
mir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
>> бред же
Бредом является то, что человек, не удосужившийся прочитать про нормализацию в хорошей книжке, задает такие вопросы.
Не надо заранее извиняться за глупый вопрос, надо его не задавать, если он глупый.
...
Рейтинг: 0 / 0
14.02.2005, 10:54
    #32913906
глупый вопрос про Нормальные Формы
Тогда Ваши таблицы выглядели бы так: 1.Товар:
idТовар
Артикул
Вес
2.Город
idГород
idТовар
Город
Цена
Здесь idТовар и idГород - первичные ключи. Для таблицы Город поле idТовар является внешним ключом, оно повторяется в таблице столько раз, в скольких городах соответствующий товар можно купить. По этому полю таблицы связаны и делая запросы можно получать таблицы, которые содержат поля из обеих исходных таблиц.
Для начала, думаю, достаточно. А вообще - читайте книжки.
...
Рейтинг: 0 / 0
14.02.2005, 11:11
    #32913967
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Бред говорите ?
Предложенная схема имеет право на существование. Почему ?
Товары - тут всё ясно
Артикулы - например для ведения артикулов поставщиков или даже клиентов (иногда очень даже нужно: некоторые VIP-клиенты требуют указывать их (!) артикулы)
Названия - например для мультиязычного представления
Веса - наверно имелось ввиду различные ед.измерения

Другое дело - как всем этим распорядиться и не перегнуть палку с нормализацией :)
...
Рейтинг: 0 / 0
14.02.2005, 14:49
    #32914388
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
> Получается нормализация- это всего лишь способ борьбы со "слишком широкими"
> таблицами?

Нет.

> Все 4 таблицы удовлетворяют, вроде бы, всем мыслимым нормальным формам.

Формально - да, если они связаны отношением 1:1.

> Но бред же :)

Бред - использовать такие решения.
...
Рейтинг: 0 / 0
14.02.2005, 17:07
    #32914822
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
guest_20040621> Получается нормализация- это всего лишь способ борьбы со "слишком широкими"
> таблицами?

Нет.

> Все 4 таблицы удовлетворяют, вроде бы, всем мыслимым нормальным формам.

Формально - да, если они связаны отношением 1:1.

> Но бред же :)

Бред - использовать такие решения.


Спасибо, я знаю что использование такого разбиения- бред.
Хотя в одной системе я видел, что "слишком широкие" таблицы разбивались пополам.Это снижало использование серверных ресурсов. Люди действительно мерили и убедились в этом.

Наверное я плохо выразил свою мысль, на самом деле меня интересовало 2 вопроса:
1) Может быть все таки такое разбиение противоречит какой-нибудь НФ?
2) Если ответ на 1 вопрос отрицательный, то получается, что нормализация все таки не дает ответ на вопрос, как получить неизбыточную схему данных.
...
Рейтинг: 0 / 0
14.02.2005, 17:08
    #32914826
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
LSVБред говорите ?
Предложенная схема имеет право на существование. Почему ?
Товары - тут всё ясно
Артикулы - например для ведения артикулов поставщиков или даже клиентов (иногда очень даже нужно: некоторые VIP-клиенты требуют указывать их (!) артикулы)
Названия - например для мультиязычного представления
Веса - наверно имелось ввиду различные ед.измерения

Другое дело - как всем этим распорядиться и не перегнуть палку с нормализацией :)

Я подразумевал, что таблицы связано отношением 1:1
...
Рейтинг: 0 / 0
14.02.2005, 17:15
    #32914844
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
mir>> бред же
Бредом является то, что человек, не удосужившийся прочитать про нормализацию в хорошей книжке, задает такие вопросы.
Не надо заранее извиняться за глупый вопрос, надо его не задавать, если он глупый.

Хехе, если вы не можете по существу ответить на глупый вопрос, представляю что вы отвечаете на умные. Хотя, наверное, тоже отсылаете спрашивающих куда-нибудь в ленинку. Беспроигрышная позиция ;)
...
Рейтинг: 0 / 0
14.02.2005, 17:17
    #32914855
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Andr2Существует мнение, что разбивка уже нормализованной таблицы
на несколько таблиц является одним из видов денормализации :)

Похоже на правду, хотя меня скорее интересует наличие НекогоФормальногоПравила.
...
Рейтинг: 0 / 0
14.02.2005, 18:09
    #32914990
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
> Если ответ на 1 вопрос отрицательный, то получается, что нормализация все
> таки не дает ответ на вопрос, как получить неизбыточную схему данных.

Именно это она и делает. См., например, Дейта, "Введение в системы баз данных".
...
Рейтинг: 0 / 0
14.02.2005, 19:44
    #32915167
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
guest_20040621> Если ответ на 1 вопрос отрицательный, то получается, что нормализация все
> таки не дает ответ на вопрос, как получить неизбыточную схему данных.

Именно это она и делает. См., например, Дейта, "Введение в системы баз данных".

так если эти 4 таблицы не нарушают ни одного формального правила нормализации, получается, что она этого не делает :)
...
Рейтинг: 0 / 0
15.02.2005, 09:29
    #32915583
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
нормализация все таки не дает ответ на вопрос, как получить неизбыточную схему данных.
Что такое "неизбыточная схема данных"? И что такое "избыточная схема данных"?
Вы эти термины сами придумали?
Ну раз сами придумали, то сами и решайте, поможет ли вам нормализация в борьбе с этим невиданным зверем - избыточной схемой данных .
...
Рейтинг: 0 / 0
15.02.2005, 10:52
    #32915818
voodoos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
mirБредом является то, что человек, не удосужившийся прочитать про нормализацию в хорошей книжке, задает такие вопросы.
Не надо заранее извиняться за глупый вопрос, надо его не задавать, если он глупый.

А может человек неуверен, форумы какраз для таких вещей, а иначе зачем они и нужны тогда?
...
Рейтинг: 0 / 0
15.02.2005, 12:24
    #32916123
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Лох Позорный нормализация все таки не дает ответ на вопрос, как получить неизбыточную схему данных.
Что такое "неизбыточная схема данных"? И что такое "избыточная схема данных"?
Вы эти термины сами придумали?
Ну раз сами придумали, то сами и решайте, поможет ли вам нормализация в борьбе с этим невиданным зверем - избыточной схемой данных .

Я просто пытаюсь выражаться более понятно.
Вопрос в том какие ФОРМАЛЬНЫЕ правила нормализации нарушает такая схема данных.

Пока никаких идей не прозвучало, кроме заявлений о том что это бред. Что это бред я и сам знаю :)
...
Рейтинг: 0 / 0
15.02.2005, 12:49
    #32916200
AlTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
а Вы #id для начала уберите, или альтернативный ключ укажите.
или у Вас для разных #id могут существовать записи с одинаковыми тройками(ртикул, Название, Вес)?
...
Рейтинг: 0 / 0
15.02.2005, 14:00
    #32916456
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
AlTkа Вы #id для начала уберите, или альтернативный ключ укажите.


не очень понял зачем
и где - в исходной таблице или в 4х "нормализованных" ?


AlTk
или у Вас для разных #id могут существовать записи с одинаковыми тройками(ртикул, Название, Вес)?

нет не могут
...
Рейтинг: 0 / 0
15.02.2005, 15:15
    #32916753
AlTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
"и где - в исходной таблице или в 4х "нормализованных" ?"
в исходной.
и список АК, пожалуйста, огласите.
...
Рейтинг: 0 / 0
15.02.2005, 15:33
    #32916796
bas
bas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Блин, блин,блинннннннннннннннннннннннннннннннннн.......
Как надоели вопросы и споры про НФ, помню в прошлый раз флейм развели на 5 страниц.....
Просто народ не хочет прочитать книжку про основы проектирования БД и начинают спрашивать, другие, кто не читал или читал давно (как я) не могут сказать обоснованно ответить. Я вам вот что скажу - прочитайте хотя бы Дейта. Потом будите задавать вопросы, если не поймете.

По существу:
Где-то читал (просто не охота ща книжку листать....), что если есть таблица отвечающет нужной НФ (н-р, третьей), не должна быть нормализована дальше, т.е. НЕ НАДО ЕЕ РАЗБИВАТЬ ДАЛЬШЕ, т.к. цель для данной таблицы достигнута (приведена к нужной НФ).


Так же в Дейте даны не только НФ (т.е. теоремы), но и правила применения и рекомендации (т.е. выводы).
...
Рейтинг: 0 / 0
15.02.2005, 17:59
    #32917037
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
basБлин, блин,блинннннннннннннннннннннннннннннннннн.......
Как надоели вопросы и споры про НФ, помню в прошлый раз флейм развели на 5
страниц.....Просто народ не хочет прочитать книжку про основы проектирования БД и начинают спрашивать, другие, кто не читал или читал давно (как я) не могут сказать обоснованно ответить. Я вам вот что скажу - прочитайте хотя бы Дейта. Потом будите задавать вопросы, если не поймете.
Стоп стоп стоп, уважаемый.
Не надо считать окружающих идиотами, только что слезшими с пальмы. Это по меньшей мере невежливо. Литературу про нормализацию я читал, правда не Дейта, но имхо это не важно.

Если бы все проблемы решались так просто то на все вопросы про НФ сразу бы давались простые ответы без долгого флэйма.
basПо существу:Где-то читал (просто не охота ща книжку листать....), что если есть таблица отвечающет нужной НФ (н-р, третьей), не должна быть нормализована дальше, т.е. НЕ НАДО ЕЕ РАЗБИВАТЬ ДАЛЬШЕ, т.к. цель для данной таблицы достигнута (приведена к нужной НФ).
Нет никакого формального правила доказывающего, что схема "перенормализована".
Аппелировать к тому, что изначально схема была в 3НФ некорректно. Откуда вы знаете? Может я сразу из 1НФ такую схему сваял? А может вобще, другую схему переделал?

В реальной жизни нормализация начинается отнюдь с ПлоскойТаблицыСИзыбыточнымиНеатомарнымиАтрибутами, как это любят демонстрировать нам в литературе.

Таким образом мы приходим к интересному выводу, что нормализация это процесс сугубо односторонний, работающий только в сторону "уменьшения ширины таблиц" причем начинать надо обязательно с ПлоскойТаблицыСИзыбыточнымиНеатомарнымиАтрибутами, иначе ничего не
получится.

Также получается, что просто глядя на схему данных мы, пользуясь только формальными правилами, ничего про степень её бредовости сказать не можем. Мой пример тому подтверждение. Формально схема нормализована.
...
Рейтинг: 0 / 0
15.02.2005, 18:35
    #32917105
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
> так если эти 4 таблицы не нарушают ни одного формального правила
> нормализации, получается, что она этого не делает :)

При чем здесь нарушения? Была 1НФ, с помощью Вашей декомпозиции получили 3НФ. Все.

Еще раз: читайте Дейта.
...
Рейтинг: 0 / 0
15.02.2005, 19:03
    #32917179
bibikoff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
guest_20040621> так если эти 4 таблицы не нарушают ни одного формального правила
> нормализации, получается, что она этого не делает :)
При чем здесь нарушения? Была 1НФ, с помощью Вашей декомпозиции получили 3НФ. Все.
Еще раз: читайте Дейта.Млин, мы не понимаем друг друга!
Я разве спрашиваю какая была НФ и какая стала?

Я вижу что схема данных с 4 таблицами бредовая с точки зрения здравого смысла и пытаюсь понять можно ли это доказать формально?

Сначала я думал, что "схема с 4 таблицами" нарушает НФБК, 4 или 5 НФ, потому, что эти НФ я не очень пока понимаю. Судя по ответам, ни одной из НФ она не нарушает, иначе мне бы уже давно сказали об этом поклонники Дейта.

Соответственно постоянно раздаются разные советы "типа какой же ты дурак, почитай наконец Дейта, чтобы понять какую бредовую схему ты предложил" - отвечаю - я и сам знаю что схема бредовая. Я нарочно сделал её бредовой, чтобы мой вопрос был понятнее.

Также звучат эмпирические советы о вреде перенормализации. Прекрасно, можно вынести в студию некую теорему, лемму итд итп из того же Дейта, которая объясняет как понять что схема перенормализована? Советы и рекомендации Дейта за теорему не катят. Советы и рекомендации я сам могу дать. Меня интересует ФОРМАЛЬНОЕ правило, теорема итп.
...
Рейтинг: 0 / 0
15.02.2005, 22:55
    #32917382
Юра П
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
глупый вопрос про Нормальные Формы
Сразу видно математик. :)

------------------------------------

Кибениматик - математика видит из далека (аксиома).
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / глупый вопрос про Нормальные Формы / 25 сообщений из 67, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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