Разработка баз данных в Delphi. 11 Уроков



     Смотрите http://prostoysoft.ru склад программа. |     

 Выполнение соединения нескольких таблиц.


          Вы видели что таблицы CUSTOMERS и ORDERS связаны в отношении один-ко-многим, основанному на поле CustNo. Таблицы ORDERS и ITEMS также связаны отношении один-ко-многим, только через поле OrderNo.

          Более конкретно, каждый заказ который существует в таблице ORDERS будет иметь несколько записей в таблице ITEMS, связанных с этим заказом. Записи из таблицы ITEMS определяют тип и количество изделий, связанных с этим заказом.

Пример.

Некто Иванов Ф.П.  1 мая 1995г. заказал следующее:

1) Гайка 4х-угольная  -  50 штук

2) Вентиль - 1 штука

А некто Сидорчук Ю.Г. 8 декабря 1994г. заказал:

1) М/схема КР580 ИК80  - 10 штук

2) Транзистор КТ315   - 15 штук

3) Моток провода - 1 штука

В ситуации подобной этой, иногда проще всего "соединить" данные из таблиц ORDERS и ITEMS так, чтобы результирующий DataSet содержал информацию из обеих таблиц:

Иванов Ф.П.        1 мая 1995г         Гайка 4х-угольная        50 штук

Иванов Ф.П.        1 мая 1995г                  Вентиль                         1 штука

Сидорчук Ю.Г.  8 декабря 1994г  М/схема КР580 ИК80  10 штук

Сидорчук Ю.Г.  8 декабря 1994г Транзистор КТ315       15 штук     

Сидорчук Ю.Г.  8 декабря 1994г  Моток провода             1 штука

          Слияние этих двух таблиц называется "соединение" и это одно из фундаментальных действий, которые Вы можете выполнить на наборе двух или больше таблиц.

          Взяв таблицы ORDERS и ITEMS из подкаталога DEMOS\DATA, их можно соединить их таким путем, что поля CustNo, OrderNo и SaleDate из таблицы ORDERS будут “слиты” с полями PartNo и Qty из таблицы ITEMS и сформируют новый DataSet, содержащий все пять полей. Grid содержащий результирующий DataSet показан на рис.5

Рис.5: Соединение таблиц ORDERS и ITEMS может быть сделано так, что формируется новый DataSet содержащий поля из каждой таблицы.

          Имеется существенное различие между связанными курсорами и соединенными таблицами. Однако они имеют две общие черты:




Содержание  Назад  Вперед