Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Критерий правильности проектирования нормализованой реляционной БД / 21 сообщений из 21, страница 1 из 1
02.08.2005, 14:28
    #33196650
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Я про нормальные формы слышал
Но мне кажется, что должна быть универсальная формулировка, а не пошаговое определение соответствия 1..5 форме.

Старшно я сейчас далек от математики и не могу подтвердить свои слова теоретическими выкладками.

Однако, на практике утверждение: Любая комбинация полей в одной строке результата запроса должна получаться одним единственым способом меня ни разу не подводило.
...
Рейтинг: 0 / 0
02.08.2005, 14:39
    #33196705
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Совсем упустил из виду то, что для меня кажется очевидным

Любая комбинация полей, имеющих смысл для потребителя, в одной строке результата запроса должна получаться одним единственым способом

То есть суррогатные ключевые поля выводятся за рамки.
...
Рейтинг: 0 / 0
02.08.2005, 15:04
    #33196847
Jimmy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Cat2Совсем упустил из виду то, что для меня кажется очевидным

Любая комбинация полей, имеющих смысл для потребителя, в одной строке результата запроса должна получаться одним единственым способом

То есть суррогатные ключевые поля выводятся за рамки.

Насчет суррогатных ключей "за рамки".
Действительно, за рамки, если генерить их не взирая на наличие/отсутствие естественного PK или AK.
Если же исходить из принципа "Суррогатный ключ подменяет существующий естественный, т.е. обязательно наличие PK или AK", то он останется как раз "в рамках".
В остальном - согласен, если варианты операций (например OUTER JOIN-> UNION) считать одним и тем же способом.
...
Рейтинг: 0 / 0
02.08.2005, 15:35
    #33196996
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
5 НФ поглощает 2, 3НФ (НФБК) и 4НФ. Поэтому определение 5НФ - универсальная формулировка, не ссылающаяся на них. На самом деле шагов до 5НФ два:
1НФ - таблица плоская,
5НФ - не стану переписывать, см. Дейта например.

Что означает "получаться одним единственым способом" ?
...
Рейтинг: 0 / 0
02.08.2005, 15:54
    #33197082
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
ModelRЧто означает "получаться одним единственым способом" ?Кажется у Дейта есть формулировка - "один факт в одном месте" :)
...
Рейтинг: 0 / 0
02.08.2005, 16:07
    #33197143
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Jimmy. Насчет АК - запутаная история. Их быть вроде не должно. Так как они предполагают однозначный доступ к данным ДРУГИМ способом. Вот индексы - могут быть.
Однако в своей формулировке я делаю упор на извлечение одной строки. outer JOIN и тем более UNION в общем случае направлены на получение набора строк. А в частном - получение одной строки вроде попадают под мое определение.

И про UNION. В теории ничего не говорится о запрете иметь однотипные таблицы. Вроде они все попадают под правила Кодда. По крайней мере их наличие в базе не противоречит правилу, что любые данные должны быть получены по имени таблицы, имени столбца и PK. Однако вряд ли кто-то, кроме любителей Fox, скажет, что это правильно и полезно. Название таблицы у них неявно является частью PK. Что противоречит принципу хранения всех данных в едином каталоге,я читаю это как "единообразно"
Другое дело UNION нескольких Select. Нормальный механизм.
...
Рейтинг: 0 / 0
02.08.2005, 16:08
    #33197149
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
ModelR . Не все базы имеют необходимость в нормализацции выше третьей формы.
...
Рейтинг: 0 / 0
03.08.2005, 10:22
    #33198305
ModelR
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
ChA ModelRЧто означает "получаться одним единственым способом" ?Кажется у Дейта есть формулировка - "один факт в одном месте" :)Но добраться до него в БД можно многими путями.

авторНасчет АК - запутаная история. Их быть вроде не должно. Так как они предполагают однозначный доступ к данным ДРУГИМ способом. Вот индексы - могут быть.Т.е.предлагается запретить альтернативные ключи? Но, во-первых, если они присущи данной таблице, и данные в ней корректные, то запрос по этим полям все равно вернет одну запись объявлены они или нет. Во-вторых, наличие двух и более ключей никак не противоречит нормализации - не создает аномалий обновления.
...
Рейтинг: 0 / 0
03.08.2005, 16:54
    #33199865
