Учет услуг сотовой связи (постановка)
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 78: | Строка 78: | ||
CREATE TABLE usr$call_group ( | CREATE TABLE usr$call_group ( | ||
id dintkey, | id dintkey, | ||
| − | usr$name dname | + | usr$name dname, |
| + | usr$comment dtext1024 | ||
); | ); | ||
| Строка 94: | Строка 95: | ||
/* | /* | ||
| + | * Правила. | ||
| + | * | ||
| + | * | ||
* | * | ||
* | * | ||
* | * | ||
*/ | */ | ||
| + | |||
| + | CREATE TABLE usr$call_rule ( | ||
| + | id dintkey, | ||
| + | usr$name dname, | ||
| + | usr$servicekey usr$call_dservicekey, | ||
| + | usr$any_limit usr$call_dsum, | ||
| + | usr$work_limit usr$call_dsum, | ||
| + | usr$holiday_limit usr$call_dsum | ||
| + | ); | ||
| + | |||
CREATE TABLE usr$call_grouprule ( | CREATE TABLE usr$call_grouprule ( | ||
| − | id | + | id dintkey, |
| − | usr$ | + | usr$call_rulekey usr$call_drulekey, |
| − | usr$ | + | usr$call_groupkey usr$call_dgroupkey, |
| − | usr$ | + | usr$fromdate DATE NOT NULL |
| − | + | ); | |
| − | ) | + | |
</syntaxhighlight> | </syntaxhighlight> | ||
Версия 17:10, 10 августа 2011
/* * Домены * */ CREATE DOMAIN usr$call_dphone VARCHAR(12) CHECK(VALUE SIMILAR TO '[0-9]{5,12}'); -- ссылка на GD_VALUE usr$call_dvaluekey -- обязательная ссылка на услугу usr$call_dservicekey /* * Все номера телефонов, которые появляются в листинге. * Храним только цифры без разделителей, плюсов, скобок и т.п. * Флагом помечаем номера нашего предприятия. */ CREATE TABLE usr$call_phone ( id dintkey, usr$phone usr$call_dphone, usr$our dboolean_notnull ); /* * Список услуг: телефонный звонок, СМС, звонок в роуминге, * звонок на стационарную сеть и т.п. * Единица измерения услуги -- ссылка на стандартный * справочник GD_VALUE. */ CREATE TABLE usr$call_service ( id dintkey, usr$name dname, usr$valuekey usr$call_dvaluekey ); /* * Хронология звонков, услуг и т.п. * Указывается объем и/или продолжительность. */ CREATE TABLE usr$call_history ( id dintkey, usr$timestamp TIMESTAMP NOT NULL, usr$from usr$call_dphonekey NOT NULL, usr$to usr$call_dphonekey, usr$volume usr$call_dvolume, usr$duration TIME, usr$servicekey usr$call_dservicekey, usr$cost usr$call_dcost NOT NULL ); /* * История перехода СИМ карт из рук в руки. * Если карточка никому не назначена -- * usr$employeekey IS NULL */ CREATE TABLE usr$call_phonelink ( id dintkey, usr$phonekey usr$call_dphonekey NOT NULL, usr$employeekey usr$call_employeekey, usr$fromdate DATE NOT NULL ); /* * Список групп абонентов. * Правила вычета денег привязаны к группам. * */ CREATE TABLE usr$call_group ( id dintkey, usr$name dname, usr$comment dtext1024 ); /* * Привязка номера к группе. * */ CREATE TABLE usr$call_grouplink ( id dintkey, usr$groupkey dintkey, usr$phonekey dintkey, usr$fromdate DATE NOT NULL ); /* * Правила. * * * * * */ CREATE TABLE usr$call_rule ( id dintkey, usr$name dname, usr$servicekey usr$call_dservicekey, usr$any_limit usr$call_dsum, usr$work_limit usr$call_dsum, usr$holiday_limit usr$call_dsum ); CREATE TABLE usr$call_grouprule ( id dintkey, usr$call_rulekey usr$call_drulekey, usr$call_groupkey usr$call_dgroupkey, usr$fromdate DATE NOT NULL );