Perl DBI (Perl Database Interface) on standardoitu tapa upottaa tietokantaviestintä ohjelmiin, jotka on kirjoitettu Perl -ohjelmointikielellä [1] . Perl DBI -moduulia isännöi CPAN , ja sitä voidaan käyttää useissa kielen tukemissa käyttöjärjestelmissä.
Syyskuussa 1992 Buzz Moschetti, interperlin luoja, huomasi, että oli olemassa useita räätälöityjä perl-laajennuksia (perl-versio 4 tai yleisemmin perl4 tuolloin), jotka mahdollistivat yhteyden suosittuihin SQL-pohjaisiin tietokantoihin, nimittäin Interbase , Informix , Oracle ja Sybase . Hän otti näiden mukautettujen moduulien [2] tekijät mukaan projektiin luoda yhteinen rajapintakerros tietokantoille riippumatta taustalla olevien toteutusten erityispiirteistä. Tim Bunce otti johdon ja laati alkuperäisen määrittelyn, josta lopulta tuli DBI-moduuli vuonna 1994 perl5:n julkaisun myötä [3] . Perl-yhteisö on vuodesta 2010 lähtien tukenut DBI:tä CPAN-moduulina avoimen lähdekoodin mallin mukaisesti. DBD (tietokantaohjain) -moduuleja käytetään DBI:n laajennuksina, jolloin ohjelmoijat voivat käyttää lähes tietokannasta riippumatonta SQL-koodia sovelluksissaan. Ohjelmoijat voivat myös käyttää DBI- ja DBD-moduuleja epäsuorasti käyttämällä yhtä Perlille saatavilla olevista ORM -moduuleista , kuten DBIx::Class, saadakseen tietokannasta riippumattomamman koodin ilman SQL:n kirjoittamista.
Perl DBI- ja DBD-paketit mahdollistavat Perl-ohjelmoijien pääsyn useisiin RDBMS -järjestelmiin tavallisella tavalla [4] . Järjestelmä toteuttaa tuen jokaiselle DBMS:lle käyttämällä DBD-ajuria [1] , aivan samalla tavalla kuin eri valmistajien saman luokan laitteistojen kanssa työskentelyn ominaisuudet on toteutettu käyttöjärjestelmään laiteajurin avulla. Mahdolliset DBD-käyttäjät voivat ladata DBD-toteutuksia tietylle DBMS:lle Internetistä. DBD-toteutuksia on olemassa patentoiduille tuotteille, kuten IBM Db2, Microsoft SQL Server, Oracle, ja avoimen lähdekoodin tietokannoille, kuten SQLite, PostgreSQL, Firebird ja MySQL.
PHP 5:ssä on samanlainen käyttöliittymä nimeltä PHP Data Objects (PDO) [5] . Java Database Connectivity ( JDBC ) on myös toiminnaltaan samanlainen kuin DBI.