|
|
|
Проектирование база данных для тарифов и услуг
|
|||
|---|---|---|---|
|
#18+
Есть некая система, которая предоставляет услуги. Каждая из услуг может быть (а может и не быть) в составе тарифа. Тариф — id, название, период до которого его нужно активировать, фактическая дата активации, дата покупки Сервис — id, название, id тарифа (м.б. null), период до которого его нужно активировать, фактическая дата активации, дата покупки Услуги и тарифы могут предоставляться как помесячно, так и поштучно. Цены — id, тип (помесячно или поштучно), кол-во месяцев(или кол-во штук), сумма Цена услуги в составе тарифа проставляется отдельно. То есть цена тарифа складывается из суммы всех услуг, которые входят в его состав. Подскажите, как спроектировать другие таблицы: Заказы. Непонятно, при заказе тарифа (то есть списка услуг) лучше добавлять один внешний ключ (id тарифа) или несколько (для каждой услуги в составе этого тарифа)? Цены-тарифы-услуги. Так как цена услуги отдельно и в составе тарифа различаются, то как всё это организовать? Может, тема уже обсуждалась? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2011, 09:42 |
|
||
|
Проектирование база данных для тарифов и услуг
|
|||
|---|---|---|---|
|
#18+
Darooma, Во-первых, я бы объединил таблицы тариф и услуга в одну, это очевидно, их структура идентична, + тип (слуга это или тариф). Дальше, в зависимости от может ли одна услуга участвовать в нескольких тарифах - ссылка либо idOwner, либо отдельная таблица для связки. Так же не ясно какое отношение атрибуты фактическая дата активации, дата покупки имеют к справочнику тарифов, судя по названию это атрибуты сущности покупка тарифа\услуги (заказ?) Таблица цен - тип покупки (поштучно или на месяц), тип цены (для одиночной услуги и в составе тарифа), ссылка та таблицу тарифов-услуг. Думаю, в таблице цен можно хранить цену на весь тариф, вычислять ее тригером при удалении\добавлении услуг в тариф. Количество по идее надо хранить в заказе, а в справочнике хранить цену для 1 месяца\штуки. Заказ: Ссылаемся на таблицу цена (на цену тарифа или услуги, в зависимости от того, что мы покупаем, благо таблица же одна). Экземпляр цены уже хранит информацию о том, что это за тариф\услуга и какие типы (то есть полную необходимую информацию). Как-то так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2011, 22:30 |
|
||
|
Проектирование база данных для тарифов и услуг
|
|||
|---|---|---|---|
|
#18+
Правильно ли я понимаю что тариф у вас это набор (или если хотите коробка) с услугами оптом, а пользователь может еще прикупить услуг в розницу. Darooma Непонятно, при заказе тарифа (то есть списка услуг) лучше добавлять один внешний ключ (id тарифа) или несколько (для каждой услуги в составе этого тарифа)?Тогда в заказе будет или тариф или услуга отдельно, то есть Код: plaintext 1. 2. 3. 4. 5. 6. 7. Darooma Цены-тарифы-услуги. Так как цена услуги отдельно и в составе тарифа различаются, то как всё это организовать?прикрутить историю изменений dfrom/dto будет домашним заданием ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2011, 00:04 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=56&tid=1541982]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 347ms |

| 0 / 0 |
