Зависит от того, надо ли тебе отслеживать историю изменения тарифа.
Ну с таблицами Поставщики и Услуги все понятно. У них есть ID и разная информация. Теперь о таблице Тарифы. В простейшем случае, когда ничего отслеживать не надо, то достаточно иметь ссылки на соотв. поставщика и услугу. Ну и текущую цену. Если история изменения нужна, то еще надо добавить даты начала и окончания действия услуги. Для текущей стоимости дата окончания будет NULL - это надо учитывать и в программе (когда будешь вводить изменение в эту базу, новую цену, тебе надо будет "закрыть" текущую запись и добавить новую) и во всех запросах. Кстати, для разрешения конфликтов, когда по какой-то причине периоды пересекаются, неплохо бы ввести время внесения последних изменений (считаем, что запись с макс. временем обновления более правильная).
|