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

Примеры запросов sql к серверу

Рассмотрим несколько примеров.

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

SELECT НАКЛАДНАЯ.*, ОТГРУЗКА.КОД_ТОВ, ОТГРУЗКА. К0Л_ОТГР

FROM НАКЛАДНАЯ INNER JOIN ОТГРУЗКА ON (НАКЛАДНАЯ.КОД_СК = ОТГРУЗКА.КОД_СК] AND (НАКЛАДНАЯ.НОМ_НАКЛ = ОТГРУЗКА.НОМ_НАКЛ)

WHERE ДАТА_ОТГР>='01.06.2007' ;

Запрос на обновление данных в таблице ПОКУПАТЕЛЬ. В записи с по­лем НАИМ_ПОК='Перспектива' наименование покупателя меняется на значение 'Компьютерный мир'.

UPDATE ПОКУПАТЕЛЬ

SET НАИМ_ПОК ='Компьютерный мир'

WHERE НАИМ_ПОК ='Перспектива';

Запрос на обновление данных в таблице ОТГРУЗКА. В записи с составным ключом НОМ_НАК='Н00Г, КОД_СК='С0Г и КОД_ТОВ= Т005' полю КОЛ_ОТГР присваивается значение 500.

UPDATE ОТГРУЗКА

SЕT КОЛ_ОТГР =500

WHERE НОМ_НАКЛ='Н001' AND КОД_СК='С01' AND КОД_ТОВ= 'Т005 ' ;

Запрос на добавление записи в таблицу ТОВАР. Добавляется запись со значениями полей, указанными в третьей строке запроса.

INSERT INTO ТОВАР (КОД_ТОВ,НАИМ_ТОВ,ЦЕНА,ЕИ,СТАВКА__НДС] VALUES ('T017','Микрокомпьютер',200,'штука' ,0.1);

Запрос на создание новой таблицы ТаЫе2 в базе данных сервера, в кото­ром определяются поля Name_Pl и Name__P2.

CREATE TABLE Table2 ([Name_Pl] [char0] (3), [Name__Р2] [char] (2));

Если запрос не принадлежит к типу запросов, в которых возвращаются запи­си, для свойства Возврат записей (ReturnsRecords) нужно выбрать значение Нет. В противном случае после выполнения запроса выводится сообщение (рис. 8.15).

Рис. 8.15. Сообщение при выполнении запроса на добавление записи

Для запуска запроса со значением Нет в свойстве Возврат записей (Returns-Records) используется только кнопка Выполнить (Run). Для запроса к сер­веру, возвращающего записи, можно также нажать кнопку Режим (View).

Связь с таблицами баз данных sql Server

Другим способом использования в приложениях Access данных из баз дан­ных SQL Server через ODBC является связь с таблицами. Связанные таблицы, оставаясь на сервере в формате источника, отображаются в окне базы данных Access. Эти таблицы могут быть использованы наряду с локальными таблицами базы данных Access при создании запросов, форм, отчетов привычными диалоговыми средствами Access. Связанные таблицы можно просмотреть и в режиме конструктора, однако никакие изменения структуры таблиц невоз­можны.

Создание связи с таблицами сервера

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

Рис. 8.16. Окно выбора способа использования данных источника

При выполнении этой команды открывается окно Внешние данные - База данных ODBC (Get External Data- ODBC Database) (рис. 8.16), в котором для создания связи с таблицами из внешних баз данных нужно выбрать переключатель Создать снизанную таблицу для связи с ис­точником данных (Link to the data source by creating a linked table).

Затем в окне (см. рис. 8.12) выбирается источник данных ODBC, обеспечи­вающий подключение к нужному серверу и базе данных. Получив доступ к базе данных сервера, в окне Связь с таблицами (рис. 8.17) выбираются таб­лицы, которые будут использоваться в работе как связанные.

Рис.8.17

Рис. 8.18. Окно процесса установки связи

Процесс установления связи с таблицами сервера отображается в окне, пред­ставленном на рис. 8.18.