Slider_spb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Процесс нормализации нужен для того, чтобы уяснить для себя, что это такое – нормализованная база. Опытный разработчик практически никогда не проходит все шаги, а сразу "инстинктивно" создает базу в нормальной форме.
...
Рейтинг: 0 / 0
03.08.2005, 18:23
    #33200205
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
> Процесс нормализации нужен для того, чтобы уяснить для себя, что это такое –
> нормализованная база. Опытный разработчик практически никогда не проходит
> все шаги, а сразу "инстинктивно" создает базу в нормальной форме.

Определенно, сегодня везет на неологизмы. Вот Вы, уважаемый, считаете себя опытным разработчиком? Изложите, пожалуйста, Ваш "инстинктивно" нормализованный вариант структуры данных для описания... хм.... ну, чтобы было совсем просто, - internet-based ресурсов. А потом мы обсудим предложенный Вами вариант.
...
Рейтинг: 0 / 0
03.08.2005, 22:19
    #33200486
vadiminfo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
ModelR
5 НФ поглощает 2, 3НФ (НФБК) и 4НФ. Поэтому определение 5НФ - универсальная формулировка, не ссылающаяся на них. На самом деле шагов до 5НФ два:
1НФ - таблица плоская,
5НФ -

НФБК - имеет проблемы с навязыванием F-зависимостей схеме с помощью выделения ключей, в отличии от 3НФ. Поэтому проектировщик стоит перед выбором ограничения целостности декларативным способом или подавление избытка с помощью НФБК.

Проверка свойств НФБК для заданной схемы является NP - полной задачей.

В литре иногда упоминается, что и в 5НФ могут быть скрытые аномалии. И приводится упоминание Доменно-ключевой нормальной формы ДКНФ (Фагин, 1981) R.Fagin "A Normal Form for Relation Databases That Is Based On Domain and Keys" ACM Transactions on Database System, сентябрь 1981, с.387-415
Это форма лишена всех аномалий,
но не известен ни один алгоритм приводящий к ДКНФ.

На практике, скорее всего, во многих задачах схема в 3НФ, скорее всего удовлетворяет и остальным формам. Зато если схема не находится в 3НФ - это достаточно заметно.

Так или иначе, часто от СУБД рекомендуется тока нормализация до 3НФ. И это вроде ответ на какой-то экзаменационный вопрос от MS. По моему по Аксцессу, но возможно и по Скулю.

А ведь есть еще денормализации.

Скорее всего критериев самой оптимальной схемы не найдено. И все зависит от искусства проектировщика. И в общем случае он может без знания теории и нормальных форм налабать схему, такую же по оптимальности, как другой с помощью теории.
...
Рейтинг: 0 / 0
03.08.2005, 23:09
    #33200527
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Cat2Jimmy. Насчет АК - запутаная история. Их быть вроде не должно. Так как они предполагают однозначный доступ к данным ДРУГИМ способом. Вот индексы - могут быть.
Ну, если есть суррогатные ключи, то альтернативные должны быть по определению. Пусть даже таковые будут состоять из комбинации всех остальных атрибутов.
Cat2В теории ничего не говорится о запрете иметь однотипные таблицы. Вроде они все попадают под правила Кодда. По крайней мере их наличие в базе не противоречит правилу, что любые данные должны быть получены по имени таблицы, имени столбца и PK. Однако вряд ли кто-то, кроме любителей Fox, скажет, что это правильно и полезно. Название таблицы у них неявно является частью PK. Что противоречит принципу хранения всех данных в едином каталоге,я читаю это как "единообразно"
Другое дело UNION нескольких Select. Нормальный механизм.
Fox здесь ни при чем, собственно. ;-) И уж если у кого-то из фоксовиков название таблицы неявно является частью PK, то этот выпендрежник рискует огрести проблем и в фоксе, и очень неожиданно, кстати. Но что Фокс такие вольности позволяет, это конечно.
Фокс, кстати, реляционная БД примерно настолько же, насколько и Oracle. Захочет разработчик - будет его система реляционной, не хочет - будет возиться с таблицами совсем без PK. Это я к тому, что обе не удовлетворяют всем 12 правилам РБД, а не ради сравнения, упаси Господи ;-)
...
Рейтинг: 0 / 0
03.08.2005, 23:24
    #33200538
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
> И в общем случае он может без знания теории и нормальных форм налабать
> схему, такую же по оптимальности, как другой с помощью теории.

О, еще один боец. Присоединяйтесь. Задача та же: структура данных для описания internet-based ресурсов. Критерий правильности выполнения: в рамках приведенной структуры предложу описать десяток простеньких ресурсов. Вопросы по задаче есть?
...
Рейтинг: 0 / 0
03.08.2005, 23:31
    #33200544
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
[quot guest_20040621О, еще один боец. Присоединяйтесь. Задача та же: структура данных для описания internet-based ресурсов. Критерий правильности выполнения: в рамках приведенной структуры предложу описать десяток простеньких ресурсов. Вопросы по задаче есть?[/quot]
Нет уж, надо сформулировать задачу яснее: где полный набор атрибутов, желаемых для имения?
...
Рейтинг: 0 / 0
04.08.2005, 00:22
    #33200566
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
> Нет уж, надо сформулировать задачу яснее: где полный набор атрибутов, желаемых для имения?

Описывайте те, которые считаете нужными. Или еще проще: разверните перечень атрибутов по вертикали, - так устроит?

Оглянитесь. Вокруг - Сеть. Все, что я собираюсь описывать, Вы имеете возможность рассмотреть точно так же, как и я. Любой элемент Сети. ;)

Hint № 1: Вы задали несущественный для реализации вопрос.

Альтернативный подход: возьмите любой похожий сервис (такой, который описывает элементы Сети) и проанализируйте его полноту, сильные и слабые стороны.
...
Рейтинг: 0 / 0
04.08.2005, 00:37
    #33200572
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
guest_20040621Hint № 1: Вы задали несущественный для реализации вопрос.;-)))))))))))))
Лично мне будет достаточно списка ресурсов в двух колонках в Excel-е (адрес и описание). Вот, пожалте, система об одной табличке: адрес - PK. Достаточно ли нормализована?
...
Рейтинг: 0 / 0
04.08.2005, 00:53
    #33200580
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
> Лично мне будет достаточно списка ресурсов в двух колонках в Excel-е (адрес и описание).
> Вот, пожалте, система об одной табличке: адрес - PK. Достаточно ли нормализована?

Главное, чтобы Вас этот вариант устраивал. Устраивает? Вот и чудненько. Пожалуйста, опишите в Вашей структуре данных vpn.

Упс. Минус боец.

Еще желающие поделиться инстинктивно созданными структурами данных?
...
Рейтинг: 0 / 0
04.08.2005, 17:43
    #33202428
Slider_spb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Вот и я увидел такую же кривую ухмылку на собеседовании при ответе о нормализации. Тогда я попросил набор сущностей, атрибутов и связей между сущностями. После того как я нарисовал все это сразу в нормализовано виде, ухмылка исчезла… Но учтите, нормализовывать вашу базу на халяву я вам не буду :)
...
Рейтинг: 0 / 0
05.08.2005, 09:03
    #33203090
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
> Но учтите, нормализовывать вашу базу на халяву я вам не буду

Чего вдруг Вы решили, что кто-то нуждается в Ваших услугах? Вас вежливо просят не писать х#%ни, вот и все.
...
Рейтинг: 0 / 0
23.01.2006, 15:28
    #33497623
Критерий правильности проектирования нормализованой реляционной БД
guest_20040621> Но учтите, нормализовывать вашу базу на халяву я вам не буду

Чего вдруг Вы решили, что кто-то нуждается в Ваших услугах? Вас вежливо просят не писать х#%ни, вот и все.

ох не смог удержаться и не ответить заносчивому товарищу :) так вот, утверждение о том, что "опытный проектировщик создаёт сразу нормализованную базу" абсолютно верно. это не значит что она сразу будет ИДЕАЛЬНО нормализована. есс-но, будет и дальнейшая работа, и возможно денормализация. вы видно не совсем понимаете, что такое "нормализация", и не знаете, что есть ДКНФ :) стоит почитать литературку.
...
Рейтинг: 0 / 0
23.01.2006, 15:48
    #33497698
gardenman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Критерий правильности проектирования нормализованой реляционной БД
Что-то вспоминается по лит-ре в школе когда-то проходили, на тему Герцена и декабристов, что дескать страшно далеки они от народа... От точно то же можно сказать и о всей теории нормалицации - страшно далека она от практики... Знать может ее и полезно (правда ни разу в жизни мне она не помогла кроме собеседований) но толку от этого о-о-о-чень мало...
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Критерий правильности проектирования нормализованой реляционной БД / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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