Главная страница
    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.47 MB
Время: 0.124 c
15-1171623176
pavel_guzhanov
2007-02-16 13:52
2007.03.18
можно ли сделать так, чтобы в exe файл входило что-то вроде базы


2-1172578775
Ivolg
2007-02-27 15:19
2007.03.18
Обратная функция


2-1172670740
Sinus
2007-02-28 16:52
2007.03.18
загрузить данные из тхт файла


3-1166595725
Ega23
2006-12-20 09:22
2007.03.18
Добавить Calculated-поле в ран-тайм


2-1172512857
ishicucu
2007-02-26 21:00
2007.03.18
Передача данных в Excel





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский