No conozco Java a ese nivel .. pero dada su orientacion a Objetos es mas q probable que use alguna capa de abstracción para multiples Base de datos (sea nativa de Java o una aplicacion java)
En PHP tambien puedes usar capas de abstraccion de multiples base de dtos ..
Los hay como "extensiones" de PHP como las "dbx":
http://www.php.net/manual/en/ref.dbx.php
soporta: MySQL ODBC PostgreSQL Microsoft SQL Server FrontBase Oracle 8 (oci8) Sybase-CT
Y tambien tienes Objetos (classes) de PHP para ello (esto no es extensión .. no requiere nda extra en tu servidor):
Una de las mas conocidas y q abarca mas BD es:
ADOdb
http://php.weblogs.com/ADODB
Hay muchas mas classes de este estilo q solo abarcan tal vez dos o tres BD difentes .. Habría q ver dentro de q "rango" de BD te mueves tu para escoger tal vez alguna Capa de abstracción mas "ligera" q no por ejemplo ADOdb con sus monton de BD q soporta ....
Por supuesto .. pese q estas capas de asbstracción te ayuden a portar tu código a varias BD diferentes .. las peculiaridades particulares de cada SQL puede hacer q no sea tan rápido el portar una aplicación a otro motor de BD .. pero será mucho menos drastico q si usases las funciones nativas de PHP de X Base de datos ..
Un saludo,
pd: jej es dbx . no dba .. me fuí por las ramas xD