Базы Данных в VS 2010

Автор: Пользователь скрыл имя, 19 Февраля 2012 в 11:16, курсовая работа

Описание работы

В данной работе рассмотрены основные средства управления базами данных в среде Visual Studio 2010, используя механизм доступа к данным OLE DB и язык программирования С-Sharp (C#).

Содержание

Введение 5
Глава 1. Основные понятия 6
1.1. Механизмы доступа к данным 7
1.2. OLE DB и ADO 10
Глава 2. OLE DB 11
2.1. Компоненты OLE DB 11
2.2. Объекты OLE DB 12
2.2.1. Объект DataSource 13
2.2.2. Объект Session 13
2.2.3. Объект Command 13
2.2.4. Объект Rowset 14
2.2.5. Объект Enumerator 14
2.2.6. Объект Transaction 15
Глава 3. Описание работы 16
3.1. База данных 16
3.2. Выбор языка и среды программирования 17
3.3. Подключение базы данных в Visual Studio 2010 17
3.4. Описание программы 19
3.4.1. Основное окно 19
3.4.2. Окно «Добавление записи» 20
3.4.3. Окно «Редактирование» 20
Заключение 22
Список использованной литературы 23

Работа содержит 1 файл

курсовая БД в VS2010.doc

— 816.50 Кб (Скачать)

Помимо  этих существуют и иные способы доступа к данным, обычно в той или иной степени, использующие перечисленные универсальные механизмы или непосредственно клиентские API.

1.2. OLE DB и ADO

     OLE DB и ADO - часть универсального механизма доступа к данным Microsoft (Microsoft Universal Data Access), позволяющая осуществить доступ как к реляционным, так и к нереляционным источникам данных, таким как файловая система, данные электронной почты, многомерные хранилища данных и др.

     Microsoft ActiveX Data Objects (ADO) - это набор библиотек, содержащих COM-объекты, реализующие прикладной программный интерфейс для доступа к таким данным и используемые в клиентских приложениях. ADO использует библиотеки OLE DB, предоставляющие низкоуровневый интерфейс для доступа к данным. OLE DB предоставляет доступ к данным с помощью COM-интерфейсов. Можно также использовать OLE DB непосредственно, минуя ADO.

     Для доступа к источнику данных с  помощью OLE DB требуется, чтобы на компьютере, где используется клиентское приложение, был установлен OLE DB-провайдер для данной СУБД. OLE DB-провайдер представляет собой DLL, загружаемую в адресное пространство клиентского приложения и используемую для доступа к источнику данных. Для каждого типа СУБД нужен собственный OLE DB-провайдер, так как эти провайдеры базируются на функциях клиентских API, разных для различных СУБД.

     Среди OLE DB-провайдеров для разных источников данных имеется специальный провайдер Microsoft OLE DB Provider for ODBC Drivers. Этот провайдер использует не API клиентской части какой-либо СУБД, а интерфейс ODBC API, поэтому он применяется вместе с ODBC-драйвером для выбранной СУБД.

     Отметим, что ADO становится все более популярным способом доступа к данным, так как входит в состав таких широко используемых продуктов, как Microsoft Office 2000 и Microsoft Internet Explorer 5.0, а также включен в ядро операционных систем семейства Windows 2000.

 

Глава 2. OLE DB

     OLE DB представляет собой низкоуровневый программный интерфейс для доступа к различным источникам данных, таким как реляционные и нереляционные данные, текстовые, графические и географические данные, архивы электронных писем, файловая система, бизнес-объекты. Эти интерфейсы могут быть использованы в приложениях, предоставляющих доступ к данным.

2.1. Компоненты OLE DB

     На  самом верхнем уровне можно отметить три главных компонента OLE DB:

  • потребители (consumers),
  • провайдеры данных (data providers)
  • сервисные компоненты (service components).

     Любой компонент программного обеспечения, применяющий интерфейсы OLE DB, является потребителем. Это может быть какое-либо офисное приложение или иное бизнес-приложение, средство разработки типа Visual Basic, С++, С#, Delphi. Потребители могут обращаться к данным посредством ActiveX Data Objects, представляющих собой высокоуровневый интерфейс к OLE DB, или применять OLE DB непосредственно, используя OLE DB-провайдер.

     Провайдер - это часть программного обеспечения, в которой реализованы интерфейсы OLE DB. С точки зрения OLE DB существуют два типа OLE DB-провайдеров - провайдеры данных и сервисные компоненты.

     Провайдер данных - это компонент программного обеспечения, манипулирующий данными. Он располагается между потребителем данных и базой данных. В OLE DB все провайдеры представляют данные в табличном формате (аналогичном тому, в котором хранятся данные в реляционных СУБД и файлах электронных таблиц), в виде виртуальных таблиц. Провайдер данных выполняет следующие функции:

  • получение от потребителя запросов на получение или модификацию данных;
  • получение данных из базы данных или их модификацию в базе данных;
  • возвращение данных потребителю.

     Провайдер сервисов (или сервисный компонент) реализует расширенную функциональность, не поддерживаемую обычными провайдерами данных, например сортировку и фильтрацию данных, обработку транзакций и SQL-запросов, управление курсором и др. Сервисный компонент может обращаться к хранилищу данных непосредственно или с помощью соответствующего провайдера данных - в этом случае провайдер сервисов является одновременно и провайдером, и потребителем. Например, сервисные компоненты, такие как Microsoft Cursor Service for OLE DB и Microsoft Data Shaping Service for OLE DB, могут использоваться совместно с провайдерами данных OLE DB для расширения их функциональности.

     На  рисунке 1 показано, как компоненты OLE DB взаимодействуют между собой. Из рисунка следует, что потребитель может получать данные как непосредственно с помощью провайдера данных, так и с использованием сервисов, предоставляемых сервисными компонентами. 

     

     Рисунок 1

2.2. Объекты OLE DB

     Объектная модель OLE DB содержит четыре ключевых объекта:

  • DataSource;
  • Session;
  • Command;
  • Rowset.

2.2.1. Объект DataSource

     Объект  DataSource, применяемый потребителями данных для соединения с провайдером, может быть создан различными способами, включая вызов функции CoCreateInstance с идентификатором класса (CLSID, Class Identifier) OLE DB-провайдера, использование объекта Enumerator (см. ниже), который занимается поиском источников данных, и пр. Объект DataSource инкапсулирует информацию, связанную с соединением (включая имя пользователя и пароль). Основное назначение этого объекта - предоставлять данные из источника данных потребителю.

     Для создания новой сессии (объект Session) потребитель должен вызвать метод CreateSession интерфейса IDBCreateSession объекта DataSource.

2.2.2. Объект Session

     Объект  Session предоставляет контекст для транзакций, может генерировать наборы данных (rowsets) из источников данных, а также команды для запросов к источнику данных. Объект Session может выполнять роль фабрики классов для объектов Command и Rowset (см. ниже) и объекта Transaction, применяемого для управления вложенными транзакциями. Объекты Command и Rowset могут быть использованы для создания или модификации таблиц и индексов. Интерфейс IOpenRowset используется потребителями данных для работы с отдельными таблицами и индексами в хранилище данных.

     С одним объектом DataSource может быть связано несколько объектов Session.

     Если  OLE DB-провайдер поддерживает команды или запросы, он должен уметь порождать объект Command. С одним объектом DataSource может быть связано несколько объектов Command. Для создания нового объекта Command применяется метод CreateCommand интерфейса IDBCreateCommand.

2.2.3. Объект Command

     Объект  Command используется для выполнения команд, представляющих собой строки, передаваемые от потребителя данных объекту Data Source для выполнения. В большинстве случаев такая команда представляет собой SQL-предложение SELECT, однако в общем случае это может быть любое другое SQL-предложение (например, DDL-предложение). Команды могут содержать параметры - в этом случае применяется интерфейс ICommandWithParameters. Одна сессия может порождать несколько команд. Результатом выполнения команды (с помощью метода Execute интерфейса ICommand) обычно является новый объект Rowset.

2.2.4. Объект Rowset

     Объект  Rowset (набор данных) позволяет OLE DB-провайдеру данных представлять данные из источников данных в табличном формате, то есть в виде набора строк, содержащих одну или несколько колонок. Этот объект может быть результатом выполнения команды или может быть сгенерирован непосредственно провайдером данных, если провайдер не поддерживает команд. Все провайдеры данных <умеют> создавать наборы данных напрямую. Объект Rowset может быть также использован для обновления, добавления или удаления строк - это зависит от функциональности провайдера данных.

     С помощью интерфейса IRowset из объекта Rowset потребители могут перемещаться по набору данных вперед и, если набор данных позволяет, назад. Некоторые провайдеры могут предоставлять дополнительные функции наподобие непосредственного доступа или определения примерной позиции данной строки в наборе.

     Частным случаем объекта Rowset является объект Index, предоставляющий набор строк, использующий соответствующий индекс для получения набора данных в упорядоченном виде.

     Существуют  также специальные объекты типа Rowset - schema rowsets, содержащие метаданные (то есть сведения о структуре данных), и view rowsets, содержащие подмножество строк и столбцов объекта Rowset.

     Помимо  четырех основных объектов, перечисленных  выше, существуют и другие объекты  OLE DB. Они нужны для перечисления источников данных, управления транзакциями, обработки ошибок и др. Некоторые из них мы рассмотрим ниже.

2.2.5. Объект Enumerator

     Объект  Enumerator необходим для получения списка доступных объектов, обеспечивающих доступ к источникам данных (OLE DB-провайдеров). Этот объект используется потребителями данных для поиска соответствующих объектов. В большинстве случаев сведения, возвращаемые объектом Enumerator, извлекаются из системного реестра. Этот объект реализует интерфейс ISourceRowset и возвращает объект Rowset с описанием всех источников данных и других доступных с его помощью объектов Enumerator. Для этой цели используется метод GetSourcesRowset интерфейса ISourceRowset.

2.2.6. Объект Transaction

     Объект  Transaction поддерживает транзакции в источнике данных. Транзакции, как мы уже знаем из первой статьи данного цикла, позволяют определить группу операций, которые либо все вместе выполняются, либо все вместе отменяются.

     Транзакции  бывают локальными и распределенными. Локальные транзакции - это транзакции, выполняемые в контексте единого провайдера данных. Провайдер, поддерживающий локальные транзакции, должен реализовать интерфейс ITransactionLocal. Транзакция начинается с вызова метода StartTransaction, завершается с помощью метода Commit или откатывается с помощью Abort. Способность провайдера поддерживать транзакции может быть определена с помощью интерфейса IDBProperties.

Распределенные транзакции выполняются в контексте нескольких провайдеров данных. Для выполнения таких транзакций потребители используют интерфейс TtransactionJoin, доступный только если провайдер данных поддерживает распределенные транзакции. В этом случае потребитель вызывает метод JoinTransaction для регистрации сессии в распределенной транзакции. После присоединения к распределенной транзакции потребитель использует интерфейс ITransaction для завершения или отката транзакции.

 

Глава 3. Описание работы

    1. База данных

     При работе над данной курсовой работой  была создана многофункциональная  программа, работающая с базой данных «People».

 

Данная  база содержит таблицу «PERSONS» состоящую из следующих полей:

Поле Описание
ID Порядковый  номер
FIRSTNAME Имя
MIDDLENAME Отчество
LASTNAME Фамилия
ADDRESS Адрес
AGE Возраст
 

     Следует отметить, что для обеспечения  правильности работы программы, поле «ID» было задано как ключевое.

     Данная  программа позволяет просматривать, редактировать, а именно: добавлять, удалять данные, а также организовывать поиск данных по различным категориям.

    1. Выбор языка и среды  программирования

     Данная  программа написана в среде программирования Visual Studio 2010 на языке C#. Выбранная среда содержит богатый набор различных типов данных и компонентов, облегчающих создание программного продукта под MS Windows.

Информация о работе Базы Данных в VS 2010