Разделы

  Java, JavaScript
  Документация Perl
  Новости
  Документация ASP
  Flash
  Интернет протоколы
  Apache
  Уроки программирования
  Язык программирования C

Средства доступа к базам данных

Уроки программирования
3.5 / 5 (63 оценок)

Язык структурированных запросов SQL

SQL - это стандартный язык реляционных баз данных, реализованная в большинстве СУБД. Именно поэтому изучение средств доступа к базам данных следует начинать с рассмотрения особенностей этого языка и приобретения навыков по использованию ее.

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

При изучении языка основное внимание следует уделить инструкции SELECT, которая икористовуеться для отбора строк и столбцов из таблиц баз данных и является ядром языка SQL.

Технологии доступа к данным



Современные технологии доступа к данным, такие как DAO (Data Access Objects - объекты доступа к данным), RDO (Remote Data Objects - объекты удаленных данных) и ADO (Active Data Objects - активные объекты данных) являются мощными моделями программирования, позволяющие обращаться к данным, организовывать и манипулировать данными локальных или удаленных баз данных.

DAO и RDO известны уже достаточно давно, и появление двух разных механизмов было связано с необходимостью оптимизации решения двух отдельных задач: доступа к локальным и удаленным базам данных соответственно. В основе и DAO и RDO лежит открытый интерфейс связи с базами данных (Open Database Connectivity, ODBC), который представляет собой независимую от типа баз данных технологию для организации взаимодействия с реляционными СУБД. Этот интерфейс, который является буфером между программой пользователя и базой данных, имеет большое значение, поскольку он является стандартным средством работы с базами данных. Позволяя работать с базами данных любого типа, для которых в системе есть драйвера, он дает возможность обращаться к широкому спектру данных, не требуя от пользователей знаний о форматах и ​​особенности конкретных баз данных. В этом смысле ODBC - общее средство доступа к значительному количеству систем управления базами данных. Для построения запросов к базам данных через источники данных ODBC используется язык SQL.

Архитектуру MS ODBC приведены на рис. Все базы данных, доступ к которым осуществляется с помощью ODBC, должны иметь так называемое источник данных ODBC, содержащего имя источника данных (DSN - Data Source Name), информацию о типе базы данных и драйвер, используемый для доступа к ней. В зависимости от драйвера может возникнуть потребность в дополнительной информации. Например, при работе с драйвером SQL Server необходимо сообщить имя компьютера, на котором расположен сервер базы данных, а также имя базы данных.

Источник данных ODBC может содержаться либо в Реестре Windows, или в файле DSN. Для определения источника данных ODBC и размещении его в Реестре Windows используется Администратор источников данных ODBC (ODBC Data Surce Administrator), который находится в Панели управления (Control Panel). В окне администратора можно как определить новый источник, так и модифицировать существующее. Кроме того, источники данных могут быть созданы и программно, например, с использованием DAO.

Протокол ODBC, начиная с версии 3.0, поддерживает три типа источников: пользовательские, системные и файловые (User, System, File). К источнику первого типа имеет доступ только тот пользователь, который его создал, и только с того компьютера, на котором оно было определено. К системному источники имеют доступ все пользователи данного компьютера. К файловому источники имеют доступ пользователи всей сети, если только на их компьютерах установлены необходимые драйверы ODBC.

Драйверы ODBC для отдельных СУБД представляют собой промежуточный слой, предназначенный для преобразования операторов на языке SQL на тот формат, который требует конкретная система управления базами данных. Драйверы - именно те компоненты ODBC, обеспечивающие независимость от типа базы данных. Каждый драйвер отвечает за отображение общей функциональности SQL в функциональность конкретной СУБД.

Развитие вычислительных систем обусловил необходимость создания единого механизма, который обеспечил бы единый подход при работе с различными видами данных. В результате несколько лет назад Microsoft предложила новую технологию ADO, которая сегодня является частью архитектуры Microsoft Universal Data Access (MUDA).

ADO, в отличие от DAO и RDO, базируется на спецификации OLE DB, которая представляет собой OLE-технологию, дополненную средствами взаимодействия с базами данных. В технологии OLE DB, вполне основанной на открытой модели COM, обмен данными происходит между получателями данных и поставщиками данных, соответствующих спецификациям OLE DB. Однако большая часть реляционных поставщиков данных поддерживает только спецификации ODBC. Поэтому фирма Microsoft создала поставщика данных (OLE DB Provider for ODBC), который предоставляет производные от ODBC интерфейсы OLE DB.

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

Для упрощения использования OLE DB и был создан набор ActiveX-компонентов - Active Data Objects (ADO). Эти компоненты обеспечивают единый интерфейс для доступа к разнородным данным и могут встраиваться в формы Visual Basic, Access, Excel, в активные Web-страницы и т. п.

При наличии нескольких технологий возникает задача выбора. На этот выбор влияют как специфика задачи, так и квалификация и навыки разработчика. Причем второй фактор, как правило, имеет решающее значение, поскольку эффективность конкретного применения инструмента основном определяется не столько его совершенством, сколько умением программиста работать с ним. Делая выбор, следует учитывать следующие особенности этих технологий:

