powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу совета по организации данных и их обработке
3 сообщений из 3, страница 1 из 1
Прошу совета по организации данных и их обработке
    #34562994
Fagrant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос непростой и в большей части - теоретический. Передо мной стоит прикладная задача, хотелось бы стратегически правильно ее решить, как данные разместить и как обрабатывать. Обращаюсь за советом :) Кода мне не нужно, сам напишу. Итак, дано:

Есть набор объектов, имеющих несколько критериев. По критериям регистрируются некие события, каждое событие имеет оценку.
Задача - в любой момент иметь возможность получить сводную оценку как по каждому критерию, так и по объекту в целом.
И по всем объектам сразу.
И за произвольный промежуток времени.
И сразу за несколько перекрывающихся промежутков, типа "Объект, ЗаГод, ЗаКвартал, ЗаМесяц, ЗаНеделю", "ЗаПрошлуюНеделю".

Казалось бы, классическая задача, ничего особенного. Но есть изюминка. Дело в том, что оценка в целом по критерию, выставляется не по каким-то арифметическим законам, а по некоему логическому алгоритму, типа: "если есть задачи с оценками Х, значит общая оценка не может быть больше K, далее смотрим долю оценок Y, если она меньше Z, то далее считаем среднее арифметическое, если больше - общая оценка F. Если же задач с оценками X не было..." Сам по себе алгоритм не столь важен. Если есть шанс его нормализовать (привести к решению простым SQL), обсудим это подробнее :) Оценки между критериями

Можно хранить любую вторичную информацию.

Хочется, разумеется всего и сразу. Цели - получать оценки наиболее простым и эффективным способом, желательно меньшим числом объектов сервера. Ну и с минимальным участием клиента, разумеется.

Насколько я предполагаю, реализовать алгоритм расчета оценки по критерию проще функцией. Но это вроде и все мои продвижки :) Если передавать в функцию параметром период, придется вызывать функцию для обработки почти одних и тех же данных столько раз, сколько периодов я рассматриваю в один момент. Умножив на количество критериев и объектов. А функция должна будет делать Select по задачам за период по критерию, в результате почти на пустом месте - шквал запросов.
Готов пойти на всегда фиксированный набор рассматриваемых периодов в возвращаемом наборе данных. Но что-то это не улучшает ситуацию.

Вижу вариант, с хранением готового набора оценок по критериям, привязанным к периодам. Каждая оценка будет пересчитываться по регистрации нового события. Кажется, количество событий будет сопоставимо с количеством запросов :)

Вопросов два:
1. Нет ли у кого инфы, поддаются ли, подобные описанному, алгоритмы оценки раскладыванию в объекты реляционной модели? Почему-то хочется упростить жизнь :)

2. На мой взгляд, вариант с хранением готового набора оценок, который уже можно складывать как хочешь, наиболее эффективен. Может быть я неправ или что-то пропустил? Есть другие варианты? Среда - MSSQL2000.

Прошу прощения за объем. Надеюсь кому-нибудь будет интересно погрызть такую косточку, со мной на пару :)
...
Рейтинг: 0 / 0
Прошу совета по организации данных и их обработке
    #34562995
Fagrant
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кусочек фразы потерялся: Оценки между критериями складываются арифметически.
...
Рейтинг: 0 / 0
Прошу совета по организации данных и их обработке
    #34563597
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FagrantВижу вариант, с хранением готового набора оценок по критериям, привязанным к периодам. Каждая оценка будет пересчитываться по регистрации нового события.Если правильно понял задачу, то звучит вполне здраво. При таком подходе надо только продумать, как соптимизировать подобное обновление. Чтобы можно было с минимумо усилий зарегистрировать как новое событие, так и критерий. Вообще, о критериях нужно еще тщательно подумать, в частности, чтобы их добавление описывалось определенным стандартным способом. Нет ощущения, что с ними Вам уже все просто, понятно и однозначно, IMHO.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Прошу совета по организации данных и их обработке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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