|
|
|
|
|
|
|
|
страницы:
1
2
3
4
5
6
Текущая страница: 1
|
|
Международный Соломонов университет ДОКЛАД 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 другой стороны, что если необходимо выполнить различные виды операций па наборе данных? Возможны два решения: можно выполнить множество операций на эксклюзивных наборах или можно получить полный набор данных и на основании величин в этом наборе выполнить требуемые операции. Второе решение является концепцией, лежащей в основе обработки с помощью курсора. Обновлений и удалений наборов данных на сервере может быть недостаточно, так как обновления могут производиться в одной и той же строке несколько раз. В качестве альтернативы в базе данных может быть создан вид, называемый курсором. Наибольшее преимущество обработки с помощью курсора состоит в возможности выполнить условные операции на определенной строке данных в наборе, независимо от других строк этого набора. Команды SQL выполняются на наборе данных, состоящем из одной строки. Сложные приложения часто требуют подобной детализации при обработке. Кроме того, эта детализация имеет несколько положительных моментов: Производительность. Операции, основанные на наборах данных тяготеют к применению больших серверных ресурсов, чем операции курсора. Лучший контроль транзакций. При обработке набора данных можно контролировать, что происходит с любой данной строкой независимо от других. Специальный синтаксис. Курсоры позволяют позиционированное обновление и удаление, которые применяются к строкам, выбранным в данный момент. Такие курсоры напрямую находят строки таблицы, поэтому исчезает необходимость индексирования. Эффективность. При выполнении нескольких операций на большом наборе данных, таком как вызов множества хранимых процедур, лучше, когда база данных обрабатывает данные и выполняет все действия с каждой строкой. Это более эффективно, чем выполнение каждой из задач последовательно по всему набору данных. Причины эффективности заключаются в кэшировании данных.
Текущая страница: 1
|
|
|
|
|
Предмет: Информатика
|
|
Тема: SQL Server и Разработка приложений и программные решения |
|
Ключевые слова: SQL Server и Разработка приложений и программные решения, комп-ры, программные, приложений, Server, Разработка, Программирование и комп-ры, Программирование, СУБД, решения, SQL |
|
|
|
|
|
|
|
|