39032

Современные технологии доступа к БД

Лабораторная работа

Информатика, кибернетика и программирование

Технология ODBC все еще признается в качестве отраслевого стандарта доступа к базам данных однако также не развивается поэтому разработчики программного обеспечения все чаще обращают свое внимание на современные и возможно более эффективные технологии. С конца 90ых годов и до настоящего времени фирма Microsoft пытается создать универсальную платформу доступа к разнородным хранилищам данных для семейства своих операционных систем Windows. Источниками данных в данном случае могут являться не только SQLсервера Баз Данных но и иные...

Русский

2013-09-30

117 KB

32 чел.

Лабораторная работа № 6

Современные технологии доступа к БД

Цель работы: Получить представление о современных технологиях доступа и работы с базами данных в среде программирования Borland C++ Builder. Приобрести навыки работы с технологией ADO.

Указания к выполнению лабораторной работы

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

С конца 90-ых годов и до настоящего времени фирма Microsoft пытается создать универсальную платформу доступа к разнородным хранилищам данных для семейства своих операционных систем (Windows). Эта платформа получила название MDAC, что означает Microsoft Data Access Components (Компоненты Microsoft для доступа к данным). Платформа MDAC представляет собой набор взаимосвязанных технологий доступа к данным, обеспечивающих разработчиков программного обеспечения удобным и единообразным механизмом разработки приложений для работы с данными различных типов. Источниками данных в данном случае могут являться не только SQL-сервера Баз Данных, но и иные хранилища структурированных и частично структурированных данных (БД на базе иерархических моделей, службы каталогов, хранилища документов и др.)1.

За более, чем десятилетнюю историю своего существования, состав и содержание платформы MDAC неоднократно изменялись. На сегодняшний день официально распространяется версия MDAC 2.8 SP 1. В составе операционной системы Windows Vista платформа MDAC получила название Windows DAC.

Архитектура платформы MDAC имеет уже знакомую нам трехуровневую структуру. На верхнем уровне располагаются компоненты программного интерфейса, на среднем – компоненты, отвечающие за трансляцию запросов источникам данных и возвращение данных в приложение, на нижнем – компоненты, непосредственно взаимодействующие с БД или иным источником данных.

На сегодняшний день основными компонентами MDAC являются:

  •  Компоненты ODBC. Данная технология все еще остается широко используемой и востребованной и будет еще довольно долгое время поддерживаться производителем. Тем не менее, специалисты Microsoft предупреждают, что ее дальнейшего развития не будет и предлагают использовать ее только в тех случаях, когда информационная система не имеет иных источников данных, кроме реляционных СУБД.
  •  Прикладной программный интерфейс OLE-DB (Object Linking and Embedding). Этот программный интерфейс был разработан как замена прикладному программному интерфейсу ODBC. Оба интерфейса предполагают возможность универсального доступа к данным из программных приложений. Основными отличиями интерфейса OLE DB от ODBC являются:
    •  Технология OLE DB изначально разрабатывалась как средство доступа к хранилищам данных (data stores) самой разной природы, а не только к реляционным базам данных. Специалисты Microsoft называют в качестве возможных хранилищ данных любые информационные хранилища, которые могут быть представлены в виде набора строк и столбцов – от текстового файла или электронной таблицы – до промышленной СУБД с сотнями таблиц и миллионами записей.
    •  Интерфейсы OLE DB описаны не на одном из языков программирования, а с использованием специальных языков определения интерфейсов модели COM, что обеспечило им большую переносимость и универсальность.
    •  Компоненты OLE DB не только обеспечивают пользователям доступ к данным, но и предлагают дополнительные функциональные возможности по их обработке: сортировку или фильтрацию записей, построение иерархических моделей данных, проведение многомерного анализа (доступ к сервисам OLAP).

