powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / какие преимущества у множества таблиц?
16 сообщений из 16, страница 1 из 1
какие преимущества у множества таблиц?
    #36652600
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть таблица users, там хранятся ид, пароли, емайлы и прочие параметры
при авторизации в эту же таблицу заносится время входа, страница посещаемая пользователем, ип адрес, последний визит и т.д., по сути это куча запросов типа UPDATE

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

Но весьма "расширит кругозор" обработки данных.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36652729
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
по сути все прекрасно хранится в одной таблице, но из всех данных часть статические и не меняются, а другая часть меняется с каждым запросом пользователя к серверу, вот я и подумал может есть хитрое приспособление для оптимизации данного случая :)
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36652870
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть такое понятие -- нормализация.

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

примечание :
таблица называется узкой если в ней мало столбцов.
если много столбцев то таблица широкая.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36653080
Фотография U-gene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мда

по поводу предыдущего опуса о нормализации
первые полтора предложение еще куда не шло, но потом вообще-то пурга
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36658816
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nosov Есть такое понятие -- нормализация.

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

примечание :
таблица называется узкой если в ней мало столбцов.
если много столбцев то таблица широкая.

нормализуй плиз таблицу
useridnameemailpasslast_time_visit1adminadmin@mail.ruqwerty123456798
меняется только поле last_time_visit при каждом обращении пользователя
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36658921
Фотография StalkerS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опятья
нормализуй плиз таблицу
useridnameemailpasslast_time_visit1adminadmin@mail.ruqwerty123456798
меняется только поле last_time_visit при каждом обращении пользователя
а теперь слегка поменяем требования к системе - требуется вести историю логинов ;)
В общем случае подобного рода логирование не должно находиться в таблицах с сущностями - оно должно выноситься в отдельное место и там и храниться. Иначе таблицы быстро превращаются в помойку.
И это еще без учета влияния на производительность, т.к. запись БД затягивается в память целиком (разве что индекс создан под интересующий запрос) соответственно увеличивая количество логических чтений.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36659151
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторменяется только поле last_time_visit при каждом обращении пользователятолько 2 поля должно быть в таблице
- user_id
- last_time_visit
остальные данные практически не меняются поэтому их выносим в справочник (имхо)
примечание : справочник это тоже таблица.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36661838
опятья
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
историю логинов хранить не требуется, не надо менять изначальные задачи плиз

nosov , тоесть в дальнейшем мы заменяем один просто запрос к таблице SELECT * FROM user WHERE id=1 на запрос к нескольким таблицам SELECT * FROM user_name, user_email, user_pass, user_last_time_visit WHERE id=1 и получаем какое то преимущество в производительности?
индекс в таблице один уникальный - userid
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36662131
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 автор

один из шагов нормализации -- разделение широких таблиц на несколько связанных узких таблиц.

надо так создать таблицы чтобы данные нигде не повторялись
повторятся могут и должны только ай-ди.
этим мы экономим место на жестком диске
связывание таблиц позволяет вытянуть нужные данные из нескольких таблиц одним селектом.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36662416
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StalkerSа теперь слегка поменяем требования к системе - требуется вести историю логинов ;)Ведите. :)
StalkerSВ общем случае подобного рода логирование не должно находиться в таблицах с сущностями - оно должно выноситься в отдельное место и там и храниться. Иначе таблицы быстро превращаются в помойку.[quot StalkerS]Вынести историю в отдельную таблицу - это конечно правильно. Но в тоже время затраты на могут быть и выше.
[quot StalkerS]И это еще без учета влияния на производительность, т.к. запись БД затягивается в память целиком (разве что индекс создан под интересующий запрос) соответственно увеличивая количество логических чтений.На этот случай анализ должен быть проведен акк часто данные могут меняться.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36662417
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, quot'ы местами перепутал капитально в предыдущем посте. Сорри.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36662437
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
опятьяисторию логинов хранить не требуется, не надо менять изначальные задачи плиз

nosov , тоесть в дальнейшем мы заменяем один просто запрос к таблице SELECT * FROM user WHERE id=1 на запрос к нескольким таблицам SELECT * FROM user_name, user_email, user_pass, user_last_time_visit WHERE id=1 и получаем какое то преимущество в производительности?
индекс в таблице один уникальный - useridНу так и флаг вам в руки:
1) Создайте таблицу под пользователей, например, UserList.
2) В исходной таблице останутся столбцы (userid, last_time_visit), уже говорили тут про это выше. Все остальные столбцы вынести в UserList + туда же userid, по которому и будешь джойнить.

ЗЫ. А вообще не стОит учет пользователей вести "самопально". Сервер для этих целей лучше приспособлен.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36663018
nosov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Senya_LА вообще не стОит учет пользователей вести "самопально". Сервер для этих целей лучше приспособлен.уважаемый Сеня -- мы тут пыхтим велосипед изобретаем а вы молчали. Помогите чайникам укажите плз как эта фича в BOL называется.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36663335
Фотография vadiminfo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nosov2 автор

один из шагов нормализации -- разделение широких таблиц на несколько связанных узких таблиц.

надо так создать таблицы чтобы данные нигде не повторялись
повторятся могут и должны только ай-ди.
этим мы экономим место на жестком диске
связывание таблиц позволяет вытянуть нужные данные из нескольких таблиц одним селектом.
Скорей всего, приведение таблиц к нормальным формам осуществляется на основе выявления зависимомстей между атрибутами посредством декмпозиции ("разделения") таблиц не зависимо от "ширины" или "узости". Экономия места на диске, скорей всего, является последней целью устранения избыточности (физическая проблема). На первом все же, возможно, ожидаются логические проблемы контроля избыточности. Например, нашли ошибку и в случае избыточности, не достаточно исправитть ее в одном месте. Нужно просмативать все дубли.
Кроме того могут быть и др аномалии из-за того что БД не находится, например в 3-ей нормальной форме.
...
Рейтинг: 0 / 0
какие преимущества у множества таблиц?
    #36665234
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vadiminfoприведение таблиц к нормальным формам осуществляется на основе выявления зависимомстей между атрибутами посредством декмпозиции ("разделения") таблиц не зависимо от "ширины" или "узости". Экономия места на диске, скорей всего, является последней целью устранения избыточности (физическая проблема). На первом все же, возможно, ожидаются логические проблемы контроля избыточности. Например, нашли ошибку и в случае избыточности, не достаточно исправитть ее в одном месте. Нужно просмативать все дубли.
Кроме того могут быть и др аномалии из-за того что БД не находится, например в 3-ей нормальной форме.+1

Аномалии могут быть и тогда, когда отношение также не находится во 2НФ... :-)

Основная цель нормализации - это устранение избыточности данных.
Наличие избыточности ведет к аномалиям в операциях запоминания (INSERT, UPDATE, DELETE).

К.Дейт (1980)Реляционная модель базы данных (РМБД) - это совокупность изменяемых во времени нормализованных отношений различных степеней.То есть РМБД использует только нормализованные отношения - то есть находящиеся, как минимум, в 1НФ (в первой нормальной форме).

Ширина таблиц (отношений) тут совершенно не причем - всё определяется зависимостями реляционной модели данных.

P.S. А реляционная модель данных - это лишь еще одна попытка описания реального мира... :-)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / какие преимущества у множества таблиц?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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