powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нормализация базы данных
7 сообщений из 7, страница 1 из 1
Нормализация базы данных
    #40108225
BBS_BOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Опыт работы с базами данных не большой и возможно не до конца понимаю некоторые вещи.
Вещь, которую я вынес изучаю статьи и смотря видео: выноси повторяющиеся значения из столбца в отдельную таблицу, дабы сэкономить память.
Имеется форма на сайте, в которой имеются выпадающие поля. Значения выпадающих полей хранятся в таблице, а в основной таблице хранятся данные из формы.
Данные из формы отображаются в таблице на сайте (так же с ними происходят другие махинации). Меня пугает размер запроса, где половина это LEFT JOIN.
Является ли хорошим данное решение или есть более оптимальные решения?
...
Рейтинг: 0 / 0
Нормализация базы данных
    #40108229
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BBS_BOSS
выноси повторяющиеся значения из столбца в отдельную таблицу, дабы сэкономить память.
Дело не только в памяти. Я бы даже сказал вообще не в памяти. Надо понять простую вещь: нормализация делается для устранения потенциальных противоречий в данных которые, соответственно, могут приводить к нарушению логики. Именно это конечная цель нормализации, а уменьшение памяти и прочие ништяки - это побочный эффект, закономерно вытекающий из этого бонус.
BBS_BOSS
Меня пугает размер запроса, где половина это LEFT JOIN.
Является ли хорошим данное решение или есть более оптимальные решения?
Непонятные сомнения, а что страшного в JOIN'ах? Их сотни и тысячи в одном запросе?
...
Рейтинг: 0 / 0
Нормализация базы данных
    #40108232
BBS_BOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99, хм... интерестно.
Ну не то чтобы тысячи, 29 штук...
...
Рейтинг: 0 / 0
Нормализация базы данных
    #40108233
BBS_BOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл такую вещь как view (представления). Как я понял это как бы оболочка.
В данном видео поверхностно рассказывается представления
https://www.youtube.com/watch?v=OP6zvaRdkuw]
...
Рейтинг: 0 / 0
Нормализация базы данных
    #40108267
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BBS_BOSS
Ну не то чтобы тысячи, 29 штук...

Значит задача для запроса затрагивает слишком много сущностей и надо либо её отрихтовать, либо сущности передизайнить. Такие монстрозапросы обычно растут у адептов религии "выбрать всё одним запросом", а это экстремизм.
...
Рейтинг: 0 / 0
Нормализация базы данных
    #40108270
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BBS_BOSS
Gluck99, хм... интерестно.
Ну не то чтобы тысячи, 29 штук...
Как писал Антон Палыч Чехов в своём бессмертном рассказе "Каштанка", "кодер супротив программиста - это как плотник супротив столяра". Запихать в запрос 29 джойнов - это решение кодера, который имеет слабое представление об архитектуре (и в целом, и в частности). Решение программиста - инженерное, оно как правило более сбалансировано со всех точек зрения: производительности, поддержки, логики и т.д.
Т.е. вопрос, вынесенный в корневое сообщение, имеет косвенное отношение к вопросу нормализации, а скорее относится к проблеме изначально кривой архитектуры, которую приходится выпрямлять путём каких-то монструозных решений. И хотя подобная проблема - общее место в IT, я бы на месте автора поразмыслил над ней чуть больше обычного, если он хочет развиваться в программиста, а не кодера.
...
Рейтинг: 0 / 0
Нормализация базы данных
    #40108273
BBS_BOSS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99, спасибо за умные мысли
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Нормализация базы данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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