Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Внизвопрос о связывании таблиц Найти похожие ветки
← →
Гость22 (2005-09-21 10:20) [0]Раньше я работал с локальной БД (Парадокс) и необходимости связывать таблицы не было. Теперь вот хочу пробывать это сделать, но пока не знаю как. Что вообще такое связывание таблиц и зачем оно нужно. Может это когда выбираются данные из одной таблицы, то данные из другой
подтягиваются "по связке"?
Может есть ссылка на ресурс об этом, где попроще и подробно все описано?
← →
Плохиш © (2005-09-21 10:51) [1]
> то данные из другой подтягиваются "по связке"?
да
> Может есть ссылка на ресурс об этом, где попроще и подробно
> все описано?
встроенная справка делфи
← →
Rule © (2005-09-21 11:06) [2]любая книга по делфи содержит такую информацию ...
← →
Digitman © (2005-09-21 12:15) [3]
> я работал с локальной БД (Парадокс) и необходимости связывать
> таблицы не было
Локальность или НЕлокальность БД (неважно, Парадокс или Хренодокс) никак не связана с необходимостью или отсутствием оной что-то и где-то там "связывать" - принципы организации/использования реляционных БД едины.
← →
Sergey13 © (2005-09-21 12:24) [4]2[3] Digitman © (21.09.05 12:15)
Принципы то одни - реализации их разные.
← →
Digitman © (2005-09-21 12:35) [5]
> Sergey13 © (21.09.05 12:24) [4]
первое важней
← →
Sergey13 © (2005-09-21 12:39) [6]2[5] Digitman © (21.09.05 12:35)
а без второго первое не работает. 8-)
← →
Val © (2005-09-21 12:41) [7]Коллеги, вода в ступе, не о чем спорить. Он мог иметь ввиду под связкой, как внешние ключи, так и связывание в запросах. Думаю, он сам не знает о чем - нет понятия о рилейшеншип в БД, а это в букваре, а не на форуме.
← →
msguns © (2005-09-21 14:36) [8]"Связывание" в отношении таблиц может иметь массу вариантов (интерпретаций), часть из которых "вложена" в бизнес-логику, а часть - нет.
Вот некоторые из них:
1. Связь "Мастер-детал", когда есть Главная таблица и Детальная, в которой одно из полей содержит ссылки на ключ (идентификатор) Главной. Если эту связь заложить в бизнес-логику (foregn key), то получим автоконтроль целостности, при которой невозможно удалить запись из Главной таблицы, если есть хоть одна запись в Подчиненной, ссылающаяся на нее.
2. Связь "Справочник", когда некоторая таблица имеет поле, содержащее указатель на другую таблицу. Такая связь используется для экономии памяти на диске и ускорения выборок и в общем случае называется нормализацией. Также может быть реализована через Foregn key. На клиенте часто реализуется через обїекты типа DBLookUpCombobox
3. Связь семантическая, когда выбираются записи по совокупности полей нескольких таблиц по некоторым условиям, анализирующим соотношения этих полей между собой. Чаще всего такая связь закладывается на уровне запросов на сервере (ХП, представления) или клиенте (TXXQuery, TXXDataSet,..).
4. Связь расчетная, когда при изменении количественно-суммовых атрибутов некоторого объекта (таблицы) надо автоматически менять атрибуты другого объекта (таблицы). Типичный пример: в учетно складских приложениях при изменении кол-ва (суммы) в фактуре приходно-расходного документа надо менять текущий остаток на карточке (таблица-картотека).
Опять же можно это делать на клиенте (но изменения в обеих таблицах должны быть строго в контексте одной транзакции), либо реализовать на сервере, например, через механизм триггеров (бизнес-логика).
Таком образом обеспечивается достоверность БД
← →
Digitman © (2005-09-21 17:06) [9]
> msguns © (21.09.05 14:36) [8]
Сергей, ты это все кому сейчас произнес-то ?) с учетом [7] и Гостя22-го как такового ?)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.25 c