Унификация интерфейсов к базам данных

Опубликовано: 04.09.2018

видео Унификация интерфейсов к базам данных

Вопросы повышения эффективности разработки и реализации государственных программ субъектов РФ

Внутренние механизмы доступа к БД

API СУБД

Например, функции PHP для работы dBase:



dbase_add_record -- Adds a record to a database dbase_close -- Closes a database dbase_create -- Creates a database int dbase_create ( string filename, array fields ) - создает новую базу данных dbase_delete_record -- Deletes a record from a database dbase_get_header_info -- Gets the header info of a database dbase_get_record_with_names -- Gets a record from a database as an associative array dbase_get_record -- Gets a record from a database as an indexed array dbase_numfields -- Gets the number of fields of a database dbase_numrecords -- Gets the number of records in a database dbase_open -- Opens a database dbase_pack -- Packs a database dbase_replace_record -- Replaces a record in a database

Поддержка SQL

собственные подмножества языка


Ринат Хабибиев (Redmadrobot) - Автоматизация деплоя Docker контейнеров при помощи Fabric

Внешние средства интеграции приложений БД

Библиотека Borland Database Engine (BDE)

Ключевой механизм BDE (Borland Database Engine), обеспечивающий работу визуальных компонент баз данных, действует как интерфейс между вашим приложением и самой базой данных. BDE реализован в виде набора системных DLL файлов. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии. Именно BDE обращается в свою очередь к драйверам, специфическим для базы данных указанного типа, возвращая вашему приложению запрошенные фактические данные. BDE играет роль, аналогичную контроллеру драйверов ODBC (Open Database Connectivity) производства фирмы Microsoft, изолируя приложения от нижнего уровня взаимодействия с базой данных и увеличивая общую производительность связи за счет использования кэш-памяти. Используя BDE, вы получаете доступ ко всем локальным стандартным базам данных вашего компьютера, к источникам данных ODBC и к SQL серверам баз данных в архитектуре сетевой связи клиент/сервер.


Цикл вебинаров "Шпаргалки для конструктора". Урок 13. Оформление отчета

Унифицированная технология BDE применяется во всех продуктах производства корпорации Borland: C++Builder, Borland C++, Delphi, IntraBuilder и JBuilder. Чтобы получить доступ к содержимому базы данных, приложению необходимо знать только идентификатор ее псевдонима (alias).

Если созданное с помощью С++ Builder приложение в процессе работы обращается к базам данных, оно, как правило, использует для этой цели библиотеку BDE (Borland Database Engine), основанную на технологии IDAPI (Integrated Database Application Program Interface). Эта библиотека устанавливается автоматически при установке С++ Builder. По умолчанию она устанавливается в каталог C:\Program Files\Borland\Common Files\BDE.

Следует отметить, что файлы, входящие в состав библиотеки BDE, предназначены для использования не только приложениями, созданными с помощью С++ Builder, но и многими другими продуктами Borland (Visual dBase, Paradox, Delphi, Borland C++, IntraBuilder), созданными на их основе приложениями, а также офисными приложениями Corel (например, электронной таблицей Quattro Pro), генератором отчетов Crystal Reports (Seagate Software) . Поэтому при наличии нескольких использующих BDE приложений все 32-разрядные приложения (в том числе C++ Builder) используют установленную последней 32-разрядную версию BDE. В этом случае по умолчанию программа установки C++ Builder предложит поставить BDE в каталог, где установлена уже используемая версия BDE.

Рис.1. Связь приложений с источниками данных с помощью BDE

BDE обеспечивает для созданных приложений:

непосредственный доступ к локальным базам данных (dBase, Paradox, текстовые файлы) доступ к SQL-серверам (Oracle, Sybase, MS SQL Server, InterBase, Informix, DB2) с помощью драйверов Borland SQL Links доступ к любым источникам данных, имеющим драйвер ODBC (Open DataBase Connectivity), например, к файлам электронных таблиц (Excel, Lotus 1-2-3), серверам баз данных, не имеющим драйверов SQL Links (например, Gupta/Centura) создание приложений клиент-сервер, использующих разнородные данные высокую производительность при работе с плоскими таблицами использование SQL (Structured Query Language - язык запросов к серверным СУБД), в том числе при работе с локальными данными изоляцию приложения от средств языковой поддержки изоляцию приложения от конфигурации системы и сети

