Форум: "Базы";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Внизструктура базы данных Найти похожие ветки
← →
mezozoy (2006-12-18 12:47) [0]Помогите люди добрые! Не могу разобраться с структурой базы данных (IB 6юч). Есть таблица отношения тариф-пользователь (id, id_user, id_tarif, begin_date, end_date), где id_tarif-ключ к таблицам тарификации. У каждой услуги структура таблицы тарифов разная. Поэтому я сделал 3 таблицы Tarif_*. (по числу предоставляемых услуг). Как мне теперь прицепить все эти таблицы к Id_tarif? Заранее спасибо.
← →
clickmaker © (2006-12-18 12:56) [1]
> mezozoy (18.12.06 12:47)
а насколько разные? Я бы слил общую часть в одну таблицу, а разницу представил бы в виде 3 таблиц-аппендиксов
← →
mezozoy (2006-12-18 13:01) [2]Услуги - это кабельное телевидение, интернет, и домофоны. Телевидение и домофоны влепить в одну таблицу не вопрос т.к. там только абонентская плата и разовые платежи. А вот с net-ом проблема т.к. платежи зависят от трафика
← →
Sergey13 © (2006-12-18 13:01) [3]> У каждой услуги структура таблицы тарифов разная.
ИМХО - это как раз и есть главная ошибка.
← →
Desdechado © (2006-12-18 13:02) [4]зачем 3 таблицы?
Разница, как я понимаю, в схеме начисления (тарификации), а не в структуре.
← →
clickmaker © (2006-12-18 13:04) [5]ну я имею в виду примерно это:
t_tarif(id_tarif, tarif_type, ... общие поля для всех трех)
tarif_type - 1,2,3 соотв. телевидение, интернет, и домофоны
t_tarif_tv(id_tarif, ... специфика)
t_tarif_inet(id_tarif, ... специфика)
t_tarif_domofon(id_tarif, ... специфика)
руководствуясь tarif_type, данные подтягивать из одной из этих таблиц. Некий аналог объектной модели с наследованием, положеный на реляционный движок
← →
mezozoy (2006-12-18 13:13) [6]Спасибо всем. Буду пробовать.
← →
Sergey13 © (2006-12-18 13:17) [7]> [5] clickmaker © (18.12.06 13:04)
Можно и немного по другому.
t_tarif(id_tarif, name)
specifik_type (id_spec, name)
detal_tarif(id_tarif,id_spec,value_spec)
← →
mezozoy (2006-12-18 13:19) [8]
> > У каждой услуги структура таблицы тарифов разная.
>
> ИМХО - это как раз и есть главная ошибка.
> <Цитата>
Поясни пожалуйста что ты имел в виду.
← →
Sergey13 © (2006-12-18 13:25) [9]> [8] mezozoy (18.12.06 13:19)
То, что на новый тариф будешь еще одну таблицу заводить + программу переписывать. А это не есть гут.
← →
mezozoy (2006-12-18 13:35) [10]
> То, что на новый тариф будешь еще одну таблицу заводить
> + программу переписывать. А это не есть гут.
Я понимаю, что это далеко не гут. A какой выход?
← →
Sergey13 © (2006-12-18 13:36) [11]> [10] mezozoy (18.12.06 13:35)
Я предложил вариант в
> [7] Sergey13 © (18.12.06 13:17)
← →
mezozoy (2006-12-18 13:39) [12]Спасибо!!! Буду пробовать.
← →
clickmaker © (2006-12-18 13:57) [13]
> [7] Sergey13 © (18.12.06 13:17)
ну это уже тянет на почти совсем универсальный вариант
t_class (class_id, ...)
t_object (object_id, class_id...
t_class_attributes(class_id, attribute_id, name, data_type)
t_object_attributes (object_id, attribute_id, value)
вопрос только, стоит ли игра свеч
← →
Sergey13 © (2006-12-18 13:59) [14]> вопрос только, стоит ли игра свеч
Ну это уж автору решать. Я думаю стоит.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.043 c