Najbolja? To je teško reći....
Ja sam učio iz:
The Java Programming Language - Ken Arnold, James Gosling, David Colin Holmes --- ima da se nađe i na srpskom jeziku
Rešeni zadaci iz programskog jezika Java - Laslo Kraus --- pogledaj u
http://www.akademska-misao.co.rs/
Da ne pominjem: Java for dummies, Learning java
Možeš da nađeš dosta eBook-ova po netu, ali ipak po mom mišljenju, papir je keva, tako da potraži gore navedene knjige.
Za rad sa bazama, ne mogu nijednu knjigu da ti preporučim, šta god me je zanimalo, tražio sam po netu. Za povezivanje sa bazama se u većini slučajeva koristi JDBC, a (skoro) svaka baza obezbedi "svoju" verziju JDBC-a, kao i dokumentaciju kako se koristi.
Za okruženje pogledaj i
NetBeans, pa odluči šta ti najviše leži.