powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нормализация. В каких ситуациях можно ее не делать?
25 сообщений из 43, страница 1 из 2
Нормализация. В каких ситуациях можно ее не делать?
    #32377191
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня БД частного брачного агенства.
Все данные хранятся в одной таблице "Анкеты". Там много повторяющейся информации. Например для каждого клиента указывается национальность. название города, знак зодиака . образование. Ну все это в текстовом виде.
Как поступить с точки зрения теории нормализации я знаю. Но думаю стоит ли?
Скажем база будет работать на мощном компе с большим количеством оперативных мозгов. Место на винте , также предостаточно. Тормозов быть не должно. Индексов наделал. Количество записей больше 30000 тысяч не будет .

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

Как думаете все таки стоит менять структуру таблицы "Анкета" , чтобы получить n-ное число нормализованных таблиц? Или с учетом , что база будет работать на мощном компе не стоит и оставить все в одной таблице?
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377206
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Одна из возможных проблем - если понадобится изменить одно из этих названий. Например, все выбирали из комбобокса и заносили в базу слово агеНство, а потом кто-то случайно узнал, что агенТ пишется через Т.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377220
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оставить все в одной таблице
Ну и оставь
Будет у тебя как в одной ментовской базе - "азербайджанец", "азырбайджанец", "азербайджанка" и "вампирчик"
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377227
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС
Думаете все таки надо нормализовать структуру?

Ну да например при указании национальности ошиблись и набрали "грузын" , а не "грузин". Но можно же в отдельной таблице хранить название национальностей и юзеру с помощью комбобокса можно выбирать только существующие. Тогда ошибки не будет.
Правда может появиться какой то "кекс" с национальностью ,которая отсутствует в отдельной таблице. Тогда эту национальность сначала нужно добавлять туда. А потом из комбобокса.
Или сразу "врубить" все возможные национальности.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377228
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то меня на модераторбол пробило.
не перенести ли в "Проектирование БД"?
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377236
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП

Не надо модерить.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377240
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Не надо модерить

И зря. Там тебе ответят люди, больше занимающиеся именно этим. Правда, Репликант, наверное, ссылками закидает, но это ничего.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377253
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377268
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
авторНо можно же в отдельной таблице хранить название национальностей и юзеру с помощью комбобокса можно выбирать только существующие. Тогда ошибки не будет.
А это уже будет нормализация.

авторПравда может появиться какой то "кекс" с национальностью ,которая отсутствует в отдельной таблице. Тогда эту национальность сначала нужно добавлять туда. А потом из комбобокса.
Либо оставить поле для свободного текста на случай, когда в комбобоксе нет.

авторИли сразу "врубить" все возможные национальности.
Это невозможно. Их в одной Африке несколько сотен.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377277
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Их в одной Африке несколько сотен

А в нашей классификации от Госкомстата их вполне конечное кол-во. Все неизвестные обозначаются "прочие".
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377300
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Хорошо, когда все клиенты из Совка. А если какие-нибудь иностранцы придут?
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377316
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этой классификации и "иностранных" национальностей порядком. И потом, как решаются в загсах и паспортных столах спорные вопросы - можно спросить у Нуфа. :) Потемкин и всё.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377353
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377355
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Там нет даже эфиопов.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377363
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС
>А это уже будет нормализация.

Если создам уникальный ключ в главной таблице и внешний в подчиненной. А если это не сделать какая же это нормализация!

Поясню что я имел ввиду.

Нормализация это когда у меня будет следующее:

Создам таблицу где буду хранить названия национальностей и ключевыи полем будет скажем числовое "код национальности".
В подчиненной таблице уже не буду создавать поле где будет храниться название национальности, а создам числовое поле внешнего ключа( код национальности) . Останется связать таблицы 1:М.
При выборе национальности в таблицу анкет попадет код национальности. Это нормализация.

Но.
Я имел ввиду. Что будут две таблицы. Национальности (в них только название национальностей) и Анкета (там тоже будет текстовое поле национальность).
Юзер сможет занести в таблицу Анкета только значение из таблицы Национальности. Никаких ключей , связей.