• DAO - это первый объектно-ориентированный интерфейс, включенный в механизм работы с базами данных Microsoft Jet (используется в MS Access). Через технологию ODBC он также позволяет работать с широким кругом других реляционных баз данных, но лучше всего подходит для относительно небольших, локальных баз данных.

• RDO является объектно-ориентированным интерфейсом доступа к данным, в котором сочетается простой стиль программирования DAO с высокой производительностью и гибкостью функций ODBC. Доступ к локальным базам данных Jet и ISAM выполняется в RDO через драйверы ODBC, что снижает его быстродействие по сравнению с DAO. Однако RDO обеспечивает возможность работы с большим количеством баз данных различных разработчиков, в том числе и с удаленными базами данных.

• ADO - наиболее универсальная технология. Она работает с источниками данных, имеющих интерфейс OLE DB, обеспечивает поддержку динамических HTML-технологий и взаимодействие с данными, которые не имеют постоянного подключения к сети. В настоящее время ADO не поддерживает весь спектр функций DAO, в частности язык определения данных, но ее возможности будут наращиваться. По результатам тестирования при работе с удаленными данными быстродействие ADO и RDO примерно одинакова. Что касается локальных баз данных, то скорость ADO ниже, чем в DAO. Но это естественно, поскольку более универсальный механизм в эффективности использования машинных ресурсов всегда уступает более специализированным, имея как преимущество упрощения процесса разработки программы.

Положительной характеристикой технологии ADO является то, что она не требует значительных объемов памяти и поэтому эта модель может использоваться в Web-приложениях. Важным является, пожалуй, и то, что Microsoft объявила, что в соответствии со своей общей стратегии по унификации различных технологий на базе ActiveХ совершенствовать и обновлять только модель ADO. Но пока что при работе с локальными базами данных наибольшей популярностью пользуется модель DAO.

Работа с данными через интерфейс DAO



Применять DAO можно только после установки ссылки на объектную библиотеку Microsoft DAO (в среде разработки VB это делается с помощью команды Project / References, а в среде разработки VBA - с помощью команды Tools / References). DAO позволяет:
• осуществлять запросы на выборку и изменение данных;
• выполнять операции по просмотру и поиску;
• создавать базы данных, определение таблиц, спецификации запросов и отношения между таблицами;
• присоединяться к удаленным источникам данных.

Все эти операции выполняются через объектную модель DAO.
Вся объектная иерархия DAO подчинена ядру базы данных Jet (объект DBEngine). Различные свойства и методы DBEngine применяются для уплотнения и восстановления баз данных, установки источника данных ODBC и создания объекта Workspace. Ядро базы данных Jet является собственной внутренней системе приложения Access. Jet позволяет осуществлять доступ как к локальным базам данных Access, так и к соглашению с ODBC источников данных. Кроме того, Jet имеет следующие две важные особенности:

• в одном запросе можно комбинировать данные из источников различных типов (например, из локальной таблицы Access и из таблицы базы данных на сервере);
• обеспечена объектная модель для изменения структуры, т.е. таблиц, индексов, полей и отношений.

За эти возможности приходится расплачиваться дополнительными накладными расходами. Эти затраты определяются и размером ядра базы данных Jet, и самим процессом выполнения, поскольку Jet использует ODBC для связи с серверными базами данных. Следовательно, операции проходят два уровня: Jet и ODBC. В этом случае может быть очень полезной представлена ​​в DAO технология доступа клиент / сервер - ODBCDirect. При ее использовании соединения с источником данных ODBC выполняется без привлечения процессора Jet.

Объект Workspace определяет сеанс (рабочую область) и используется в основном для обеспечения защиты. Система защиты DAO устанавливается через создание «рабочей группы», которая управляется системным файлом. Для создания этого файла (чаще всего он называется System.MDW) и установки рабочей группы с помощью Администратора рабочих групп необходимо иметь MS Access. Через объект Workspace можно создавать объекты User и Group для пользователей и групп с разными полномочиями, определенными в текущей рабочей группе. При отсутствии системного файла нет необходимости создавать объект Workspace, поскольку доступ к объектам DAO реализовываться через пользователя Admin. После создания объекта Workspace можно добавить к семейству Workspaces (разрешается одновременная работа сразу в нескольких сеансах). К объектам DBEngine и Workspace можно не обращаться. В этом случае Visual Basic по умолчанию будет использовать объект DBEngine.Workspace (0).

Важнейший объект в модели DAO - это объект Database. Он представляет открытую базу данных, которой может быть либо mdb-файл программы Access или файл другого внешней базы данных, заданной источником данных ODBC. Для создания нового объекта Database объявляется объектная переменная типа Database и применяется метод OpenDatabase, который открывает базу данных:

В этом фрагменте оператор If с функцией Dir используется для проверки существования базы данных.



Другие материалы по теме:

- Средства доступа к базам данных
- Интегрированная программная среда поддержки дистанционного обучения «МатЛог»
- Алгоритмы
- Введение в программирование с помощью api
- Объектно-ориентированный подход к созданию программных средств


📌 smti.ru © 2026 SMTI.RU: инструменты, знания и сообщество для создания веб-проектов | Обратная связь