Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Распределенные запросы




Распределенные запросы используются для доступа к данным из нескольких гетерогенных источников данных. Эти источники данных могут храниться на одном или различных компьютерах. Microsoft SQL Server 2005 поддерживает распределенные запросы с использованием OLE DB.

Пользователи SQL Server могут применять распределенные запросы для доступа к следующим данным:

· Распределенные данные, хранящиеся в нескольких экземплярах SQL Server.

· Гетерогенные данные, хранящиеся в различных реляционных и нереляционных источниках данных, доступ к которым осуществляется с использованием поставщика OLE DB.

Поставщики OLE DB представляют данные в табличных объектах, именуемых «наборами строк». SQL Server позволяет ссылаться в инструкциях Transact-SQL на наборы строк из поставщиков OLE DB так, как если бы эти наборы строк являлись таблицами SQL Server.

На таблицы и представления внешних источников данных можно ссылаться непосредственно в инструкциях Transact-SQL SELECT, INSERT, UPDATE и DELETE. Поскольку в распределенных запросах в качестве базового интерфейса используется OLE DB, распределенные запросы могут обращаться к традиционным реляционным СУБД, которые располагают обработчиками SQL-запросов, а также могут обращаться к данным, управляемым источниками данных различной функциональности и сложности. Если программы представляют принадлежащие им данные в табличных наборах строк через поставщика OLE DB, эти данные могут быть использованы в распределенных запросах.

На рисунке показаны соединения между клиентским компьютером, экземпляром SQL Server и поставщиком OLE DB.

 

 


[1] Практика применения; для завершения инструкции стандартна и в некоторых СУБД является обязательным требованием. В SQL Server лишь некоторых случаях требуется применение;, но ее можно применять. Это делать рекомендуется (улучшается читаемость и соответствующее сообщение об ошибке не всегда понятно).

[2] В стандарте SQL1 при объединении отношений использовались только условия, задаваемые в части WHERE оператора SELECT, и в этом случае в результирующее отношение попадали только сцепленные по заданным условиям кортежи исходных отношений, для которых эти условия были определены и истинны.

Однако в действительности часто необходимо объединять таблицы таким образом, чтобы в результат попали все строки из первой таблицы, а вместо тех строк второй таблицы, для которых не выполнено условие соединения, в результат попадали бы неопределенные значения. Или наоборот, включаются все строки из правой (второй) таблицы, а отсутствующие части строк из первой таблицы дополняются неопределенными значениями. Стандарт SQL2 расширил понятие условного объединения.

Такие объединения были названы внешними в противоположность объединениям, определенным стандартом SQL1, которые стали называться внутренними.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...