Введение

В вычислительной технике 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-запросов.

Особенности

Пакеты 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 также похож.