database developers, tables first, UI second

database developers, get together and talk it out

One thing that is fantastic about being around other database developers is you get to “talk out” ideas.  If you are fortunate to work with other developers hopefully you can strike up some conversations and learn from one another.

I believe many developers can improve their database development abilities by talking out the problem. This is an important activity for developers seeking to improve their skills because by talking about the problem you start to see the problems from different angles.

So if you are a new or experienced developer, seek outlets to talk out different database problems. Find out different approaches and discuss different possible solutions till you feel you know the correct approach.

Hold off on the User Interface design

I know of one such conversation that went on. One of the developers was trying to build a database and was at the same time talking about how the UI would look. The more senior developer recommended to put off thinking about the User Interface until after the database schema was determined.  In other words focus on the core requirements and what entities will express those relationships.

In this case we are talking about tables and relationships between them. At one point the senior developer was recommending to normalize the tables down to core entities.  I see this as one of the big areas where newer developers can improve on. Frequently developers rush over the table creation, business requirements gathering process. The don’t spend enough time normalizing their tables to third normal form only to regret that later.

focus on tables and relationships

So in the early stages of database development, please don’t focus so much on how the user interface will look. That is important, but before you start thinking of the UI, you must create a good database model, I recommend to have your main tables set, your primary keys and foreign keys defined first.

When your tables are set , populate them with test data and confirm you can run queries or functions with expected valid results. Taking the extra time to do this properly will be worth it in the long run, saving you grief later on.