Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Вниз

FIBPlus + префикс MAS   Найти похожие ветки 

 
Mitrofan   (2004-07-05 10:42) [0]

Как быть если у таблицы имеется две или более master таблицы?
Как при этом будет выглядеть работа с префиксом MAS?

Заранее спасибо.


 
Соловьев ©   (2004-07-05 10:44) [1]

может не мастер, а детайл?


 
Mitrofan   (2004-07-05 10:52) [2]

Как я понимаю мастер таблица это к примеру справочник.
А делайл это таблица в которой есть ссылка на этот справочник.
Так вот теперь есть таблица, в которой имеется две ссылки на два справочника.


 
Соловьев ©   (2004-07-05 11:07) [3]

LookUp fields+F1


 
Johnmen ©   (2004-07-05 11:13) [4]

>имеется две ссылки

Это что, как и где ?


 
Mitrofan   (2004-07-05 11:22) [5]

Имеем Справочник1 и Справочник2
Имеем Таблица1
Две ссылки означает следующее.
В Таблице1 есть два поля: Поле1 и Поле2 в которых хранятся
идентификаторы из Справочник1 и Справочник2
Теперь понятнее ?


 
Johnmen ©   (2004-07-05 11:35) [6]

Нет. Т.к. ничего не сказано про реализацию ссылок.


 
Соловьев ©   (2004-07-05 11:41) [7]

вообще-то тут все понятно :)
MAS тут не причем, так как у него не данные мастера нужны, а детайла. А для этого или руцями прописывать, или использовать [3].
P.S. префикс MAS_ использует данные из TFIBDataSet.DataSource. Т.е. если бы и была бы связь с несколькими мастерами, то MAS_ тут бы не помог.


 
Курдль ©   (2004-07-05 11:42) [8]

А можно хоть чуть-чуть ближе к терминологии БД.
Например:
Имеем ТАБЛИЦУ_1 и СПРАВОЧНИК_1, СПРАВОЧНИК_2
ТАБЛИЦА_1 имеет отношение "много-к-одному" к СПРАВОЧНИК_1
ТАБЛИЦА_1 имеет отношение "много-к-одному" к СПРАВОЧНИК_2

Так?


 
Mitrofan   (2004-07-05 11:57) [9]

2 Курдль
 Абсолютно точно Вы подметили


 
Курдль ©   (2004-07-05 12:07) [10]

Это хорошо. Теперь самое главное: А ЧТО НАДО-ТО? :)))
Про префикс MAS не имею ни малейшего представления, но уверен, что есть другой выход.


 
Соловьев ©   (2004-07-05 12:10) [11]


> Абсолютно точно Вы подметили

А я подмечу что у Вас перепутаны понятия мастера и детайла :)


> но уверен, что есть другой выход.

вот именно :)


 
Deniz ©   (2004-07-05 12:22) [12]

>Mitrofan см. Соловьев ©   (05.07.04 11:41) [7]
Если не понятно, то могу предположить, что тебе надо редактировать поле "Поле1" в "Таблица1", причем данные в этом поле должны соотв. одному значению из "Справочник1". Аналогично с "Поле2" и "Справочник2".
Варианты решения:
1. Соловьев ©   (05.07.04 11:07) [3]
2.
select spr1.name name1, t1."поле1", spr2.name name2, t1."поле2", ...
from "таблица1" t1 inner join "справочник1" spr1 on (spr1.id = t1."поле1")
 inner join "справочник2" spr2 on (spr2.id = t1."поле2")
order by ...

показывать(например в grid"е) нужные поля, а редактировать только поля из "таблица1" и сразу после редактирования/вставки "таблица1".refresh.
Первый вариант более удачный на мой взгляд.


 
Курдль ©   (2004-07-05 12:28) [13]


> Первый вариант более удачный на мой взгляд.

Не согласен. Всегда предпочтительнее получать набор данных по минимуму, используя запрос.


 
Соловьев ©   (2004-07-05 12:31) [14]

Если это справочники, то они как правило закачиваются на клиента - на то они и справочники. А тут как раз можно и лукап использовать. А если это большие таблицы, то конечно надо в скл связывать лукап поля.


 
Deniz ©   (2004-07-05 12:55) [15]

> Курдль ©   (05.07.04 12:28) [13]
Немного не так выразился, "удачный" имелось в виду более легкий для автора и судя по вопросу, ему легче разобраться с lookup полями(ведь это тоже надо знать), чем настраивать обновления/редактирования/добавления, а пройдет немного времени и все будет нормально с запросами.


 
Курдль ©   (2004-07-05 13:12) [16]


> Deniz ©   (05.07.04 12:55) [15]
> Немного не так выразился, "удачный" имелось в виду более
> легкий для автора и судя по вопросу, ему легче разобраться
> с lookup полями

Возможно, Вы правы... А возможно - не совсем. Привыкнет человек оперировать категориями "мастер/деталь" вместо "один-ко-многим", "лукап-поля" вместо "соединения" и т.п.
Жаль, что так мало книжек, где программированию учат по блок-схемам алгоритмов, а работе с СУБД - по концептуальным моделям...
Вот я убился, пока нашел хоть скольк-нибудь потребных книг про "Кролика" :(



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.08.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.193 c
1-1090097687
Arm79
2004-07-18 00:54
2004.08.01
Как сохранить строку в св-ве Objects типа TStringList?


4-1086624324
killer
2004-06-07 20:05
2004.08.01
Браузер установленный по умолчанию


1-1090288396
НовиЧок
2004-07-20 05:53
2004.08.01
Манифест XP


14-1089378232
Dann
2004-07-09 17:03
2004.08.01
Новый модуль в D7


14-1089739296
elected
2004-07-13 21:21
2004.08.01
Распознавание Лиц





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