Помощь в написании студенческих работ
Антистрессовый сервис

Прикладной программный интерфейс СУБД

РефератПомощь в написанииУзнать стоимостьмоей работы

Одна из характерных особенностей ADO.NET — это использование управляемых провайдеров (managed provider) для доступа к данным. Управляемый провайдер данных — это набор объектов ADO.NET, разработанных для соединения с определенным источником данных. Все провайдеры обеспечивают одинаковый набор базовых методов и свойств, скрывая в своей реализации всю работу с API доступа к источнику данных… Читать ещё >

Прикладной программный интерфейс СУБД (реферат, курсовая, диплом, контрольная)

Знакомство с основными объектами ado.net

Для обеспечения доступа к базам данных СУБД предоставляет разработчику набор стандартных процедур и функций (API — Application Programming Interface).

Для обеспечения быстрой разработки приложений, работающих с СУБД MS SQL Server, были созданы различные наборы компонентов, облегчающие взаимодействие с сервером:

  • § BDE — набор компонентов для доступа к большому числу СУБД; разработан фирмой Borland (на текущий момент более не поддерживается); этот способ доступа не является рекомендуемым, поскольку не обеспечивает полноценный доступ к возможностям сервера;
  • § ODBC (Open Database Connectivity) — широко распространенный программный интерфейс фирмы Microsoft. ODBC-драйвер для SQL Server, обеспечивает полнофункциональный доступ к серверу.
  • § OLE DB и ADO — часть универсального механизма доступа к данным Microsoft. ADO (ActiveX Data Objects) — надстройка над интерфейсом OLE DB, позволяющая обеспечить бизнес-приложениям высокоуровневый доступ к данным. В качестве драйверов баз данных ADO использует так называемые OLE DB-провайдеры (для MS SQL Server используется провайдер Microsoft OLE DB Provider for SQL Server), которые представляют собой COM-серверы, реализующие предопределенный набор COM-интерфейсов.
  • § ADO.NET — основная модель доступа к данным для приложений, основанных на Microsoft .NET. Представляет собой совершенно самостоятельную (по отношению к рассмотренному выше механизму ADO) технологию. Компоненты ADO.NET входят в поставку оболочки .NET Framework.

Общее описание объектной модели ADO.NET

ADO.NET (ActiveX Data Object.NET) — новая объектная модель, которая обеспечивает доступ к источникам данных в платформе .NET и использует стандарт XML для передачи данных.

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

Одна из характерных особенностей ADO.NET — это использование управляемых провайдеров (managed provider) для доступа к данным. Управляемый провайдер данных — это набор объектов ADO.NET, разработанных для соединения с определенным источником данных. Все провайдеры обеспечивают одинаковый набор базовых методов и свойств, скрывая в своей реализации всю работу с API доступа к источнику данных. Необходимо только знать, какой управляемый провайдер должен использоваться в конкретном случае. В Visual Studio 2008 (.NET Framework 2.0) доступны:

  • § SQL Server .NET Data Provider: предназначен для работы с базами данных Microsoft SQL Server 7.0 и более поздних версий; оптимизирован для доступа к SQL Server и взаимодействует с ним напрямую по «родному» протоколу передачи данных SQL Server;
  • § OLE DB .NET Data Provider: управляемый провайдер для источников данных OLE DB; немного уступает по эффективности SQL Server .NET Data Provider, так как взаимодействует с базой данных через уровень OLE DB; используется для доступа к базам данных Access, Oracle, Active Directory, каталогам LDAP и другим источникам, поддерживающим OLE DB;
  • § ODBC .NET Data Provider обеспечивает нативный доступ к ODBC-драйверам;
  • § Oracle .NET Data Provider предназначен для работы с базами данных СУБД Oracle.

Провайдеры реализуется при помощи объектов, определенных в пространстве имен:

  • § System.Data.SqlClient — содержит типы SQL Server .NET Data Provider;
  • § System.Data.OleDb — содержит типы OLE DB .NET Data Provider;
  • § System.Data.Odbc. — содержит типы ODBC .NET Data Provider;
  • § System.Data.OracleClient — содержит типы Oracle .NET Data Provider;
  • § System.Data. содержит типы, независимые от провайдеров, например, DataSet, DataTable, DataRelation, DataColumn, DataRow.

Рассмотрим основные классы объектов ADO.NET для работы с СУБД MS SQL Server.

DataSet — ключевой объект, который хранит данные в ADO.NET и представляет моментальный снимок части базы данных, размещенный в памяти. DataSet не имеет собственных средств для работы с источниками данных. Связующую роль между DataSet и источником данных выполняют управляемые провайдеры. Класс DataSet состоит из коллекции таблиц DataTable, которые можно связать между собой с помощью объектов класса DataRelation. Кроме того, для обеспечения целостности данных в классе DataSet можно использовать объекты UniqueConstraint и ForeignKeyConstraint.

