![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
структура базы данных [D7, IB6.x]
mezozoy © (2006-12-18 12:47:00)Помогите люди добрые! Не могу разобраться с структурой базы данных (IB 6юч). Есть таблица отношения тариф-пользователь (id, id_user, id_tarif, begin_date, end_date), где id_tarif-ключ к таблицам тарификации. У каждой услуги структура таблицы тарифов разная. Поэтому я сделал 3 таблицы Tarif_*. (по числу предоставляемых услуг). Как мне теперь прицепить все эти таблицы к Id_tarif? Заранее спасибо.
Sergey13 (2006-12-18 13:59:00) [1]> вопрос только, стоит ли игра свеч
Ну это уж автору решать. Я думаю стоит.
clickmaker (2006-12-18 13:57:00) [2]
> [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)
вопрос только, стоит ли игра свеч
mezozoy (2006-12-18 13:39:00) [3]Спасибо!!! Буду пробовать.
Sergey13 (2006-12-18 13:36:00) [4]> [10] mezozoy (18.12.06 13:35)
Я предложил вариант в
> [7] Sergey13 © (18.12.06 13:17)
mezozoy (2006-12-18 13:35:00) [5]
> То, что на новый тариф будешь еще одну таблицу заводить
> + программу переписывать. А это не есть гут.
Я понимаю, что это далеко не гут. A какой выход?
Sergey13 (2006-12-18 13:25:00) [6]> [8] mezozoy (18.12.06 13:19)
То, что на новый тариф будешь еще одну таблицу заводить + программу переписывать. А это не есть гут.
mezozoy (2006-12-18 13:19:00) [7]
> > У каждой услуги структура таблицы тарифов разная.
>
> ИМХО - это как раз и есть главная ошибка.
> <Цитата>
Поясни пожалуйста что ты имел в виду.
Sergey13 (2006-12-18 13:17:00) [8]> [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:13:00) [9]Спасибо всем. Буду пробовать.
clickmaker (2006-12-18 13:04:00) [10]ну я имею в виду примерно это:
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, данные подтягивать из одной из этих таблиц. Некий аналог объектной модели с наследованием, положеный на реляционный движок
Desdechado (2006-12-18 13:02:00) [11]зачем 3 таблицы?
Разница, как я понимаю, в схеме начисления (тарификации), а не в структуре.
mezozoy (2006-12-18 13:01:00) [12]Услуги - это кабельное телевидение, интернет, и домофоны. Телевидение и домофоны влепить в одну таблицу не вопрос т.к. там только абонентская плата и разовые платежи. А вот с net-ом проблема т.к. платежи зависят от трафика
Sergey13 (2006-12-18 13:01:00) [13]> У каждой услуги структура таблицы тарифов разная.
ИМХО - это как раз и есть главная ошибка.
clickmaker (2006-12-18 12:56:00) [14]
> mezozoy (18.12.06 12:47)
а насколько разные? Я бы слил общую часть в одну таблицу, а разницу представил бы в виде 3 таблиц-аппендиксов