Difference between DBI and libdbi

DBI and libdbi are two main database independent abstraction layers or interfaces. The explanation given here will provide an insight on the terms and package names available for our distribution.

 

DBI


dbi
DBI stands for DataBase Interface. It is the standard database interface module for Perl. It defines a set of methods, variables and conventions that provide a consistent database interface independent of the actual database being used.
Provided by perl-DBI package.
http://dbi.perl.org


DBD stands for DataBase Driver. It is the driver that allows Database to interact with DBI.
Example:
DBD::mysql   – Provided by perl-DBD-MySQL package
DBD::Pg        – Provided by perl-DBD-Pg package
DBD::SQLite  – Provided by perl-DBD-SQLite package
http://search.cpan.org/search?query=DBD&mode=module


DBIx stands for DBI Extension. They are extensions for DBI.
Example:
DBIx::Simple – Provided by perl-DBIx-Simple package
http://search.cpan.org/search?query=DBIx&mode=module


Examples of projects using DBI.
MySQL Database
PgSQL Database
SQLite Database
http://search.cpan.org/search?query=DBD&mode=module

 

 

libdbi

libdbi
libdbi is a database independent abstraction layer in C, similar to the DBI in Perl.
Provided by libdbi and libdbi-devel packages.
http://libdbi.sourceforge.net

In order to use the libdbi framework with a database, we must install the drivers for that particular type of database.
Example:
libdbi MySQL driver   – Provided by libdbi-dbd-mysql package
libdbi PgSQL driver   – Provided by libdbi-dbd-pgsql package
libdbi SQLite driver   – Provided by libdbi-dbd-sqlite package
http://libdbi-drivers.sourceforge.net

Examples of projects using libdbi.
MySQL Database
PgSQL Database
SQLite Database
Firebird Database
FreeTDS Protocol (Provides access to MSSQL Database & SAP Sybase ASE Database)

 

You may go back to any of the following sections.
Installing MySQL Server
Installing DBD::mysql
Customizing MySQL Server