Database Design – Workflow, Process, and Tools Used by Professionals

database-designoracle-sql-developer

I hope this in the right place, as it's really more a question about database design software than the philosophy and practise of database administration. I'm a masters student doing an "introduction to databases" subject; the course leans more towards giving us a grounding in theory, less towards discussing how things are "really done". Working in Oracle SQL developer, we started off learning how to create databases by typing out schema files. Subsequently, we were introduced to the modelling tools in SQL developer, and shown how a logical model can be transformed ultimately into a set of schema files, or even just converted straight into a data dictionary.

While we were working in the 'raw' schema files, the general impression given was that this was how databases were designed by professionals, and that GUI tools were more suited to 'DIY' databases (e.g filemaker). Having seen how powerful (and time-saving) the GUI tools in SQL developer are, I'm not sure I believe this 100%.

The question I'm asking is: If a professional is building a new database from scratch, do they generally design and model, and then manually construct the schema files to implement? Or do designers/teams use tools like SQL developer from the beginning of the project to the end, using the software to design and implement the database?

Best Answer

In my experience it varies from one company/situation to the next.

As a dba I loved toad and sql developer because of the ease of use.

However there are times where you're required to script things using the lowest common denominator. For example writing installation or upgrade scripts that may be delivered to a number of customers. Some may have sophisticated tools others may not. But they all have SQL or PL/SQL.

My advice is do whatever you feel is right for you. Keep focused on your objective. Is the end result more important than how you get there? Or is the quality of your code and learning experience more important?