En principio, lo que se entregan son los .jar de la aplicación, más los .jar de las dependencias.
Si usas una base de datos externa, evidentemente debe instalarse en el cliente. Por supuesto que también debe tener instalado el JRE.
También es perfectamente posible usar bases de datos escritas en Java, que se incrustan en la misma aplicación, y no requieren instalaciones externas.
HSQLDB http://hsqldb.org/ es un buen ejemplo.
Es en realidad un duda hasta un poco tonta... pero siempre cualquier duda debe ser aclarada.
El asunto es que yo sé programar un poco de Java, sé hacer por ahora pequeños Formularios, como facturas e incluso conectarlos a base de Datos de MySql y SQL Server.
Mi pregunta es:
Supongamos que me quieren contratar en un trabajo para ese tipo de programitas. ¿Cómo va a ser el entregable de la aplicación para el Cliente? Es decir, le entrego la carpetita con las clases, o cómo se entregan proyectos así?
Y otra: las bases de datos. Si una aplicación requiere bases de datos, las bases de datos (creo que son archivos .mdf o algo así) se guardan en la carpeta del proyecto, y luego cuando tenga que ir con el cliente a entregarle el proyecto, debo instalarle la Base de Datos SQL Server (En caso de que haya hecho la BD allí) y debo instalarle el JVM para que le funcione?