Один хрен.Если отсутствует какая то национальность, то нужно ее заносить в отдельную таблицу. А с нормализацией нужно еще и код национальности вносить.

В любом случае получается пополам. Можно и без нормализации обойтись мне кажется. К примеру запросы на обновление здесь не нужны.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377367
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
В частном случае ключевое поле справочника может быть текстовым. И может совпадать с самим полем, показываемым на экране. А если выбор значений ограничен содержимым справочника, то это уже от нормализации не отличается.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377386
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ВС

Ну да создать отдельную таблицу с одним ключевым полем "название национальности" и в подчиненной создать тоже текстовое поле как внешний ключ. Да , таблицы связаны. Вроде бы нормализация. Но все равно дубляж !
Числовое поле естественно меньше "сожрет " места. Но так уж это важно, если база по сути не большая и на винте места полно?

Полностью избежать дублирования всё таки нельзя. Все равно в подчиненной будет дубляж , уж если не названий национальностей,то их кодов. Но это эффективней, чем хранить название национальностей всюду.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377388
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Саныч
почти не отличается
осталось только добавить связь по ключевому полю и обеспечение ссылочной целостности сделать.
а следующим шагом - избавится от текстового ключа, заменив его числовым. и придти к тому, от чего так долго убежать пытались.

все таки надо это перенести.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377399
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, не буду переносить. засмеют :)

2 Eternal
Ты из за чего весь этот гемор затеял? Связь лениво построить? Или что?
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377419
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все, я определился.
Если хочется сделать абсолютно все в одной таблице, максимум справочники для выбора, причем без ссылочной целостности, никаких связей и ключей, и количество записей не превышает 30000 - ЭКСЕЛЬ ТЕБЕ В РУКИ
Перенесу в VB :))
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377425
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 ЛП
Да я уже запросов / форм / процедур и функций кучу на VBA/DAO наклепал ... Вроде все чудненько. Но проверил работу базы с 80 тыс. записей и сел в лужу.
База больше минуты запускалась (море же индексов) вот я и подумал , что надо может нормализовать большую таблицу. Не смейся , скажешь "раньше надо было думать", а я прикинул и решил обойтись без нормализации.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377463
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как связаны"море индексов" и "база больше минуты запускалась"???

а я прикинул и решил обойтись без нормализации.
До того, как сел в лужу, или после?
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377505
Фотография # Darth Vader #
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да напрямую , попробуй таблицу скажем с 20 полями без индексов забить 50000 записями. А потом добавь индексы почти к любому полю. И посмотри на закономерные "тормоза".

В лужу я еще пока не совсем сел Если только стою в ней одной ногой. Хотя как сказать еще.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377543
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
повторяю. как связаны наличие индесков и скорость открытия базы???
есть индекс - база открывается полчаса, нет индекса - полсекунды? Не верю.

А потом добавь индексы почти к любому полю
Что значи "почти к любому"? Ко всем 20 полям что-ли? Тогда уж добавь и составные индексы. Сначала все возможные из двух полей, потом все возможные из трех, и так до индексов из всех 20 полей в разном порядке.
Лечиться... Однозначно.

И посмотри на закономерные "тормоза".
Тормоза в чем? В тракторе?


бред полный.
у меня почему-то таблицы с 300000 записей по 30 полей каждая с кучей индексов, а тут оказывается должны быть закономерные тормоза.
...
Рейтинг: 0 / 0
Нормализация. В каких ситуациях можно ее не делать?
    #32377823
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо никуда переносить. Я сам пришел

Нормализация вовсе не предназначена для ускорения доступа к данным. Нормализация предназначена для поддержания целостности и непротиворечивости данных.

Хорошая база всегда нормализована. Вопрос о частичной денормализации всегда решается после долгих и мучительных раздумий.
...
Рейтинг: 0 / 0
25 сообщений из 43, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Нормализация. В каких ситуациях можно ее не делать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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