В терминах технологии OLE DB приложения, которым необходим доступ к данным, носят названия потребителей (consumers), а компоненты, которые реализуют интерфейс OLE DB и обеспечивают доступ к источникам данных, – поставщиков (providers). Так же как и драйвера ODBC, компоненты-поставщики OLE DB могут разрабатываться сторонними производителями для доступа к своим СУБД или иным хранилищам данных. В состав компонентов MDAC входят поставщики данных OLE DB для таких СУБД, как Microsoft SQL Server и Oracle. Кроме того, сюда же входит поставщик OLE DB для драйверов ODBC, позволяющий при необходимости интегрировать две указанных технологии.

  •  Компоненты ADO (ActiveX Data Objects) – представляют собой высокоуровневый программный интерфейс (объектную модель) доступа к данным посредством технологии OLE DB. Разработчики программного обеспечения, в принципе, могут обойтись и без этого дополнительного уровня между своим приложением и источником данных и использовать интерфейс OLE DB напрямую. Это положительно скажется на производительности программного приложения, однако потребует от программиста гораздо более детального описания механизма взаимодействия между его программой и поставщиком данных. Использование компонентов ADO позволяет разработчику в меньшей степени задумываться о том, как именно устроен источник данных, и каким образом с ним нужно взаимодействовать, но сосредоточиться непосредственно на вопросах отображения и обработки данных. Компоненты ADO незаменимы при разработке Web-приложений, а также приложений, написанных на интерпретируемых языках программирования (Visual Basic, Microsoft JScript и др.). Как и интерфейс OLE DB, объектная модель ADO является независимой от языка программирования (language neutral).
  •  Технология ADO.NET. Является развитием классической2 модели ADO, в которую были специально добавлены дополнительные возможности, отвечающие принципам платформы  .NET. Особый акцент в данном случае был сделан на возможность разработки распределенных, многозвенных приложений с портфельным способом обработки данных.

На рисунке 1 показана архитектура платформы MDAC.

Рис. 6.1. Архитектура платформы MDAC