DataRelation — класс, представляющий отношение «родительский — дочерний объект» между двумя объектами DataTable. Например, в отношении «Покупатель-Заказы» таблица «Покупатели» является родительской, а таблица «Заказы» — дочерней. Является аналогом отношения первичный ключ — внешний ключ.

DataTable — класс, представляющий одну таблицу с данными в памяти. Является центральным объектом библиотеки ADO.NET.

SqlDataAdapter — представляет набор выполняемых над данными команд и подключения базы данных, которые используется для заполнения DataSet и обновления базы данных SQL Server. Класс по сути служит мостом между DataSet и SQL Server для извлечения и сохранения данных; метод Fill изменяет данные в DataSet для соответствия их источнику данных, а метод Update изменяет данные в источнике данных для их соответствия DataSet с помощью выполняемых над источником данных инструкций Transact-SQL. Обновление выполняется построчно. SqlDataAdapter используется совместно c SqlConnection и SqlCommand для увеличения производительности при подключении к базе данных Microsoft SQL Server.

SqlDataReader — предоставляет возможность чтения потока строк только в прямом направлении из базы данных SQL Server. Используется, как правило, для хранения результатов выполнения SqlCommand.

SqlConnection — предоставляет открытое подключение к базе данных SQL Server и эквивалентен сетевому подключению к серверу.

SqlCommand — класс, представляющий инструкцию Transact-SQL или хранимую процедуру, выполняемую над базой данных SQL Server.

SqlCommandBuilder — связывается с объектом SqlDataAdapter и создает автоматически инструкции Transact-SQL, необходимые для согласования изменений, сделанных в DataSet со связанным экземпляром SQL Server.

Элементы управления для Windows Forms

BindingNavigator — элемент управления, который обеспечивает пользовательский интерфейс для перехода и управления элементами управления, привязанными к данным. BindingNavigator как правило используется совместно с компонентом BindingSource для создания стандартного средства поиска и изменения данных в форме Windows Form.

BindingSource — класс, инкапсулирующий источник данных для формы. Компонент используется для многих задач, выполняя различные функции связи между элементами управления Windows Forms и источниками данных. Это достигается путем присоединения компонента BindingSource к источнику данных с помощью свойства DataSource. Перемещение по источнику данных и его обновление выполняется посредством таких методов, как MoveNext, MoveLast и Remove. Такие операции, как сортировка и фильтрация, обрабатываются посредством свойств Sort и Filter.

DataGridView — элемент управления, предоставляющий настраиваемую таблицу для отображения данных. Класс DataGridView допускает настройку ячеек, строк, столбцов и границ. Можно воспользоваться элементом управления DataGridView для отображения данных вместе с источником базовых данных (свойство DataSource) или без него.

6.2 Разработка клиентского приложения

Клиентское приложение для работы с базой данных SQL Server должно включать компоненты визуального отображения данных на форме, компоненты связи с источником данных и соответствующий серверу управляемый провайдер. Поэтому на первоначальном этапе разработки приложения выполняется подключение соответствующих модулей.

Далее формируется строка подключения к соответствующей базе данных на сервере. Эта строка будет впоследствии использоваться в компонентах связи с источником для согласования данных в клиентской и серверной частях приложения. Текст строки формируется либо вручную, либо с использованием SQLConnectionBuilder.

Базовый формат строки подключения содержит последовательность пар «ключевое слово — значение», разделенных символами точки с запятой. Знак равенства связывает каждое ключевое слово с его значением. Для подключения к локальному компьютеру используется имя «(local)» либо символ «точка». Если имя сервера не задано, будет сделана попытка установить соединение с экземпляром по умолчанию на локальном компьютере.

После установления связи с источником формируется «снимок» используемой на клиенте части базы данных, инкапсулированный в DataSet и представляемый в виде коллекции объектов DataTable, связанных отношениями DataRelation. Как правило, данный этап реализуется следующей последовательностью шагов.

  • 1. Построение и заполнение каждого объекта DataTable класса DataSet данными из источника с помощью класса DataAdapter (рис. 7.3 и 7.4).
  • 2. Автоматическая генерация команд на вставку, удаление и модификацию записей каждого объекта SqlDataAdapter для согласования DataSet и источника данных посредством SqlCommandBuilder (рис. 7.5). Одновременно можно связать только один объект SqlDataAdapter или SqlCommandBuilder друг с другом. Для создания инструкций INSERT, UPDATE или DELETE объект SqlCommandBuilder использует свойство SelectCommand, чтобы автоматически получать нужный набор метаданных.
  • 3. Связывание таблиц DataSet отношениями DataRelation.
  • 4. Связывание элементов управления с данными.
Прикладной программный интерфейс СУБД. Прикладной программный интерфейс СУБД.