Microsoft Jet Database Engine

Эта статья о JET Red используется в Microsoft Access. Для осуществления JET Blue ISAM, см. Extensible Storage Engine.

Microsoft Jet Database Engine является Database Engine, на котором несколько продуктов Microsoft были построены. Базы данных является основным компонентом базы данных, сбор информации, хранящейся на компьютере на систематической основе. Первая версия Jet была разработана в 1992 году, состоящий из трех модулей, которые могут быть использованы для управления базой данных.

JET стоит совместных Engine Technology, иногда именуются Microsoft Jet Engine или просто Jet. Microsoft Access и Visual Basic используют или использовали Jet как лежащие в их основе базы данных. С тех пор он был заменен для общего использования, однако, сначала Microsoft Desktop Engine (MSDE), а потом по SQL Server Express. Jet сейчас является частью Microsoft Windows и больше не компонента Microsoft Data Access Components (MDAC). Для больших потребностей базы данных, базы данных Jet может быть повышен (или, в терминологии Microsoft, "до размера"), чтобы флагман Microsoft базу данных продуктов, SQL Server.

На протяжении многих лет, Jet стало почти синонимом Microsoft Access, в той степени, где многие люди относятся к базе данных Jet, как "доступ к базе данных". Даже Microsoft сотрудники делают это иногда. Есть партии, которые видят это как неправильное и заявляют, что Jet представляет собой базу данных, и доступ к базе данных разработки приложений инструмент (база данных строитель).

Архитектура Jet

Jet позволяет манипуляции реляционными базами данных и является частью реляционной системы управления базами данных (СУБД). Он предлагает единый интерфейс, что другое программное обеспечение можно использовать для доступа к базам данных Microsoft и обеспечивает поддержку для обеспечения безопасности, целостности, обработки транзакций, индексирование, записи и страницы замок, и репликации данных. В более поздних версиях, двигатель был расширен, чтобы иметь возможность запускать SQL запросы, хранить символьные данные в формате Unicode, создать базы данных мнений и позволяют двунаправленной репликации с Microsoft SQL Server.

Библиотеки Jet

Есть три модуля для Jet: Одним из них является родной Jet ISAM драйвер, динамические библиотеки (DLL), которые могут непосредственно управлять Microsoft Access файлы базы данных (MDB) с использованием индексированных последовательного метода доступа (ISAM). Еще один из модулей содержит драйверы ISAM, DLL, которые позволяют доступ к различным базам данных ISAM, среди них Xbase, Paradox, FoxPro и Btrieve, в зависимости от версии Jet. Окончательный модуль Data Access Objects (DAO) DLL. DAO предоставляет API, что позволяет программистам доступ JET баз данных с использованием любого языка программирования.

Рис. Компоненты MS Jet Database Engine

Open DataBase Connectivity (ODBC)

Тема нашего сегодняшнего разговора - ODBC. Если вы хоть раз писали СУБД (системы управления базами данных), то вам, наверное, знакома эта аббревиатура. Расшифровывается ODBC как Open DataBase Connectivity (вольный перевод - открытая система связи с базами данных). Open (открытая) в данном случае означает "расширяемая", "легко наращиваемая", "открытая для модификаций". Вы сами это поймете, если посмотрите на архитектуру построения ODBC:

Рис. Архитектура ODBC

Как легко заметить, она действительно легко наращиваемая. Для добавления нового типа БД нужно лишь написать драйвер и зарегистрировать его. Еще одно преимущество, вытекающее из такого построения ODBC - пользовательское приложение общается с физической БД через менеджер драйверов, фактически ничего не зная о типе используемой БД (общение менеджера драйверов и самих драйверов более менее стандартно, так что с точки зрения пользователя все источники данных обладают практически одинаковыми свойствами). Таким образом, вы легко можете поменять физический тип базы данных, а приложение даже не узнает об этом (конечно, существуют исключения из-за особенностей поддержки языка SQL различными типами БД, но они несущественны).