(http://msdn2.microsoft.com/en-us/library/ms810810.aspx)

Другие производители программного обеспечения также предлагают программистам собственные или совместимые с платформой MDAC технологии доступа к данным. Уже почти 5 лет компания Borland предлагает следующую концепцию разработки БД-приложений в своих средах программирования (Borland Delphi, Borland C++ Builder, Borland Developer Studio):

  •  Для связи с локальными базами данных устаревших форматов (Paradox, dBASE) рекомендуется использовать технологию BDE.
  •  Для сравнительно небольших проектов, в которых в качестве источников данных выступают, например, таблицы Excel или БД Access, рекомендуется использовать технологию ADO. Для этого в библиотеку компонентов Borland включен целый ряд невизуальных компонентов, основными из которых являются:
    •  TADOConnection – для установки и поддержания соединения с источником данных;
    •  TADOTable – аналог компонента TTable, использующийся для работы с набором данных одной таблицы.
    •  TADOQuery – аналог компонента TQuery, использующийся для работы с набором данных некоторого запроса.
    •  TADOStoredProc – аналог компонента TStoredProc, использующийся для работы с хранимыми процедурами.

В Borland C++ Builder 6 указанные компоненты располагаются на вкладке ADO палитры компонентов. В поздних версиях RAD-продуктов Borland эта вкладка была переименована в dbGo (из-за запрета фирмы Microsoft использовать сокращение ADO другими производителями).

  •  Для разработки БД-приложений с использованием СУБД Interbase (которая также относится к продуктам Borland) рекомендуется использовать специальный набор компонентов InterbaseExpress (IBX).
  •  Для разработки БД-приложений с использованием промышленных СУБД других производителей рекомендуется использовать либо технологию Borland dbExpress, которая пришла на смену SQL-соединений BDE, либо компоненты сторонних производителей (например, Oracle Data Access Components для работы с СУБД  Oracle).

Рис. 6.2. Концепция использования технология доступа к данным

при разработке БД-приложений средствами Borland

(http://dn.codegear.com/article/28688)

 

Использование технологии ADO для создания приложений для работы с базами данных в среде Borland C++ Builder 6 практически не отличается от ранее рассмотренного использования компонентов BDE. Чтобы использовать наборы данных TADOTable, TADOQuery или TADOStoredProc, достаточно корректно настроить компонент TADOConnection, отвечающий за соединение с источником данных. Основными свойствами этого компонента являются:

  •  Свойство ConnectionString – содержит строку инициализации соединения, то есть список необходимых параметров. Исходя из вышесказанного важнейшим параметром соединения посредством технологии ADO является наименование поставщика данных OLE DB. Кроме того, необходимо указать наименование источника (базы) данных, а также имя пользователя и пароль. Для быстрого формирования строки инициализации соединения необходимо перейти в режим редактирования свойства ConnectionString в инспекторе объектов и щелкнуть по появившейся в правой части строки редактирования кнопке. В появившемся окне следует выбрать способ определения связи с данными путем формирования строки соединения («Use Connection String»)  и нажать кнопку Build(см. рис. 6.3).

Рис. 6.3. Редактор настройки соединения ADO

Свойства связи с источником данных, которые войдут в строку инициализации соединения, задаются в окне, изображенном на рисунке 6.4. Важнейшим свойством, как уже было сказано, является наименование поставщика (провайдера) данных OLE DB. Для файлов Microsoft Access можно выбрать, например, поставщика OLE DB для драйверов ODBC (Microsoft OLE DB Provider for ODBC Driver).

Рис. 6.4. Диалоговое окно настройки параметров соединения ADO.

В этом случае на вкладке «Подключение» необходимо будет указать следующие параметры подключения к источнику данных через указанного поставщика данных:

  •  Наименование источника данных ODBC (можно выбрать из списка существующих источников данных);
    •  Имя пользователя и пароля (обычно для клиент-серверных СУБД);
    •  Наименование начального каталога (например, наименование базы данных, с которой устанавливается соединение; для файлов Microsoft Access этот параметр можно оставить пустым).

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

Параметры соединения, которые можно задавать на других вкладках рассматриваемого диалогового окна являются необязательными и в рамках данной работы не рассматриваются.

После настройки всех параметров соединения необходимо нажать кнопку «OK». Сформированная строка инициализации будет отображаться в окне редактора настройки соединения ADO.

  •  Свойство Connected, указывающее состояние соединения (true – «установлено» и false – «не установлено»).
  •  Свойство LoginPrompt, включающее/выключающее режим автоматического запроса имени и пароля пользователя при попытке установить соединение (true – «включен» и false – «выключен»).

Остальные компоненты ADO (TADOTable, TADOQuery, TAdOStoredProc и др.) могут обращаться к источнику данных напрямую, либо через компонент TADOConnection. В первом случае для этих компонентов необходимо формировать строку параметров соединения для свойства ConnectionString точно так же, как это было рассмотрено выше. Во втором случае наименование компонента TADOConnection следует указать в качестве значения свойства Connection. Все свойства и методы работы с наборами данных, рассмотренные в лабораторных работах №№ 3-5, могут быть использованы и при работе с компонентами наборов данных ADO.

 

Задания к лабораторной работе

  1.  Создать новую базу данных в Microsoft Access, состоящую из единственной таблицы DUMMY с двумя полями: uid (счетчик) и Value (текст).
  2.  Создать поименованный источник данных ODBC для работы с новой базой данных.
  3.  Поместить на форму нового приложения C++ Builder пару компонентов TDatabase и TTable. Настроить параметры компонентов таким образом, чтобы через набор данных TTable можно было работать с таблицей DUMMY.
  4.  Поместить на форму пару компонентов TADOConnection и TADOTable. Открыть диалоговое окно настройки параметров соединения (рис. 6.4). Убедиться в наличии поставщика данных Microsoft OLE DB Provider for ODBC Drivers. Проверить наличие поставщика данных Microsoft Jet OLE DB Provider3.
  5.  Используя указания к лабораторной работе, сформировать для компонента TADOConnection строку соединения ADO с созданной ранее БД через поставщика данных  Microsoft OLE DB Provider for ODBC Drivers.
  6.  Настроить компоненту TADOTable для работы с таблицей DUMMY.
  7.  Если поставщик данных Microsoft Jet OLE DB Provider имеется в списке доступных поставщиков, то поместить на форму еще одну пару компонентов TADOConnection и TADOTable и повторить шаги 6 и 7 для их настройки. Использовать для соединения с БД  поставщик Microsoft Jet OLE DB Provider.
  8.  Измерить скорость обращения к данным БД с использованием настроенных компонентов. Для этого с каждым набором данных формы выполнить следующие операции:
    1.  Циклическое добавление в пустую таблицу большого количества записей (несколько десятков тысяч). Значение поля Value генерировать как строку из 100-200 символов случайным образом (дублирование строк не допускается).
    2.  Открывание заполненной таблицы и выполнение фильтрации набора данных по определенному критерию.
    3.  Открывание заполненной таблицы с упорядочением записей по возрастанию значений неиндексированного поля Value и выполнение фильтрации набора данных по критерию, выбранному в предыдущем пункте.
    4.  Открывание заполненной таблицы с упорядочением записей по возрастанию значений индексированного поля Value и выполнение фильтрации набора данных по критерию, выбранному в  пункте б.

Замерить время выполнения каждой операции для каждого набора данных.

  1.  В отчет о выполнении лабораторной работы включить:
    1.  Краткое описание хода выполнения работы.
    2.  Рисунок окна настойки соединения ADO со списком доступных поставщиков данных OLE DB;
    3.  Результаты измерений (в табличном виде) скорости выполнения операций доступа к БД с использованием различных технологий (BDE+ODBC, ADO+OLE DB+ODBC, ADO+OLE DB+ JET);
    4.  Выводы по проделанной работе.

Контрольные вопросы

  1.  Платформа MDAC.
  2.  Технология OLE DB и ее отличия от ODBC.
  3.  ADO и ADO.NET.
  4.  Настройка компонентов ADO в среде Borland C++ Builder.

1 В указаниях к данной лабораторной работе используется термин «хранилище данных», который является переводом англоязычного термина data store. Указанный термин не следует смешивать с понятием «хранилище данных» (data warehouse), которое было введено в курсе Информационные системы («Предметно-ориентированный, интегрированный, хронологически упорядоченный набор данных специально организованный для поддержки принятия решений и управления»).

2 Специалисты Microsoft специально делают акцент на то, что компоненты ADO уже становятся «классическим» способом разработки БД-приложений, а современные технологии должны неразрывно ассоциироваться с платформой .NET.

3 Microsoft JET – это процессор баз данных, специально разработанный фирмой Microsoft для обращения к небольшим базам данных собственного производства, в первую очередь, Microsoft Access. Довольно долгое время компоненты JET были составной частью платформы MDAC, однако в настоящее время эта технология признана устаревающей, поэтому в последние версии платформы не включена.


 

А также другие работы, которые могут Вас заинтересовать

1994. Правовое регулирование оказания Интернет-услуг 1.12 MB
  Общая характеристика обязательств по оказанию услуг. Развитие российского законодательства, регулирующего оказание Интернет-услуг. Обязательства, возникающие в результате обмена данными (электронными документами). Договоры подключения оконечного оборудования абонента к международной сети электросвязи Интернет.
1995. Технические анализ 1.12 MB
  С момента своего возникновения технический анализ вырос из теории в самостоятельную и серьезную науку и остается на протяжении всех лет своего существования самым распространенным и востребованным методом анализа биржевых цен. Это в очередной раз доказывает его высокую эффективность и позволяет инвестору в значительной мере улучшить показатели своей торговли, а также повысить шансы на успех в таком далеко не простом деле как трейдинг.
1996. Техническая эксплуатация автомобилей 1.11 MB
  Расчет годовой производственной программы всех видов технического обслуживания. Определение трудоемкости ТО и ТР на 1000 км пробега для автомобилей, работающих с прицепом или полуприцепом. Расчет численности производственных рабочих.
1997. Маркетинг услуг 1.05 MB
  Современная концепция маркетинга услуг. Маркетинг взаимоотношений с клиентами. Покупательское поведение и сегментация потребителей. Мотивация покупательского поведение.
1998. Музыкальные инструменты монголов 989.27 KB
  Влияние музыки Китая на монгольскую музыкальную культуры и создание своеобразных музыкальных инструментов. Храмовые и дворцовые музыкальные инструменты. Нотная система у монголов
1999. Проектирование зоны второго технического обслуживания для автотранспортных предприятий со списочным составом 763.35 KB
  Спроектировать зону второго технического обслуживания (ТО-2) для автотранспортных предприятий (АТО) со списочным составом: КамАЗ – 5320 70 шт. Lcc - 300 км Категория условий эксплуатации (КУЭ) - II для всех автомобилей. Климатическая зона — умеренно-холодная. Дней рабочих в году - 305.
2000. Самостоятельная работа студентов при изучении курса отечественной истории 686.13 KB
  Учебно-исследовательская работа студентов, примерные темы рефератов, эссе, докладов. Основная и дополнительная литература. Вопросы для самоконтроля и образцы контрольных тестов.
2001. Создание промежуточных отчетов 33.01 KB
  Список с исходными данными о сотрудниках. Промежуточный отчет, вычисляющий значение фонда заработной платы для каждого цеха. Круговая диаграмма на основании рассчитанных значений фонда заработной платы на каждого цеха.
2002. Совместная воспитательная работа школы, семьи и общественности 35.03 KB
  Сочетание общественного и семейного воспитания как важнейшая предпосылка повышения его эффективности. Социально-экономические факторы повышения роли школы в организации воспитательной работы семьи и общественности. Организационно-педагогическая работа школы с родителями. Органы родительской общественности в школе.