Рис. 8.19. Выбор ключа для связываемой таблицы

Если таблица базы данных сервера не имеет ключа, выводится окно выбора однозначного индекса (рис. 8.19). Выберите поля таблицы для создания ключа связанной таблицы. Этот ключ используется при работе со связан­ной таблицей на компьютере клиента и не создается в таблице, сохраняе­мой на сервере.

Внимание!

Если таблица, с которой устанавливается связь, не имеет ключа и при свя­зывании не выполнен выбор однозначного индекса, через связанную таб­лицу невозможно обновление данных в таблице, добавление записей и не обеспечивается проверка целостности данных.

После выбора таблиц и выполнения процедуры связывания, выбранные таб­лицы сервера будут отображены в списке таблиц области переходов, рис. 8.20. Для обозначения связанных таблиц, хранящихся на сервере, ис­пользуется специальный значок. Если удалить связанную таблицу, удаляется связь с таблицей, но не сама внешняя таблица на SQL-сервере.

При создании запросов, форм, отчетов связанные таблицы могут использо­ваться наряду с таблицами локальной базы данных. В окне добавления таб­лиц в запрос связанные таблицы отображаются наряду с локальными таб­лицами.

Связанные таблицы могут, также как локальные, отображаться в режиме таб­лицы и в режиме конструктора. Однако нельзя модифицировать структуру связанной таблицы.

Рис. 8.20. Список таблиц локальной базы данных и связанных таблиц SQL-сервера

Включение связанных таблиц в схему БД и установление между ними связи выполняется так же, как для локальных таблиц (рис. 8.21).

Рис. 8.21. Установление связи между связанными таблицами сервера

Как видно на рисунке, для связанных таблиц не могут быть установлены пара­метры обеспечения целостности, эти параметры устанавливаются на сервере.

Для разрыва связи с таблицей на сервере достаточно удалить ее, как удаляют любую другую таблицу локальной базы данных: выделите таблицу в области переходов и воспользуйтесь командой ее контекстного меню Удалить (De­lete). При этом таблица на сервере удалена не будет. Сообщение о разрыве связи приведено на рис. 8.22.

Рис. 8.22. Сообщение о разрыве связи с таблицей сервера

Вся информация о связях с таблицами сервера сохраняется в базе данных и после ее закрытия. При открытии базы данных в следующий раз в ней ото­бражаются связанные таблицы. Повторно проводить процедуру включения связанных таблиц не требуется. Очевидно, что работу со связанными табли­цами можно выполнять только, если сервер доступен. Сведения об источни­ках данных для связанной таблицы сохраняются в общих свойствах таблицы в строке Описание (Description). Свойства можно просмотреть в режиме конструктора таблицы. Например, свойство связанной таблицы dbo.ОТГРУЗКА может иметь следующее значение:

0DBC; DSN=Поставка;Descriptiоm=База данных SQL Server; APP=2007 Microsoft Office system; DATABASE=ПоставкаТоваров; Trusted__Connection=Yes;

TABLE=dbo.ОТГРУЗКА

Все связанные таблицы и параметры их источников данных можно увидеть в окне Диспетчер связанных таблиц (Linked Tables Manager), которое откры­вается по одноименной команде, представленной в контекстном меню свя­занной таблицы. В этом окне можно обновить связь, если изменилось место­положение или другие параметры источника данных.

На рис. 8.23 представлено окно диспетчера связанных таблиц, в котором ото­бражены связанные таблицы текущей базы данных. Эти таблицы являются связанными таблицами SQL-сервера и для каждой ИЗ них указаны параметры связи с источником данных через ODBC.

Если изменилось местоположение или другие параметры источника данных, связь можно обновить. Для обновления связи нужно установить флажок в строке таблицы, связь с которой должна быть обновлена. При этом строка выделяется и делается доступной кнопка ОК, по которой инициируется про­цесс обновления.

Рис. 8.23. Список связанных таблиц текущей базы данных