|
|
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
Как лучше организовать таблицу, в которой будут храниться скидки в зависимости от объемов скачанного трафика? Например, до 100 Мб - X руб; до 200 Мб - Y руб ... Желательно, чтобы это позволяло изменять пороги трафика и чтобы на каждом тарифе можно было вводить свои пороги, но не в ущерб быстродействию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 16:42 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
таблица из трех полей. 1. MIN_VALUE 2. MAX_VALUE 3. DISCOUNT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 17:58 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
sergey888таблица из трех полей. 1. MIN_VALUE 2. MAX_VALUE 3. DISCOUNT Автор намекал на "на каждом тарифе", значит либо надо добавить id pk и потом дополнительно связывать с чем-то. to postuser : 1. есть ли понятие накопительной скидки, исключительность скидок? 2. тариффикация производиться ДО или ПОСЛЕ скачивания? 3. мера только объем траффика и тариф или есть ещё что-то, предполагается ли ещё что-то 4. есть ли разработанная бизнес-концепция предоставления скидок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.10.2007, 20:14 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
KGP sergey888таблица из трех полей. 1. MIN_VALUE 2. MAX_VALUE 3. DISCOUNT Автор намекал на "на каждом тарифе", значит либо надо добавить id pk и потом дополнительно связывать с чем-то. to postuser : 1. есть ли понятие накопительной скидки, исключительность скидок? 2. тариффикация производиться ДО или ПОСЛЕ скачивания? 3. мера только объем траффика и тариф или есть ещё что-то, предполагается ли ещё что-то 4. есть ли разработанная бизнес-концепция предоставления скидок? На действующих тарифных планах скидка расчитывается в зависимости от объемов потребленного трафика за месяц (расчетнй период), то есть, если клиент скачал >200 Мб <300 Мб, то весь трафик считается именно по цене от 200 до 300. Тарификация проводится в конце месяца. Но на новых тарифных планах планируется введение предоплатной системы расчетов и расчет стоимости будет проводиться почти в реальном времени. Нужло ли авансовые и кредитные тарифы хранить в разных таблицах или можно придумать одну структура для них? На большинстве тарифов есть включенный трафик. Четкой концепции нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 05:43 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
sergey888таблица из трех полей. 1. MIN_VALUE 2. MAX_VALUE 3. DISCOUNT Как при этом оптимально написать запрос с проверкой попадания в этот интервал, до написания в форуме сделал подобную схему, но с такой таблицей не очень удобно работать, особенно если делать предоплатные тарифы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 05:47 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
postuserЧеткой концепции нет. Тогда методом анализа/статистики текущих и уже планируемых тарифных планов создайте эту концепцию, а ещё лучше уточните у бизнес-сотрудника вашего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 09:39 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
postuser sergey888таблица из трех полей. 1. MIN_VALUE 2. MAX_VALUE 3. DISCOUNT Как при этом оптимально написать запрос с проверкой попадания в этот интервал, до написания в форуме сделал подобную схему, но с такой таблицей не очень удобно работать, особенно если делать предоплатные тарифы. select discount from tarif where minvalue<=:val and maxvalue>=:val ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2007, 10:09 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
Как лучше поступить для предоставления детализации счета (сколько денег снялось за отдельные виды трафика, сколько снято абонплаты ит.д.): 1) при снятии денег с лицевого счета вести лог списываний в отдельной таблице с полями сумма списания, услуга, дата; 2) рассчитывать списания по данным о трафике, расчетных периодов и времени работы клиента за месяц для определения абонплаты? Пока склоняюсь к первому варианту, но возникнут проблемы с размером базы и, возможно, скоростью выборок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 15:08 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
postuser Как лучше поступить для предоставления детализации счета (сколько денег снялось за отдельные виды трафика, сколько снято абонплаты ит.д.): 1) при снятии денег с лицевого счета вести лог списываний в отдельной таблице с полями сумма списания, услуга, дата; 2) рассчитывать списания по данным о трафике, расчетных периодов и времени работы клиента за месяц для определения абонплаты? Пока склоняюсь к первому варианту, но возникнут проблемы с размером базы и, возможно, скоростью выборок. Имхо тут нет противоречия. Детализация счета - отдельная сущность, формируется на основании Вашего п.2, после чего является основанием для снятия денег ( как описано у Вас в п.1). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2007, 16:10 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин postuser Как лучше поступить для предоставления детализации счета (сколько денег снялось за отдельные виды трафика, сколько снято абонплаты ит.д.): 1) при снятии денег с лицевого счета вести лог списываний в отдельной таблице с полями сумма списания, услуга, дата; 2) рассчитывать списания по данным о трафике, расчетных периодов и времени работы клиента за месяц для определения абонплаты? Пока склоняюсь к первому варианту, но возникнут проблемы с размером базы и, возможно, скоростью выборок. Имхо тут нет противоречия. Детализация счета - отдельная сущность, формируется на основании Вашего п.2, после чего является основанием для снятия денег ( как описано у Вас в п.1). Я про детализацию при печати квитанции или счета... Историю снятий нужно хранить или просто обновлять (UPDATE) лицевой счет, а при печати квитанции расчитывать что за что сняли по логом трафика и расчетным периодам? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2007, 17:03 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
автор Я про детализацию при печати квитанции или счета... Я же говорю, если делать правильно - счет это отдельная сущность, которая хранится в базе. Отдельно от тарифов, времени работы, списаний со счета и т.д. Пример Неправильно посчитали время работы клиента, насчитали лишние деньги, обнулили счет, приостановили услуги. В следущем отчетном периоде клиент пришел ругаться, ошибку нашли. Что делать дальше? Переправить время работы и состояние счета, все? В результате нафиг потеряется информация о том, почему приостанавливали услуги, почему в бухгалтерский баланс за прошлый период попал больше денег, чем надо, почему пришлось возврашать деньги в этом, etc. И концов не найдешь никогда. Если информация о тарифах отдельно, счета отдельно и списание/приод денег отдельно - эта ситуация разрешается элементарно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2007, 19:06 |
|
||
|
Проектрование таблиц для хранния тарифов
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин автор Я про детализацию при печати квитанции или счета... Я же говорю, если делать правильно - счет это отдельная сущность, которая хранится в базе. Отдельно от тарифов, времени работы, списаний со счета и т.д. Пример Неправильно посчитали время работы клиента, насчитали лишние деньги, обнулили счет, приостановили услуги. В следущем отчетном периоде клиент пришел ругаться, ошибку нашли. Что делать дальше? Переправить время работы и состояние счета, все? В результате нафиг потеряется информация о том, почему приостанавливали услуги, почему в бухгалтерский баланс за прошлый период попал больше денег, чем надо, почему пришлось возврашать деньги в этом, etc. И концов не найдешь никогда. Если информация о тарифах отдельно, счета отдельно и списание/приод денег отдельно - эта ситуация разрешается элементарно. Спасибо за помощь. Сейчас у меня примерно так и делается, если я правильно понял. Есть таблица account (id_acc,balance,id_clients)-там храниться баланс лиц счета, есть таблицы с тарифами (храниться стоимость трафика, абонплата, стоимость доп. услуг итд), есть таблиц платежей (кто оплатил, сумма платежа, дата платежа, тип услуги), таблица клиентов (идент-р, тариф итд), таблицы с трафиком (разные типы трафика), сейчас думаю сделать таблицы списаний (сумма списания, дата списания, клиент, за что списание). Таблица account обновляется по триггерам в двух случаях и в одном раз в месяц при запуске процедуры расчета: 1. При попадании записей в таблицу трафика (происходит расчет согласно таблицам тарифов); 2. При попадании записей в таблицу платежей. 3. В конце расчетного периода запускается процедура, собирающая данные о наличии допуслуг, абонплат и тоже обновляет таблицу account. Как я понял вы предлагаете делать так: При добавлении записи в таблицу трафика запускать по триггеру процедуру расчета (с использованием таблиц тарифов) и делать запись в таблицу списаний, а на таблицу списаний повесить тригер, который будет обновлять таблицу account? Если не сложно, приведите пример как бы вы это делали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2007, 07:31 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=113&tid=1544235]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 337ms |

| 0 / 0 |
