Введение
В вычислительной технике Perl DBI (Perl Database Interface) предоставляет программистам, использующим язык Perl, стандартизированный способ встраивания взаимодействия с базами данных в свои программы. Последний модуль DBI для Perl, доступный на CPAN, может работать на широком спектре операционных систем.
История
В сентябре 1992 года Базз Мошетти, создатель interperl, заметил появление нескольких специализированных скомпилированных расширений Perl (в то время версии 4 или, чаще, Perl4), обеспечивающих подключение к популярным базам данных на основе SQL, таким как Interbase, Informix, Oracle и Sybase. Он обратился к авторам этих специализированных версий с предложением создать общий интерфейсный уровень для баз данных, независимый от особенностей их реализации. Тим Банс возглавил эту работу и начал разработку спецификаций модуля DBI в 1994 году, после выпуска Perl 5, который устранил необходимость в индивидуальной компиляции в пользу динамической загрузки библиотек (модулей) во время выполнения. Сообщество Perl поддерживает DBI как модуль CPAN в соответствии с принципами открытого исходного кода. Модули DBD (DataBase Driver) выступают в качестве плагинов для DBI, позволяя программистам использовать в своих приложениях SQL-код, практически не зависящий от конкретной базы данных. Программисты также могут использовать модули DBI и DBD косвенно, применяя один из доступных для Perl объектно-реляционных мапперов, например DBIx::Class, для получения еще более независимого от базы данных кода, без необходимости написания SQL-запросов.
engaged the authors of these bespoke versions with the idea of creating a common interface layer to the databases separate from the specifics of the underlying implementations. Tim Bunce took the lead and began specifying what would become the DBI module in 1994 upon the release of perl5 which eliminated the need for bespoke compilation in favor of dynamic, invocation time loading of libraries (modules). the Perl community maintains DBI as a CPAN module in accordance with the open source model. DBD (DataBase Driver) modules serve as plug ins to DBI, allowing programmers to use near database independent SQL code in their applications. Programmers can also use the DBI and DBD modules indirectly using one of the object relational mappers available for Perl, such as DBIx::Class, for more database independent code with no need to write SQL.
Особенности
Пакеты Perl DBI и DBD позволяют программистам на Perl обращаться к различным базам данных единообразным способом. Каждая поддерживаемая база данных реализуется в виде драйвера DBD, подобно тому, как аппаратные устройства разных производителей могут работать с различными процессорными платформами. Разработчики, желающие использовать DBD, могут загрузить реализации DBD из Интернета. Существуют реализации DBD для проприетарных систем, таких как IBM Db2, Microsoft SQL Server, Oracle, а также для баз данных с открытым исходным кодом, таких как SQLite, PostgreSQL, Firebird и MySQL.
Аналогичные проекты
PHP 5 имеет аналогичный интерфейс, называемый PHP Data Objects (PDO). Java Database Connectivity (JDBC) в Java также похож.