Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
ВнизСвязанные поля БД Найти похожие ветки
← →
Senka (2002-11-21 09:00) [0]Подскажите кто нибудь где найти инфу по созданию связанных полей в нескольких таблицах в Database Desktop.
По книжке пробовал чего то не получается, при редактировании связанного поля не открывается вторая таблица привязанная к этому полю.
Спасиба.
← →
Anatoly Podgoretsky (2002-11-21 09:08) [1]Еще раз прочитать книжкИ и внимательно, потом прочитать хелп, посмотреть примеры в Дельфи.
ЗЫ: Database Desktop этим не занимается
← →
s_karm (2002-11-21 10:51) [2]Таже проблема, если делать по книжке, в которых есть примеры только для TTable (хотя для всего остального должно быть аналогично), то получаешь вылет по ошибке. не разясняется какие должны быть ключевые поля и тп
← →
3JIA9I CyKA (2002-11-21 10:54) [3]НичЁ не нонял.
← →
MsGuns (2002-11-21 11:21) [4]Для привязки двух таблиц отношением Master-Detail должны соблюдаться след.условия:
Поля Master, по которым связь, должны быть или Primary Key или Secondary Index (во втором случае индекс должен быть активным и обеспечивать уникальность)
Поля Detail, по которым связь, должны быть по типу полностью совместимыми с аналог.полями Master, и также ключами или активными уникальными индексами. Кроме того, в этой таблице должен быть по крайней мере еще один ключ, обеспечивающий множественность детальных записей на один мастер-ключ
Отношение один-ко-многим устанавливается в компонентах TTable (MasterSource,MasterFields). Для TQuery механизм привязки несколько отличается.
Пример связки:
1. "InterPr" (Master) - таблица подразделений предприятия
- DepID (Int) - идентификатор подразделения Primary Key
- DepName (Chr) - Наименование подразделения
- DepQuon (Int) - Кол-во работающих в подразделении
... - прочие характеристики подразделения
2. "Personal" (Detail) - таблица - спиочний состав по подр-ям
- DepID (Int) - связка с Мастером Primary Key
- PerID (+) - идентификатор чела Primary Key
- PerName (Chr) - ФИО чела
- DlgID (Int) - Указатель должности из соотв.спр-ка
- PerOklad ($) - Оклад
... - прочие характеристики чела
3. "Family" (Detail-Level 2) - состав семьи
- PerID (Int) - связка с "Personal" Primary Key
- FamID (+) - Уник.Идентификатор члена семьи Prim.Key
- FamFIO (Chr) - ФИО члена семьи
...
При размещении данных детальных таблиц в гридах настоятельно рекомендуется НЕ включать в состав редактируемых (и отображаемых) колонок ключей связки с мастер-таблицей,- при вставке в детал новой записи они автоматически заполняться (в отличие от связок TQuery) нужными значениями
Вообще-то закладывание "жестких" отношений в топологию (структуру и иерархию таблиц) БД не всегда оправдано. Но для локальных БД типа Paradox дает существенный выигрыш при программировании интерфейсов и заметно повышает скорость работы приложений.
← →
Senka (2002-11-21 14:44) [5]Поясняю:
Я создал две таблицы в DBD7.0
Табл. 1:
№ Абонента. (тип Integer) ключевое поле.
Абонент. (тип Alpha)
№ улицы. (тип Integer) вторичный ключ.
Табл. 2:
№ улицы. (тип Integer) ключевое поле.
Улица. (тип Alpha)
Связал эти таблицы по полю № улицы (оно является вторичным ключом) в окне Table Lookup и сохранил изменения.
И цитирую из книжки "Когда Вы сохраните изменения, при вводе или редактировании поля № улицы в первой таблице DBD будет выводить связанную с этим полем вторую таблицу" - а он не выводит ее.
В чем ошибка? ведь не в генах же :-)))
← →
MsGuns (2002-11-21 17:06) [6]DBD и BDE это не одно и то же !
Для того, чтобы сработал LookUp в приложении, НЕДОСТАТОЧНО просто указать соотв.опции в DBD. Надо еще настроить соотв.DataSet в проекте. Т.е. создать LookUp-поле (в данном случае <Улица>), связать его по № улицы со справочником, а результат направить в № улицы 1-й таблицы.
← →
Senka (2002-11-21 17:53) [7]Все парни я в тупике................................
Может кто знает где инфу в инете скачать можно по этим вопросам.
← →
MsGuns (2002-11-21 18:37) [8]Вся инфа в хэлпах. У тебя что, не установлена контекстная помощь ? Дважды клацаешь на TTable, добавляешь новое поле, определяешь ему Kind=LookUp, и дальше по сценарию с подсказками, если надо. Для хэлпа ищешь строки в Object Inspector с LookUpxxxx (Перед этим наведись на ЛЮБОЕ поле в редакторе полей или в OI), жмешь F1 и "ученье-свет..." 8)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c