in reply to Should it be database independent?

Hard to say. It very much depends on your goals. If you write an application that you want to sell, or have used, by as many people as possible, and your main use of the database is to store a bit of data, it makes sense to go for database independance. OTOH, if you are writing a specific application to be run by your company, and your company only, and your company has been using Oracle for hundreds of applications for the past 20 years, it's not very likely there will be a need to run your application on DB2 anytime soon.

It's similar to the question how portable Perl applications should be. It always involves trade-offs. If it's more portable, it can be deployed on more platforms. But it might mean the code is more complex, or less efficient. How much more efficient will depend on your data, and how you have of it. If being more portable means your queries that twice as much (because you can't use a cool database dependent feature), it matters if it means that the queries now takes 0.2 instead of 0.1 seconds, or 10 minutes instead of 5.