- •Предисловие
- •Анализ предметной области
- •Анализ требований. Диаграмма вариантов использования
- •Диаграмма вариантов использования
- •Концептуальное моделирование предметной области
- •Проектирование базы данных
- •Логическая модель базы данных
- •Физическая модель базы данных
- •Создание базы данных
- •Подключение к серверуMssqlServer2008r2
- •Создание новой базы данных на сервере
- •Создание новой таблицы на сервере
- •Создание связей
- •Создание диаграммы базы данных
- •Ограничения целостности базы данных
- •Сценарий создания базы данных
- •Заполнение базы данных
- •Загрузка информации в базу данных средствамиManagementStudio
- •Ведение базы данных средствамиSql
- •Sql-запросы на вставку, модификацию и удаление данных
- •Добавление новых записей в таблицу (insert)
- •Модификация существующих записей (update)
- •Удаление записей из таблицы (delete)
- •Запросы на выборку данных
- •Общий синтаксис запроса select
- •Примеры реализации запросов
- •Организация бизнес-логики
- •Хранимые процедуры
- •Триггеры
- •Прикладной программный интерфейс субд
- •Знакомство с основными объектами ado.Net
- •Разработка клиентского приложения
- •Пример разработки: иас «Оптовый заводской склад»
- •Реализация основных функций Системы
- •Ведение основных справочников и оформление поставок деталей
- •Организация поиска поставок деталей
- •Администрирование сервера бд
- •Инсталляция сервера
- •Резервное копирование и восстановление бд
- •Санкционирование доступа
- •Приложение а. Варианты заданий
- •1. Биржа труда
- •2. Проектная организация
- •3. Библиотечный фонд города
- •4. Турагентство
- •5. Регистратура городской поликлиники
- •6. Гибдд
- •7. Оператор сотовой связи
- •8. Аптека
- •9. Аудиторный фонд университета
- •10. Агентство недвижимости
- •11. Студенческий городок
- •12. Санаторий
- •13. Продуктовый магазин
- •14. Научные публикации вуза
- •15. Служба такси
- •16. Страховое агентство
- •17. Сайт купонов на скидки
- •18. Учебный план
- •19. Преподаватели университета
- •20. Расчет стипендии
- •21. Расписание занятий
- •Приложение б. Состав отчета
- •Список литературы
- •153003, Г. Иваново, ул. Рабфаковская, 34.
Прикладной программный интерфейс субд
Знакомство с основными объектами ado.Net
Для обеспечения доступа к базам данных СУБД предоставляет разработчику набор стандартных процедур и функций (API – Application Programming Interface).
Для обеспечения быстрой разработки приложений, работающих с СУБД MS SQL Server, были созданы различные наборы компонентов, облегчающие взаимодействие с сервером:
BDE– набор компонентов для доступа к большому числу СУБД; разработан фирмойBorland(на текущий момент более не поддерживается); этот способ доступа не является рекомендуемым, поскольку не обеспечивает полноценный доступ к возможностям сервера;
ODBC(OpenDatabaseConnectivity) - широко распространенный программный интерфейс фирмы Microsoft. ODBC-драйвер дляSQLServer, обеспечивает полнофункциональный доступ к серверу.
OLEDBиADO- часть универсального механизма доступа к данным Microsoft. ADO (ActiveX Data Objects) - надстройка над интерфейсом OLE DB, позволяющая обеспечить бизнес-приложениям высокоуровневый доступ к данным. В качестве драйверов баз данных ADO использует так называемые OLE DB-провайдеры (дляMSSQLServerиспользуется провайдер 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) или без него.