Физически ODBC представляет собой набор динамических библиотек DLL, которые обслуживают подключение и работу с конкретным типом базы данных.При запросе на подключение к определенной, заранее описанной базе "активизируется" определенная DLL - драйвер этого типа БД. Обращение к определенной базе данных происходит по имени так называемого источника данных ODBC (или DSN - data source name). Можно представить DSN как своего рода объявление БД на данном компьютере, причем DSN может быть пользовательским, т.е. находится в области видимости только одного польователя, в сеансе которого был создан этот DSN, и системным, т.е. видимым всеми пользователями данного компьютера.

Управление источниками данных ODBC (да и вообще настройкой всей системы ODBC) осуществляется с помощью специальной программы - ODBC-администратора. Давайте разберем, где его можно найти в различных версиях Windows:

Windows 9х - сам исполняемый файл odbcad32.exe лежит в каталоге Windows\System. Запускать его можно напрямую либо через Панель управления (значок "Источники данных ODBC (32-бит)"). Если на компьютере установлен BDE, запустите администратор BDE и из меню Object выберите пункт ODBC Administrator.

Windows 2000 - исполняемый файл odbcad32.exe лежит в каталоге WinNT\System32, а запускать его можно через Панель управления -> Администрирование -> Источники данных ODBC. К сожалению, у меня нет возможности проверить, как с ODBC в NT3.51 / 4 - не думаю, что там ребята из Microsoft сильно его спрятали.

Почему ODBC?

Ведь есть же BDE, скажете вы. Да, возможно вы правы. Однако здесь есть "но". У обоих движков есть свои преимущества и недостатки. ODBC намного лучше работает с "родными, от Microsoft" источниками данных продуктов Microsoft Office - типа Access, Excel, MS SQL Server (вообще-то из-за Access я и затеял всю эту писанину). Кроме того, в стандартный дистрибутив BDE, который можно на каждом шагу найти в Интернете, я что-то ни разу не встречал SQL Links, впрочем, как я ни разу не встречал и отдельного дистрибутива SQL Links. А именно после установки SQL Links в BDE появлется возможность создавать алиасы к Access, MS SQL Server, Oracle и др. типам баз данных. Устанавливать же полную версию C++Builder или Delphi на компьютер пользователя может не каждый. А ODBC на "голой" машине уже содержит драйверы Access, Excel, FoxPro и SQL Server. В общем, для общего развития не помешает освоить и ODBC, тем более что access'овские базы, с которыми мы будем работать через ODBC, очень надежны (не в пример стандартным BDE'шным paradox'овым, у которых то и дело сыпятся индексы, а про такое поле как счетчик я вообще молчу), практически на любом компьютере пользователя установлен Office, что позволяет вносить коррективы "на месте", да и удобство всей базы в одном файле тоже иногда сказывается.

JDBC

Рис. Архитектура JDBC

Рис. Совместное использование JDBC и ODBC

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

Постоянный адрес этой страницы:

Календарь

Популярные новости

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

Как перезагрузить планшет если он завис?


Как перезагрузить планшет Леново
Все чаще большинство людей, для выхода в интернет, предпочитает пользоваться планшетами. Однако, как и любое устройство, планшет время от времени зависает. Поэтому пользователи сталкиваются с необходимостью

Не загружается планшет. При включении планшет висит на надписи Android. |
Любое устройство рано или поздно начинает работать со сбоями и ошибками, виной тому либо программные (системные) сбои, либо неисправность аппаратной части устройства. Очень часто планшет может перестать

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

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

Не включается планшет что делать
Айпад, планшет на Андроиде или Windows RT — ни одно устройство не застраховано от ситуации, когда вы просто не сможете его включить. Больше всего в таких обстоятельствах напрягает неизвестность. Пользователи

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

Как перезагрузить планшет, если он завис?
Планшет - это многофункциональный компактный гаджет, который по своей производительности легко может посоревноваться даже с ноутбуками. Его можно использовать для звонков, игр, интернета, а также в качестве

Планшет ЛЕНОВО завис
Когда Lenovo Tablet завис один раз – это не проблема. Когда это происходит на регулярной основе, владелец планшета неизбежно ощущает дискомфорт. Тем важнее разобраться почему устройство не работает

rss