Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.48 MB
Время: 0.049 c
2-1172167065
Novichok_New
2007-02-22 20:57
2007.03.18
Снова ListView (+ Hint)


3-1166758240
NovaC
2006-12-22 06:30
2007.03.18
INSERT INTO через ADOConnection.Execute


15-1172230442
Cyrax
2007-02-23 14:34
2007.03.18
Настройка размещения элементов панели задач


15-1172087527
Соня
2007-02-21 22:52
2007.03.18
Кто возьмется написать прораммку? небесплатно


2-1172233789
Danila_master
2007-02-23 15:29
2007.03.18
Работа c сишными dll в Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский