Я пытаюсь разработать приложение, использующее Oracle в качестве серверной части базы данных. Приложение рассчитает несколько статистических данных из различных таблиц в базе данных. Интерфейс, скорее всего, будет веб-приложением, и этот интерфейс будет отображать различные диаграммы и рассчитанную статистику. Теперь я полагаю, что было бы более эффективно выполнять вычисления в базе данных, а не на уровне обслуживания, потому что указанные вычисления необходимо будет выполнять для каждого веб-запроса. В таком случае я не уверен, какой механизм использовать. (например, хранимая процедура, функция, представление). Чтобы проиллюстрировать, что я собираюсь сделать, предположим, что я хочу вести статистику оценок многих студентов. Я хотел бы иметь веб-интерфейс, который позволяет мне просматривать эту статистику по каждому студенту, а также по системе «все включено». Некоторые статистические данные зависят от совокупных показателей (например, среднего, минимального, максимального) всех оценок учащихся, а некоторые статистические данные зависят только от отдельных учащихся. В этой ситуации каждый раз, когда добавляется или обновляется запись, агрегаты должны быть пересчитаны. Итак, я предполагаю, что если бы у меня была специальная таблица, содержащая все рассчитанные значения, которые мне нужны, и триггер (ы) для пересчета всего, когда запись добавляется / обновляется, тогда все, что мне нужно было бы сделать, из точки веб-запроса -view - позволяет уровню сервиса извлекать требуемые значения из этой специальной таблицы. Я просто не уверен, что это лучший способ go или нет, поэтому я прошу сообщество дать какие-либо комментарии / советы. Примечание. Хотя я использую Oracle, я открыт для использования PostgreSQL или mySQL.
Заранее спасибо