In the initial days of database technology various database vendors has developed various database products. Anybody who want to deal with any database the programmer must have complete knowledge about the database which they are using i.e., in the initial days all the databases are available with a specific library (native library) which was developed in 'C' language. In the context the programmer must have complete knowledge about the native library of the database which is a complex process.
In later stages all database vendors gathered and developed XOPEN/CLI (Call Level Interface) software along with Microsoft which is known as ODBC (Open Database Connectivity).
ODBC is having a common API or library for various databases and it is also developed in 'C' language and it is a platform dependent.
In later stages SUN micro systems has developed a general specification called JDBC which contains a common API for all databases with platform independent.
In order to deal with any database to represent the data permanently, we must use driver (a driver is a software which acts as a middle layer between database and front end application i.e., java) of the specific database. In real world we have various drivers are available for various database products.