powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите правильно продумать структуру таблиц 2
7 сообщений из 7, страница 1 из 1
Помогите правильно продумать структуру таблиц 2
    #38427608
Kriziun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Суть задачи: есть k форм с m групп по n опций т.е. что-то вида

группа 1: опция 1.1, опция 1.2, ... опция 1.n
...
группа m: опция m.1, опция m.2, ... опция m.n

В каждой группе можно выбрать одну опцию, при выборе одной опции в каждой группе нужно получить результат сохраненный в базе, но существуют заданные пользователем зависимости так например при выборе опции 1.1 могут быть не доступны опции 2.2-2.n и к примеру опция 3.1. Результат выбора нужно сохранить в отдельной таблице так чтобы можно было восстановить весь набор опций и результат. Так же результатом выборке из базы нужно получить удобную структуру для того, чтобы при выборе одной из опций можно было заблокировать не связанные с ней (не доступные) опции во всех остальных группах.

У кого какие идеи по реализации структуры?
...
Рейтинг: 0 / 0
Помогите правильно продумать структуру таблиц 2
    #38427954
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KriziunУ кого какие идеи по реализации структуры?количество групп/опций может меняться или жёстко задано раз и навсегда? эти опции по отдельности потом где-то ещё в работе базы участвуют или всё, что с ними надо делать - хранить и выдавать целыми блоками?
KriziunТак же результатом выборке из базы нужно получить удобную структуру для того, чтобы при выборе одной из опций можно было заблокировать не связанные с ней (не доступные) опции во всех остальных группах .выделенное - задача интерфейса, никак не БД
максимум, что тут можно требовать от БД - выдать список "разрешительно-запретительных" правил
...
Рейтинг: 0 / 0
Помогите правильно продумать структуру таблиц 2
    #38427994
Kriziun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirколичество групп/опций может меняться или жёстко задано раз и навсегда? эти опции по отдельности потом где-то ещё в работе базы участвуют или всё, что с ними надо делать - хранить и выдавать целыми блоками?

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

tanglirвыделенное - задача интерфейса, никак не БД, максимум, что тут можно требовать от БД - выдать список "разрешительно-запретительных" правил

Это понятно, вопрос в том как минимизировать и/или упростить, обрабатываемый в дальнейшем, резалтсет, что напрямую зависит от структуры.

И ещё уточнение количество опций в разных группах одной формы может быть различно.
...
Рейтинг: 0 / 0
Помогите правильно продумать структуру таблиц 2
    #38428057
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kriziun, а что тогда думать, трясти надо :)

groups:{id,name,...}
options:{id,idgroup,name,...}
users:{id,name,...}
selections:{iduser,idoption,flag,...}

Обработку (запись/выдачу наборов, ну хотя бы запись) - через хранимки, там же и проверять валидность введённых данных.



Как хранить правила - ну, допустим, так
rules:{id,name}
rules_details:{idrule,idoption,rtype,value}
(ид правила, ид опции,исходное условие/результат, значение)
Т.е., например, "при выборе опции 1.1 могут быть не доступны опции 2.2-2.n и к примеру опция 3.1" запишется как
idruleidoptionrtypevalue1'1.1'111'2.2'20............1'2.n'201'3.1'20(вместо идшников пишу имена опций , "не доступны" трактую как "отключены/занулены")

KriziunЭто понятно, вопрос в том как минимизировать и/или упростить, обрабатываемый в дальнейшем, резалтсет, что напрямую зависит от структуры.Не зависит. Нагрузка на сервер при формировании нужного резалтсета - да зависит, но его самого можно из любых данных получить. Вопрос в том, в каком виде он будет нужен вам и прочим обработчикам этих данных :)
...
Рейтинг: 0 / 0
Помогите правильно продумать структуру таблиц 2
    #38428139
Kriziun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirНе зависит. Нагрузка на сервер при формировании нужного резалтсета - да зависит[/quot]

Ну я об этом же - т.е. придется балансировать между нагрузкой на сервер/клиент.

А по структуре, да примерно о такой и думал, но тогда остается вопрос куда привязать результат выбранного набора опций - не список их id а именно произвольное число введенное пользователем именно для данного набора.
Можно сохранять список опций как строку перечисления их id - "id1,id2..." по иерархии групп и вторым полем "результат", что в дальнейшей работе не сильно удобно.

Но по всей видимости придется делать именно так, спасибо за ответ.
...
Рейтинг: 0 / 0
Помогите правильно продумать структуру таблиц 2
    #38428154
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kriziunрезультат выбранного набора опций - не список их id а именно произвольное число введенное пользователем именно для данного набора.нашли проблему...
selection:{id,iduser,произвольное_число,...}
selection_detail:{idselection,idoption,flag,...}
...
Рейтинг: 0 / 0
Помогите правильно продумать структуру таблиц 2
    #38428246
Kriziun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirKriziunрезультат выбранного набора опций - не список их id а именно произвольное число введенное пользователем именно для данного набора.нашли проблему...
selection:{id,iduser,произвольное_число,...}
selection_detail:{idselection,idoption,flag,...}

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

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


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