• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Oracle or DB2

 
Ranch Hand
Posts: 46
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hello there,
I'm trying to practice with a relational database (DBMS). Designing databases and writing Java programs that depends on this database. I have some background in this with Access and SQL Server, but i prefer to use/learn with another one.
I am seeing that i have one of two choices, IBM DB2 or Oracle.
If someone can enlighten me of what the benefits of choosing one over another, i will really appreciate it. I mean by the 'benefits':

The ease of use generally and for a Java programmer specifically.
Popularity
Job opportunities
Learning Resources
Or any aspect that you believe is important.
Cost doesn't count as i will not buy any of them for just learning and practicing

Thanks in advance.
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nawar,
Welcome to JavaRanch!

I don't think Oracle or IBM (db2) provide a free copy for learning. MySQL or Postgres are both free relational databases. Both use standard SQL and would be better practice than Access. MySQL has some use in industry. I'm not sure about Postgres. So to practice standard SQL/JDBC, you could use any of these. Oracle or db2 would only be needed if you are writing stored procedures.

That said, here are your criteria:
Popularity - db2 and Oracle are the leaders. Oracle is usually listed as being more popular.

Job opportunities - Any. An employer will care that you know JDBC. Not database specific SQL.

Learning Resources - Oracle is stronger than db2. MySQL is up there with Oracle.
 
Nawar Gailani
Ranch Hand
Posts: 46
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Jeanne for welcoming me and for the very useful information.
Yes, maybe i need to write stored procedures (i have learnt that with MS SQL Server, didn't practice it enough though).
I thought also of MySQL and it is a third option in my mind but as i know (version 4) lacks stored procedures and i didn't check what happened with version 5. For Postgres, it has stored procedures or something similar (as i remember but i might be wrong) but the learning curve is higher than MySQL. I have downloaded before Oracle 9i from their web site and indeed installed it. It didn't say what limitation is there! (I don't know what happened in Oracle as they offer JDeveloper without limitation, but in this case they say that).
I think you made my thoughts clearer as there is no big difference between all of them when using JDBC and SQL to retrieve data. The other part (if i want to design and have some administration knowledge) depends on what job i have in mind. Mmmmm, i think it makes sense to me now.
Gracias
 
Ranch Hand
Posts: 1143
1
Eclipse IDE Oracle Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nawar,
Oracle database is free for personal use and development purposes.
As you have discovered, there is no problem with downloading it and
installing it.

Each database has its own, propriatory language for implementing stored
procedures. Oracle's language is called PL/SQL. I understand it is very
similar to PostgreSQL's stored procedure language.

Oracle still is (and almost always has been) the market leader in database
software. They have the largest market share.

And you can forget about database independence. There are also differences
in the SQL implementation for each database as well as in the JDBC drivers
they provide.

If you are looking to work for big companies, many of them
use Oracle (or DB2). If you are looking at small companies
or startups, then a lot of them use "MySQL". I'd concentrate
on becoming an expert in one database, rather than learning
a little about each one.

Good Luck,
Avi.
 
Nawar Gailani
Ranch Hand
Posts: 46
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Avi,
I begin to remember now some of the notes i wrote to 'remind' me about this topic before I got busy with SCJP Cert. But because i have 2MB of memory in my head, i forgot where i put those notes and articles!
Yes, I remember now that i read once about the SQL standard '92' and how the big ones (Oracle, MS ..etc) don't implement it fully, rather they keep their 'own' way. Even I read about 'Object oriented' way that exist 'somehow' in PstgreSQL, but no one else bothered about it which it said it would make database design and OO developer life much easier. Ok let's back to the 'real' life.
Mmmm, I don't think i have something essential to add about the 'real' life as you explained it very well.
Jeanne 'filtered' some doubts in my mind and you have answered all that remained.
I can see very clear now and already made my choice. And yes, i need the 'Good Luck' so,

Muchas Gracias Avi
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic