Скачать 206.33 Kb.
|
Международный Соломонов университет ДОКЛАД 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 выполняются на наборе данных, состоящем из одной строки. Сложные приложения часто требуют подобной детализации при обработке. Кроме того, эта детализация имеет несколько положительных моментов:
Понятие курсора клиента Перед тем как был создан SQL Server 6.0, разработчики Microsoft пришли к выводу, что клиентам необходимо предоставить возможность обрабатывать данные и передвижение вперед и назад по результирующему набору. Пользователи нуждались в этих функциях для поддержки комплексных приложений, которые использовались при просмотре информации, выбранной из базы данных. Корпорация Microsoft не могла включить в SQL Server более ранних версий курсоры сервера, которые поддерживают некоторые другие производители, поэтому было принято решение смоделировать некоторые из функций курсора в интерфейсе программирования клиентских приложений для базы данных SQL Server – DBLibrary. Корпорация Microsoft унаследовала интерфейс клиента DBLibrary, позволяющий взаимодействие с базой данных SQL Server, от Sybase. DBLibrary – это набор команд и функций, которыми можно пользоваться в среде языка программирования С для выполнения операций с базой данных. В SQL Server 6.0 и в последующих версиях разработчики Microsoft изменили интерфейс DBLibrary к базе данных на интерфейс ODBC. Для получения подобной функциональности разработчики Microsoft добавили курсоры к наборам данных на стороне клиента. Эти курсоры работают с помощью DВLibrary позволяющей обычное взаимодействие с базами данных: считывание информации из потока данных таблицы (Tabular Data Stream, TDS) выполняется настолько быстро, насколько требует клиент. TDS – это метод связи применяемый DBLibrary для выборки информации из базы данных. Обычно DBLibrary передает всю информацию, которая была выбрана из базы данных , приложению клиента, которое, в свою очередь, выполняет дополнительную работу. С помощью курсоров DBLibrary кэширует эти записи сама, до того, как клиент не отменит просмотр данных с помощью курсора. Подобное кэширование имеет несколько ограничений:
До момента, пока корпорация Microsoft не разработала курсоры сервера, это средство SQL Server оставалось чисто декларативным и не было предназначено для серьезного применения. Курсоры сервера обладают всеми преимуществами курсоров клиентов, но лишены характерных для них накладных расходов и ограничений. Помимо соображений обратной совместимости, других веских причин применения курсоров клиентов в приложениях SQL Server 6.5 не существует. Применение курсоров сервера включает в себя пять состояний, описанных ниже:
Для работы с курсорами SQL Server необходимо следовать состояниям, описанным выше. Сначала необходимо объявить (declare) курсор. Затем вы можете его открыть (open) и считать данные (fetch). При считывании данных (состояние fetch) можно выполнить с активной строкой несколько операций. Завершив работу с курсором, вы должны закрыть (close) его и освободить память (deallocate). Это делается для того, чтобы SQL Server не расходовал ресурсы на управление ненужным курсором. Практическое тестирование На первый взгляд курсоры кажутся мощным средством программирования приложений. Конечно, они предоставляют приложениям развитую функциональность, предназначенную для просмотра данных. при этом устраняется необходимость в программировании подобных функций на стороне клиента. Применение функций курсоров сильно сокращает время разработки приложений, но при этом сильно падает производительность системы. хотя реально производимый эффект в значительной степени зависит от конкретной реализации, включай и аппаратуру, на которой работает сервер, курсоры могут очень сильно уменьшить скорость работы приложения. Доступ к базам данных SQL Server с помощью приложений клиента В SQL Server 6 корпорация Microsoft начала поставку нового интерфейса с клиентом, работающего с помощью ODBC. Вместо использования старого разработанного Sybase подхода, предполагающего применение DBLibrary, теперь появился новый путь доступа – через ODBC. Так как корпорация Microsoft является владельцем спецификации ODBC, для нее не составило большого труда переработать и оптимизировать продукт для доступа в SQL Server. Новый интерфейс полностью лишен проблем, связанных с падением производительности, всегда ассоциировавшейся с ODBC. Корпорация Microsoft все еще поддерживает интерфейс DBLibrary, но только для обратной совместимости. Но в настоящее время интерфейс ODBC становится стандартом для доступа к базам данных. Конфигурирование ODBC для SQL Server Интерфейс ODBC – это способ соединения различных сервисов данных с различными приложениями клиентов универсальным образом. С момента его появления на рынке в 1991 году, ODBC подвергся значительным изменениям. Конфигурирование интерфейса ODBC выполняется с помощью апплета в Control Panel: ODBC или ODBC32. Процесс установки конфигурации ODBC для Windows NT Workstation или Server версии 4.х (или выше) и для Windows 95 идентичен. В Windows NT Workstation или Server версии 3.51 (или меньше) информация диалогового окна остается той же самой, хотя могут быть отличия в выделении значений м расположении опций close/minimize/restore. Для конфигурирования ODBC при работе с Microsoft SQL Server 6.5 выполните следующие действия:
Использование продукта Delphi 2 производства компании Borland Продукт Delphi 2 производства компании Borland – это мощный инструмент разработки приложений клиента в архитектуре клиент/сервер, который помогает облегчить работу с источниками данных ODBC. Продукт Delphi 2 основан на Pascal и является самой последней версией, которая была выпущена в 1996 году (на данный момент существует версия 3 этого продукта). Программная система Delphi 2 является средой разработки, поддерживающей 32-разрядную архитектуру. Его высоко ценят за легкость в работе и интеграции. Установление соединения Продукт Delphi 2 имеет собственные драйверы для SQL Server 6.5,работающие с Microsoft ODBC. Самый простой способ подготовки Delphi 2 для работы с базой данных состоит в применении апплета Database Explorer, поставляемого вместе с Delphi 2. Для подготовки интерфейса ODBC с помощью Database Explorer активизируйте Delphi и выберите Database, Explorer. Из меню Object выберите New. Выберите конфигурацию SQL Server. Выберите мышью редактируемую часть свойства DATABASE NAME в правой панели и введите имя рабочей базы данных. В свойстве USER NAME введите имя пользователя, который будет присоединятся к этой базе данных по умолчанию. Кроме того, для списка свойств диалогового окна обновите установки драйвера ODBC. Из меню Object выберите Apply. Активизируется рабочая база данных. Вы заметите, что стрелка, указывающая неактивную рабочую базу данных, исчезнет. Проверьте, что все установлено правильно. Затем выберите мышью знак плюс, находящийся слева от имени псевдонима базы данных. Откроется вид Explorer. Здесь будет отображено окно Database Login. Введите пароль системного администратора. Раскроется дерево Explorer. Оно содержит различные компоненты SQL Server, доступные для манипуляции с помощью SQL Server. Понятие о модели базы данных Delphi 2 Для построения интерфейса с базами данных Delphi 2 применяет уровневый подход. Он предполагает наличие нескольких уровней абстракции от базы данных, что позволяет сформировать общий интерфейс для прикладного программирования, состоящий из общедоступных и знакомых объектов. Продукт Delphi 2 содержит определенное число классов, применяемое для работы с данными. Эти классы отвечают за выполнение запросов, осуществляющих необходимое манипулирование информацией. Классы, которые могут быть применены для этих целей варьируются от TTable, представляющего таблицу, до TQuery, активизирующей индивидуальный запрос, связанный с элементами управления, составляющими интерфейс пользователя. Классы интерфейса с данными обычно в форме не видны. Физический источник данных обычно связывается с определенным классом, который отвечает за взаимодействие с объектами/элементами управления интерфейса пользователя, такими как поля и списки. Это взаимодействие осуществляется через не визуальный класс TDataSource, который передает данные из класса физических данных в визуальные объекты и элементы управления, связанные с данными (data-bound controls), которые помещены в форму редактирования. Манипулирование данными с помощью классов TQuery или TTable состоит в выборке записей, их обновления и так далее. Подобные операции могут быть выполнены с помощью методов, которые имеют данные классы или путем добавления в форму редактирования элемента управления типа Navigation. TDBNavigator – это класс, который взаимодействует с TDataSource и содержит стандартные кнопки манипуляции данными в форме: Next, Previous, Insert и Update. Поместив один из этих элементов управления в форму редактирования и связав его (на этапе разработки, установив его свойство или на этапе выполнения, переустановив свойство на требуемый в форме источник данных), вы получите все необходимые компоненты для построения окна редактирования структуры данных. Эта структура может быть либо запросом. либо таблицей базы данных. Наконец. в Delphi 2 существует необходимость в формировании элементов управления, предназначенных для просмотра или редактирования данных. Delphi 2 содержит все стандартные элементы управления для редактирования, включая списки и окна со списком, которые могут быть связаны с определенным TDataSource. Необходимо только поместить элемент управления в форму и установить свойства DataSource и DataField. Использование Microsoft Visual Basic 4 и 5 версий Visual Basic 5(VB5) – это самая последняя версия стандарта BASIC корпорации Microsoft. С появлением VB5 началось широкомасштабное включение VB в другие среды разработки приложений, такие как PowerPoint, Excel и Word. Кроме того, VB5 обеспечивает связи приложений и программных инструментов с Internet. Как инструмент VB5 имеет большой набор функций и огромное количество установок. Кроме того, этот продукт включает несколько мастеров по генерации форм, позволяющих создавать некоторые общие формы, применяемые в качестве базы разработки. VB5 также поддерживает работу с объектными библиотеками, предназначенными для доступа в SQL Server. Это очень важные возможности, обеспечивающие мощную базу для разработки приложений клиент/сервер. Понятие о модели базы данных Visual Basic Visual Basic и Delphi 2 имеют похожие методы доступа к данным. Доступ контролируется объектом данных, находящимся в форме. В отличие от Delphi, VB не применяет истинно не визуальных классов объектов или контейнерных классов. Вместо этого имеется средство, позволяющее изменить видимое свойство и скрыть его в случае необходимости. В VB с базами данных можно работать несколькими различными путями. Во-первых, если необходимо получить набор полей. связанных с базой данных и соединение, с помощью которого выполняется автоматическое обновление этих полей, можно применить элемент управления, связанный с данными. Подобный элемент управления позволит указать свойства соединения и затем связать элементы управления формы с этим элементом управления и ассоциированными с ним столбцами. Другие альтернативы работы с базой данных в VB включают использование объектов и их ассоциированных свойств, коллекций и так далее. Переход от приложений Microsoft Office 97 к SQL Server Набор программ Microsoft Office 97 предоставляет средства разработки приложений, основанных на входящих в него инструментах. Теперь в Office 97 можно работать с Visual Basic в любом из программных продуктов набора – от Word до Excel и Access. В каждой из этих сред с помощью VB вы имеете возможность разрабатывать полноценные приложения. Дальше речь пойдет о взаимодействии с SQL Server, а не управлении самим сервером. Доступ к SQL Server может быть в большей степени стандартизован с помощью объектов доступа к данным (Data Access Object). При работе с Access следует принимать во внимание специальные соображения. Короче говоря, возможность работы с данными в SQL Server всегда будет хорошим дополнением к вашему приложению. Кроме того, применяя для работы с информацией технологию клиент/сервер, можно увеличить мощность обработки данных, предоставив вашему приложению доступ к SQL Server. Переход от Access к SQL Server Инструмент перехода поможет перенести схему базы данных в SQL Server, переместив таблицы и отношения в объекты, основанные на SQL Server. Утилиты перенесут таблицы на сервер, осмотрев их и создав необходимые индексы и другие объекты, поддерживаемые в системе. Кроме того, могут быть созданы триггеры для сохранения правил целостности отношений, которые применяются в Access. В результате в Access образуется система, содержащая связанные таблицы, которые ссылаются на таблицы в SQL Server. Мастер не создает хранимых процедур, осуществляющих те же операции, которые выполнялись при манипулировании данными в коде Access Basic. В этом случае необходимо ознакомиться с дополнительной информацией, касающейся хранимых процедур и сравнить те средства, которыми они обладают с операциями. выполняемыми в коде Basic, где это возможно, старайтесь перенести инструкции манипуляции данными в хранимые процедуры. Использование Microsoft Access c SQL Server Продукт Microsoft Access дает возможность применять при разработке большое количество доступных для тестирования и реализации средств SQL Server. Так как Access обладает более слабым ядром и не является системой клиент/сервер, его применение в качестве системы сервера в больших проектах весьма ограничено. Но Access все же представляет собой мощную среду разработки при работе с базой данных. Access содержит хороший интерфейс пользователя. с помощью которого можно разрабатывать таблицы и устанавливать отношения между ними. Существуют различия в том, как Access работает с базами данных, включая и аспекты физического хранения данных. При некоторых вопросов может отличаться терминология. Ниже приведены некоторые примеры подобных отличий:
Существуют и другие различия, но приведенные выше являются основными. Их знание помогут при использовании SQL Server и Access. Если приложение работает в Access, оно представлено шестью различными элементами. Для того, чтобы получить понятие о различных компонентах Access и принять решение об их переносе в систему SQL Server, рассмотрим следующую таблицу:
Создание приложений клиент/сервер с помощью Microsoft Access Microsoft Access не является системой клиент/сервер. Его приложения не содержат ярко выраженных компонентов клиента и сервера. Однако Access может быть использован в качестве инструмента разработки, предоставляя средство формирования интерфейса пользователя. Этот инструмент содержит такие мощные средства, как генератор отчетов, построитель запросов и так далее. Подобные инструменты очень полезны при разработке систем. При создании приложения рассмотрите возможность первоначальной разработки его с помощью Access для базы данных, которую можно тестировать, разрушать и восстанавливать. Применяя подобный подход, Access может быть использован там, где он лучше всего подходит, оставляя управление базой данных для SQL Server. Таблицы базы данных Access могут быть конвертированы и перенесены на SQL Server. Таблицы, запросы и виды – это объекты, которыми лучше всего управляет SQL Server. После создания доступных в Access объектов, они могут быть легко конвертированы в SQL Server. Access становится инструментом разработки, предоставляющим средство формирования интерфейса пользователя и позволяющим работать с базами данных SQL Server. Создание транзитных запросов Запросы, созданные в Access и затем выполняемые на SQL Server, сначала проходят уровень соединения ODBC, а затем передаются SQL Server в виде временных хранимых процедур. Результаты выполнения возвращаются приложению и с ними уже можно работать. Что случится, если вы захотите получить больше средств контроля над выходными данными? Что, если вы захотите вызывать хранимые процедуры и непосредственно работать с результатами? Подобные операции выполняются с помощью транзитных запросов (pass-through queries). Применяя Access, можно создать транзитные запросы, которые минуют трансляцию и прямо передаются в SQL Server. Для того, чтобы установить запрос как транзитный, сначала выделите его и выберите мышью Design. Затем из появившихся меню выберите Query, SQL Specific и наконец Pass-through. После этого появится окно, содержащее инструкцию SQL. Транзитные запросы позволяют вызывать хранимые процедуры, обращаться к видам и применять другие средства SQL Server, которые могут быть недоступны при выполнении обычного запроса Access. Для выполнения хранимой процедуры, например, можно просто использовать команду EXECUTE. Например, для вызова хранимой процедуры AccessProc из транзитного запроса, можно использовать следующую инструкцию: exec accessproc В результате хранимая процедура будет выполнена и результаты будут возвращены из запроса. Такой тип логики очень легко включается в приложение с помощью создания необходимых запросов или с помощью формирования запросов посредством Access Basic Практическое тестирование СУБД Access – это мощный инструмент. Он предоставляет возможность разработчикам корпоративных систем создавать надежные приложения баз данных, которые могут быть легко установлены в рабочую среду. Подобные приложения могут включать систему безопасности, иметь высокую производительность и дружественный пользователю интерфейс. С помощью Access процесс знакомства пользователя с приложением становится естественным и не вызывает затруднений. После выполнения переноса баз данных Access в SQL Server, хорошее приложение становится еще лучше. Увеличивается производительность, улучшается система безопасности и доступность информации вашего приложения в масштабе корпорации. В практических разработках использование Access в качестве инструмента разработки и тестирования дает хорошие результаты. Ниже приведен ряд соображений, которые нельзя игнорировать при тестировании систем баз данных, работающих с помощью Access:
После завершения конвертирования приложения необходимо пересмотреть ряд его элементов, касающихся стиля разработки. Лучше всего составить список этих элементов и проверять их в каждом случае перехода на SQL Server. |
Доклад о результатах Этот доклад был подготовлен в Севилье 16 апреля 2015* |
Доклад по силовым кабелям с изоляцией из сшитого полиэтилена на напряжение... ... |
||
Государственный доклад Государственный доклад «О состоянии санитарно-эпидемиологического благополучия населения в городе Покачи в 2013 году» |
Управление Россельхознадзора по Приморскому краю и Сахалинской области Доклад (руководство) Доклад (руководство) по соблюдению обязательных требований («как делать нужно (можно)») |
||
Доклад Муниципального казенного дошкольного образовательного учреждения... Данный публичный доклад – средство обеспечения информационной открытости и прозрачности работы |
Доклад подготовлен мбоу «Воронинская сош» Открытый информационно-аналитический доклад о результатах и состоянии системы образования в 2015-2016 учебном году – Воронино 2016... |
||
Доклад по правоприменительной практике Федеральной службы по надзору... Доклад по правоприменительной практике Федеральной службы по надзору в сфере транспорта |
Руководство администратора ми аис «Сводный доклад» Модуль интеграции аис «Сводный доклад» и автоматизированной системы планирования деятельности министерства |
||
Доклад о мерах, принимаемых в Самарской области для выполнения обязательств... Меры по поощрению равенства и устранению дискриминации по признаку инвалидности 4 |
Публичный доклад Доклад призван информировать родителей (законных представителей обучающихся и воспитанников), самих воспитанников и обучающихся,... |
||
Публичный доклад «Средняя общеобразовательная школа №33» города Череповца Вологодской области в лице директора Закировой Марины Борисовны предлагает... |
Доклад о положении с правами человека в субъекте Российской Федерации... ... |
||
Публичный доклад (отчет) Публичный доклад адресован обучающимся, педагогам, родителям и представителям местного сообщества, и всем, заинтересованным в деятельности... |
Публичный доклад Доклад призван способствовать улучшению качества информирования всех заинтересованных в работе школы сторон. Знакомство с отчетом... |
||
Доклад "Власть семей" в правительстве РФ выложен в Сеть: его страшно читать В интернете появился экспертный доклад "Власть семей" о бизнесе семей членов российского правительства, который по словам авторов... |
Доклад муниципального общеобразовательного учреждения мбоу «сош №150 г. Челябинска» Публичный доклад подготовлен администрацией школы в целях обеспечения информационной открытости, прозрачности учреждения, широкой... |
Поиск |