Data modeling and Monty Python


When you approach a new project, you are often tasked with the design of the data structures that will support the application. The data structures should allow for the required functionality and they should follow some principles of data modeling, like normalization, proper data types, etc.

How do you approach such tasks? Thinking in categories of tables is not always the best approach. Tables look like business entities, but not always. How do you model relationships between tables?

Thomas Frisendal wrote a very interesting article about data modeling. One of the less clear stages in data model design is the architecture of entity relationships. Database professionals tend to either bypass the relationship names or name them after the end point table names. The results do not reflect the actual semantics of your data domain and do not help you with understanding what is what, and why.

Data model, entity model

If you name your relationships in your data model using action verbs, the flow of information will become much more clear, and you will be able to design your queries in a more 'scientific' way.

Note that the image used in this post was created by Thomas.

Leave a comment

Please note, comments must be approved before they are published