
- •35. Поиск информации методами FindFirst, FindPrior, FindNext и Find.
- •36. Способы сортировки.
- •38. Состояние набора данных. Свойство State.
- •39. Свойства компонента tDataSource.
- •40. События DataSource.
- •41. Свойства класса tField.
- •43. Организация связи между таблица. Главная/подчиненная.
- •44. Режим кэширования изменений.
- •45. Основные сведения о языке sql.
43. Организация связи между таблица. Главная/подчиненная.
Главная таблица {родительская таблица или master) — это таблица, в которой содержатся основные данные.
Подчиненная таблица {дочерняя таблица или detail) — таблица, значения в полях которой зависят от значений главной таблицы.
Главная таблица может иметь несколько подчиненных таблиц.
Таким образом, при перемещении по записям главной таблицы будет автоматически производиться перемещение по записям подчиненной таблицы.
В каждой подчиненной таблице для организации связи с главной таблицей берется индекс, состав полей которого должен частично или полностью совпадать с составом полей главной таблицы.
Само название связи между таблицами реляционной базы данных формируют по типу таблиц:
главный—подчиненный,
родительский—дочерний или master—detail.
Как было уже сказано на первом занятии, существует четыре вида связи между таблицами:
один к одному;
один ко многим;
много к одному;
много ко многим.
Вид связи один к одному означает, что каждой записи в главной таблице соответствует одна запись в подчиненной таблице. При этом не исключается случай, когда некоторым записям главной таблицы может не найтись соответствующих записей в подчиненной таблице. Этот вид связи используется обычно для упрощения структуры одной таблицы с большим количеством полей путем разбиения ее на несколько таблиц. При этом в главной таблице остаются поля с наиболее важной информацией, а остальные поля распределяются между подчиненными таблицами.
Вид связи один ко многим означает, что одной записи главной таблицы может ставиться в соответствие несколько записей в подчиненной таблице. При этом не исключается случай, когда записи главной таблицы не будет поставлено в соответствие ни одной записи в подчиненной таблице. Этот вид связи применяется в базах данных наиболее часто. При перемещении по записям в главной таблице будут автоматически становиться доступными записи в подчиненной таблице, у которых значение поля связи равно значению поля связи текущей записи главной таблицы. В качестве примера организации такого вида связи можно привести базу данных, состоящую из двух таблиц, которая содержит данные о покупателях и товаре. В первой, главной таблице хранятся сведения о покупателях (фамилия, имя, отчество, наименование организации и т. п.), во второй —сведения о приобретенном данным покупателем товаре. Один покупатель может приобрести один или несколько товаров.
Вид связи много к одному является аналогом вида один ко многим, но отличается направлением, то есть одной записи в подчиненной таблице может соответствовать несколько записей главной таблицы.
Последний вид связи много ко многим означает, что одной записи главной таблицы могут быть сопоставлены несколько записей подчиненной таблицы и, наоборот, одной записи подчиненной таблицы может соответствовать несколько записей главной таблицы. Ярким примером организации такого вида связи является база данных типа «Расписание», подразумевающая, что в одной учебной аудитории может заниматься несколько групп и наоборот, одна группа может заниматься в нескольких аудиториях. Таким образом, данные об аудиториях могут находиться и одной таблице, а о группах — в другой. При этом трудно утверждать, что одна пи таблиц является главной, а вторая — подчиненной.