powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите раскидать задачу
9 сообщений из 9, страница 1 из 1
Помогите раскидать задачу
    #40090897
koller18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Предупреждаю, что крайне слабо разбираюсь в sql. Делаю модуль с таблицами (в основном прайс-листы) на PHP, mySQL и JS. Могу изменять структуру таблиц и всего как угодно, но не могу понять как правильно.

Есть TABLES , которая хранит номера строк через запятую. Есть таблица со строками TABLES_STRINGS , которая хранит ID строк и номера блоков, из которых она состоит. Одна строка может быть в разных таблицах. В таблице TABLES_BLOCKS блоки хранят свои ID, NAME и какие-то свойства, но без содержимого. У каждого блока может быть неограниченное количество вариаций содержимого - они хранятся в таблице TABLES_BLOCKS_VAR со своими ID и т.п. Есть таблица TABLES_STRINGS_BLOCKS_VAR , которая хранит информацию о том, в какой таблице какая вариация блока в строке ( TABLE_ID , STRING_ID , BLOCK_ID , VAR_ID ).

Всё это сделано для сколь угодно таблиц(прайсов) с разным составом строк, но где-то может отличаться тайтл или цена или другой блок. Зато, если поменять цену в одном блоке, то цена поменяется во всех таблицах, где она есть. Какая-то синхронизация. Для sql я пользуюсь библиотекой ORM RedbeanPHP, в ней можно и простые запросы делать.

Вопросы:

1) Если писать вложенные запросы или JOIN-ами делать, будет ли какой-то профит в скорости? Стоит ли оно того?
2) Проще не париться и сделать несколькими запросами? можно упростить и хранить JSON в самой первой таблице с строками, блоками и их вариантами. Далее разобрать всё в PHP, но это уже будет не один запрос к базе, а как минимум 2-3. Стоит ли?
3) Многие ко многим, один ко многим - это моя тема, как то может помочь? Никак не могу понять(

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

P.S. Есть таблица excel с демо-версией таблиц и запросом с JOIN-ами в прикреплённом и по ссылке на Я.диске: https://disk.yandex.ru/i/oR98-Pt62ZZeIw
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40090900
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koller18
Есть TABLES , которая хранит номера строк через запятую.

Уже неправильно.
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40090902
koller18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, а как правильно? Мне нужно, чтобы был понятен порядок какая строка за какой идёт. Также они могут удальтся, перемещаться, заменяться
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40090928
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы уж не поленитесь, почитайте, что такое нормальные формы. Описанные Вами CSV с ними и близко не стояли.
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40091007
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koller18,

koller18Не хотелось бы месяцы тратить на изучение.

А придется ))
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40091015
koller18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikkiMouse, к сожалению, я уже понял, что никто не поможет (на этом форуме). Хотя эта задача на 30 секунд для профессионала. Раскидать задачу, указать что делать, хотя бы направление указать. Но это же не для Российского форума, да?)) Очень жаль видеть такие комменты, как у Akina, абсолютно бесполезные. Сам веду также форум, помогаю чем могу, люди удивляются, что с ними на от*бись общались на других форумах, а меня удивляет, что задачи простые, с меня не убудет. Если не собираешься отвечать, то зачем вообще писать что-то.
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40091022
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koller18,

не надо бросаться словами . Akina дал очень правильный ответ.
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40091043
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
koller18
я уже понял, что никто не поможет (на этом форуме). Хотя эта задача на 30 секунд для профессионала.
Судя по Вашему "пониманию", Вы под "помочь" однозначно понимаете "сделайте за меня". Даже не надейтесь - подобный подход у любого специалиста вызывает сильнейшее и инстинктивное отторжение.

koller18
Очень жаль видеть такие комменты, как у Akina, абсолютно бесполезные.
Если Вы не поняли, что Вам сказали - то обычно это не следствие бесполезности ответа (специалисты редко дают бесполезные ответы), это следствие Вашего глубокого непонимания. Лучше переспросите. Хотя в данном конкретном случае - получите однозначный совет погуглить и прочитать хоть что-нибудь по озвученному термину. Ибо это - САМЫЕ основы, без которых за проектирование БД браться можно даже не пробовать, ибо на выходе получится однозначно поле с граблями.

koller18
Если не собираешься отвечать, то зачем вообще писать что-то.
А если не собираешься просто попытаться понять, что именно и почему тебе ответили, и тем более не собираешься советам следовать - зачем вообще спрашивать?
...
Рейтинг: 0 / 0
Помогите раскидать задачу
    #40091129
paver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
koller18
Не хотелось бы месяцы тратить на изучение.

Как научиться проектировать реляционные базы данных за полчаса

))
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите раскидать задачу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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