Согласование изменений, происходящих в DataSet в процессе работы программы, с исходной базой данных выполняется посредством вызова метода Update класса DataAdapter.

Следует заметить, что при работе с классами DataAdapter не требуется явны образом выполнять подключение к источнику данных. В случаях же, когда для обращения к базе данных используется класс SqlCommand (например, при вызове хранимых процедур или выполнении параметризованных запросов) подключение к источнику данных выполняется явным образом посредством вызова метода Open () класса SqlConnection. Чтобы гарантировать закрытие подключения, открывать его следует в блоке using.

Прикладной программный интерфейс СУБД.

Для хранения результатов выполнения SqlCommand используется объект класса SqlDataReader. Чтобы создать объект SqlDataReader вместо того, чтобы воспользоваться непосредственно конструктором, рекомендуется вызвать метод ExecuteReader объекта SqlCommand.

Прикладной программный интерфейс СУБД.

Созданный объект SqlCommand можно повторно использовать, выполнив сброс для свойства CommandText. Однако следует предварительно закрыть объект SqlDataReader, прежде чем выполнять новую команду.

Визуализация данных в приложении выполняется при помощи различных элементов управления, основными из которых являются таблица DataGridView и навигатор BindingNavigator (рис. 7.10). У таблицы можно настроить видимость и способ отображения столбцов (рис. 7.11), а у навигатора — доступные пользователю кнопки (рис. 7.12). Оба эти элемента управления связываются с источником данных через компонент-посредник BindingSource, инкапсулирующий источник данных для формы Windows Form.

Кроме того, для отображения данных можно использовать и другие визуальные компоненты, используя свойства DataSource или DataBindings этих компонентов.

6.3 Пример разработки: ИАС «Оптовый заводской склад»

Создается тестовая информационно-аналитическая система (ИАС) «Оптовый заводской склад».

Основные функции и пользователи системы отражены на диаграмме прецедентов (рис. 1.1).

Клиентское приложение ИАС «Оптовый заводской склад» реализовано в среде Visual Studio 2008, база данных поддерживается СУБД Microsoft SQL Server 2008 Express Edition.

Настройка подключения к базе данных Поскольку база данных системы поддерживается SQL Server, для соединения с источником данных используется управляемый провайдер SQL Server .NET Data Provider (пространство имен System.Data.SqlClient, рис. 7.1). Строка подключения формируется исходя из того, что база данных расположена на локальном сервере, носит название «test», а для доступа к серверу используется проверка подлинности Windows (рис. 7.2).

Подключение к базе данных выполняется автоматически при запуске приложения.

Для организации ведения справочников материалов, деталей и поставщиков, а также для оформления поставок в адресном пространстве клиентского приложения формируется экземпляр соответствующего подмножества базы данных, инкапсулированный в объекте класса DataSet. Для каждой из таблиц базы формируется объект DataAdapter, таблицы помещаются в DataSet, где связываются между собой отношениями внешнего ключа. Вся последующая работа приложения выполняется над этим отсоединенным набором данных, который периодически синхронизируется с исходной базой данных на сервере.

6.4 Реализация основных функций Системы

В случае успешного подключения к базе данных открывается основное окно приложения. Интерфейс пользователя организован в виде закладок (TabControl), соответствующих основным аспектам работы с системой.

Ведение основных справочников и оформление поставок деталей При выборе закладок «Материалы», «Детали» или «Поставки» открывается стандартный диалог ведения справочников базы данных (рис. 7.13 — 7.15). Содержимое справочников отображается в виде таблицы (DataGridView), а работа с записями справочников — перемещение по записям, вставка, удаление, синхронизация с базой данных — осуществляется с помощью навигатора (BindingNavigator).

В справочнике деталей (рис. 7.14) предусмотрена возможность выбора названия материала из ведущегося в системе справочника материалов. При этом физически в таблицу DATAIL подставляется код (MATERIAL_ID) выбранного материала. Аналогично реализовано ведение поставок деталей.

Организация поиска поставок деталей.

Прикладной программный интерфейс СУБД.

На закладке «Поиск поставок» (рис. 7.16) представлена возможность построения поискового запроса по заданным параметрам (номер года и название поставщика). На уровне реализации поиск организован посредством выполнения параметризованного запроса с использованием классов SqlCommand и SqlDataReader.

Прикладной программный интерфейс СУБД.

Аналитическая справка по поставкам по сути также представляет собой поисковый запрос, однако реализация его выполняется вызовом хранимой процедуры (sp_date_supplies) с двумя входными параметрами, задающими диапазон дат. Для обращения к хранимой процедуре используется SqlDataAdapter с соответствующим типом команды (CommandType.StoredProcedure), а значения входных параметров записываются в коллекцию Parameters объекта. Результаты выполнения процедуры отображаются в таблице.

Показать весь текст
Заполнить форму текущей работой