This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
Do I need to know the UML first before knowing the programming of Java? I have a background from Database Modelling for Database programming, is it related in someway that I can apply the concept of UML as Database Modelling?
IMO you only need to understand basic OO concepts (like abstraction, encapsulation, modularity, hierarchies, typing, concurrency and persistence) before going to an actual OO methodology. What I can suggest is you grab a beginner's book (like Deitel and Deitel, or Horton) in Java. The OO concepts will come naturally as you proceed through the discussion.
Something to add here......UML is a type of diagram notations that can be used to represent the Software development process such as Rational Unified Process or Extreme Programming. On the other hand, OO is a concept that is used in OO programming languages like Java. Hence, I would say that UML is not a pre-requisite of Java, but knowing OO concepts can certainly make more sense for one....when he/she is learning UML. Simply, because OO concepts can be well represented by the UML notations.....