Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

структура базы данных [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 таблиц-аппендиксов


Наверх

Титульная страница Поиск, карта сайта Написать письмо