Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение большого кол-ва SQL запросов / 7 сообщений из 7, страница 1 из 1
26.09.2012, 13:02
    #37972786
NAFIGATOR2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
При проектировании ИС для предприятия возникла необходимость хранить большое кол-во SQL запросов, есть таблица операторов и есть таблица звонков с множеством параметров(a,б номера, руты , транки ,длительность, код отбоя, ошибка и т.д.), необходимо выбирать звонки для операторов по уникальным для каждого оператора параметрам. Так например для оператора 'Beeline' нужно выбирать только звонки прошедшие через роуты 1 или 2, и с продолжительностью не менее 10 секунд, а для MegaFon все звонки с продолжительностью 1 и более секунд. Хранить такие запросы в таблицах , как это реализовано сейчас, на мой взгляд криво. Может кто-нибудь подскажет более правильный способ.

Смотрю в сторону хранимых процедур. Т.е. в таблицу с операторами добавляем поле где храниться поле с названием процедуры дергающей данные из таблицы за заданный период.

Может кто-нибудь знает более простой и элегантный способ?
...
Рейтинг: 0 / 0
26.09.2012, 13:31
    #37972831
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
NAFIGATOR2Хранить такие запросы в таблицах , как это реализовано сейчас, на мой
взгляд криво.
Обоснуй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.09.2012, 14:19
    #37972907
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
NAFIGATOR2,

А что сейчас происходит, когда добавлется новый оператор/изменяется алгоритм для старого?
Пользователи сообщают программисту, и тот пишет новый запрос? Или пользователи сами его пишут?

В первом случае хранить имена хранимых процедур и вызывать их не очень-то нужны, можно обойтись IF-ами в одной процедуре
(хотя можно и хранить)
Во втором с процедурами будет сложность - одно дело заставить пользователя писать несложный запрос (а в идеале - только where к нему), а другое - полноценную процедуру, и давать ему права Create procedure.
...
Рейтинг: 0 / 0
26.09.2012, 14:37
    #37972947
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
> Может кто-нибудь знает более простой и элегантный способ?

Хранимые процедуры.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
26.09.2012, 21:24
    #37973551
Максим Н
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
NAFIGATOR2,

дык вьюхи еще.
...
Рейтинг: 0 / 0
27.09.2012, 06:20
    #37973781
NAFIGATOR2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
Кот МатроскинNAFIGATOR2,

А что сейчас происходит, когда добавлется новый оператор/изменяется алгоритм для старого?
Пользователи сообщают программисту, и тот пишет новый запрос? Или пользователи сами его пишут?

В первом случае хранить имена хранимых процедур и вызывать их не очень-то нужны, можно обойтись IF-ами в одной процедуре
(хотя можно и хранить)
Во втором с процедурами будет сложность - одно дело заставить пользователя писать несложный запрос (а в идеале - только where к нему), а другое - полноценную процедуру, и давать ему права Create procedure.

И сам select тоже приходиться писать, потому как все b номера необходимо приводить к виду кодов направлений в таблице тарифов, а у разных операторов в таблице звонков номера записываются по разному, у одних "00" перед номером, у других "+", у третьих все звонки идут только на местные номера и там кодов вообще нет, приходиться смотреть на кол-во цифр в номере.

А что касается IF-ов, то операторов несколько десятков, лучше буду хранить в отдельном поле.

Всем кто откликнулся большое спасибо, понял что универсального способа нет, просто думал что возможно есть какой-нибудь паттерн для таких вот случаев, хотелось услышать чужое мнение.
...
Рейтинг: 0 / 0
27.09.2012, 06:41
    #37973786
Arhat109
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Хранение большого кол-ва SQL запросов
NAFIGATOR2, паттерн называется EAV и примерно так и выглядит (как Вы делаете), только в Вашем случае хранятся не свойства, а методы обработки объектов. Тут - весьма щекотливая тема, не советую удаляться "вглыбь". Поищите поиском. Среди кучи хлама, срача и флуда, есть отдельные зерна умных мыслей. Потому как все над ним "бьются", но у каждого выходит "свой каменный цветок"... или не выходит... запор, то бишь. Отсюда и срач. ;)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Хранение большого кол-ва SQL запросов / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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