Часть полного текста документа:Международный Соломонов университет ДОКЛАД SQL Server. Разработка приложений и программные решения. студента V курса факультета компьютерных наук Лоншакова Андрея 1998 В рамках темы доклада будут рассмотрены следующие вопросы: 1. Создание курсоров и их использование. 2. Доступ к базам данных SQL Server с помощью приложений клиента. 3. Переход от приложений Microsoft Office 97 к SQL Server. Создание курсоров и их использование Возможно наилучшее средство, добавленное корпорацией Microsoft в SQL Server 6.0, - это поддержка курсоров сервера. С помощью курсора можно обрабатывать отдельные строки в наборе, что не происходит при обычном применении команд SQL, которые работают для всех строк в наборе одновременно. Разработчики Microsoft добавили полную реализацию курсоров сервера, которыми управляет база данных. Доступ к курсорам легко представляется с помощью инструментов разработки клиентских приложений и платформ, таких как SQLWindows или PowerBuilder. В предыдущих версиях SQL Server тоже можно было применять курсоры, но они поддерживались уровнем DBLibrary (сетевой библиотеки), а не сервером. По этой причине в документации Microsoft новые курсоры называются курсорами сервера (back-end cursors). Курсор позволяет выполнять обработку результирующего набора внутри сервера без вмешательства клиентской программы для управления рабочим набором данных. Например, до появления SQL Server 6.0 было очень сложно написать высокопроизводительное приложение, выполняющее множество действий с набором данных, поскольку передача данных в клиентское приложение производилась по одной строке. Приложение клиента несло ответственность за инициирование дальнейшей обработки каждой строки. Курсор предоставляет возможность более усовершенствованного использования хранимых процедур Transact- SQL. Описанный выше алгоритм обработки строк реализуется без возвращения к клиенту. Курсоры могут сильно замедлить производительность приложения. По своей природе они выполняются значительно медленнее, чем стандартные операции, основанные на наборе данных. Перед тем как приступить к разработке курсоров необходимо убедится, что не могут быть применены никакие другие операции с набором данных. Следует учесть не только легкость использования курсоров, но также и возможности уменьшения производительности вследствие их применения. Отличие между курсорами сервера и клиента В SQL Server доступны два типа курсоров: курсоры клиента (front-end or client cursors) и курсоры сервера (back-end or server cursors).Существующее между ними отличие имеет важное значение. При написании приложения очень часто появляется необходимость выполнить определенную операцию на наборе данных. Для этого обычно применяется инструкция Update при изменении данных или инструкция Delete при удалении данных. Эти операции с наборами данных обычно обеспечивают высокую гибкость в приложениях, где предложение where может соответствующим образом определить требуемую задачу. Предположим, что в базе данных Pubs вы хотите изменить почтовый индекс на 94024 для всех авторов, которые живут в Menlo Park. Для этого можно применить простую инструкцию Update, показанную ниже: Update AUTORS Set ZIP = '94024' Where City = 'Menlo Park' Go C другой стороны, что если необходимо выполнить различные виды операций па наборе данных? Возможны два решения: можно выполнить множество операций на эксклюзивных наборах или можно получить полный набор данных и на основании величин в этом наборе выполнить требуемые операции. ............ |