Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция-связьБД.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.89 Mб
Скачать

Примеры запросов со связанными таблицами

Приведем несколько примеров.

Запрос из выборку из локальных таблиц и связанных таблиц SQL-сервера. На рис. 8.24 и 8.25 показан запрос, использующий данные о по­купателях и договорах, которые хранятся в общей базе данных на сервере в таблицах dbo_ПОКУПАТЕЛЬ и dbо_ДОГОВОР, а также данные о на­кладных склада, сохраняемых в локальной базе данных Access в таблице НАКЛАДНАЯ.

В результате выполнения запроса была подсчитана суммарная стоимость отгруженного товара по каждому из договоров покупателя. С помощью команды Итоги, расположенной на вкладке Главная (Ноте) в группе Записи (Records), получена общая стоимость отгруженного покупателю товара.

Добавление записей из локальной таблицы в связанную таблицу ба­зы данных SQL-сервера. Пусть сведения об отгрузке товаров со склада хранятся в локальной базе данных склада в таблицах НАКЛАДНАЯ и ОТГРУЗКА. В общей базе данных на SQL-сервере также имеются таблицы НАКЛАДНАЯ и ОТГРУЗКА, в которых собираются сведения со всех складов.

Рис 8.24

Рис. 8.25. Результат выполнения запроса для покупателя "Компьютер маркет"

Для решения этой задачи установим из локальной базы данных связь с таблицами базы данных сервера. В результате установления связи табли­цы сервера будут представлены в области переходов базы данных Access (см. рис. 8.20) под именами dbo_НАКЛАДНАЯ и dbo_ОТГРУЗКА. Для добавления записей из каждой локальной таблицы в соответствующую связанную таблицу базы данных SQL-сервера создадим отдельный запрос на добавление записей. Напомним, что запрос на добавление создается в режиме конструктора как запрос на выборку, который формирует необходимые для добавления записи. Далее запрос на выборку преобразуется в запрос на добавление (рис. 8.26) выполнением соответствующей команды на вкладке ленты Конструктор (Design) в группе Тип запроса (Query Туре). При этом в диалоговом окне (рис. 8.27) выбирается таблица, в которую нужно добавить записи. В запросе на добавление для создания записей использована локальная таблица склада НАКЛАДНАЯ, a в качестве обновляемой выбрана связанная таблица dbо_НАКЛАДНАЯ В результате выполнения запроса таблица на сервере будет дополнен; записями из локальной таблицы.

Рис. 8.26

Рис. 8.27.

Аналогичным запросом выполняется добавление записей в подчиненную таблицу dbo_ОТГРУЗКА из таблицы базы данных склада ОТГРУЗКА.

Импорт объектов из базы данных sql-сервера в Access

Запросы на языке SQL к серверу и работа со связанными таблицами сервера возможна только при установленной связи с сервером. При импорте объекты сервера копируются в базу данных Access и сохраняются в ней как собствен­ные, Связь с сервером необходима только на время выполнения операции импорта. При использовании импортированных объектов связь с сервером не нужна.

Для импорта данных из базы данных сервера используется команда База данных ODBC (ODBC Database), размещенная на вкладке ленты Внешние данные (External Data) в группе Импорт (Import) в списке кнопки Дополни­тельно (More).

В окне Внешние данные - База данных ODBC (Get External Data- ODBC Database) (см. рис. 8.16) выбирается переключатель Импорти­ровать данные источника в новую таблицу в текущей базе данных (Im­port the source data into a new table in the current database). Далее выбирается источник данных, определяющий сервер и базу данных, из которой должны импортироваться объекты, если необходимо, производится регистрация на сервере и в окне Импорт объектов (Import Objects) выбирается любое коли­чество нужных объектов. После завершения процедуры полученные объекты отображаются в базе данных Access.