Business Entity Modelling
In the in this series, we looked at how ActiveReports Server takes a best-of-breed approach to presenting complex physical data in a meaningful way. In this article we look at the power of Logical Data Models in more detail as one of the key foundations of creating a reporting solution that works for business users.
Introduction: Sorry, Britney Spears did not cover “Dr. Feelgood”.
Contrary to what you might think, the above table is not the tracklist of the most ridiculous cover album ever. That honor goes to Pat Boone for In a Metal Mood. This is what happens in most report designers when you use the Artist and Song tables without any regard for underlying relations in the database. Below is a scheme of what the tables might look like:
In this case, the database makes no connection between the tables, Song and Artist. But what if, there’s another table, called Album, that has common fields to both Song and Artist? A Logical Data Model can include that table, automatically making all necessary connections. That way the user making a report does not need to fiddle with relations and unfamiliar tables.
With the Album table in the middle, it’s easy to see how the Song and Artist tables relate to one another. Most report designers won’t automatically make this connection if you just drag Artist Name and Song Title onto a report. And that, ladies and gentlemen, is how you get Justin Bieber to cover Primal Concrete Sledge (how else would you?).
Why so confusing?
Databases are built and maintained by and for geeks. Database administration is an arcane art seemingly intended to keep non-techies out. This poses a problem when a business analyst wants to access the data for business ends. In this example, there is a good reason for this design that database administrators understand well but we won’t delve into the details here. The point is that the database administrator knows how to relate those two tables, while the business user may not.
This cognitive gulf between database design and business reporting was the motivation for the creation of “Logical Data Models”. ActiveReports Server uses Logical Data Models as lenses to view and extract any data in a user-friendly way that anyone can understand.
Logical Data Models clean up messy data
A Logical Data Model organizes your database into Entities and Attributes and Relationships. At the risk of oversimplification, they work something like this:
- The Entities are roughly equivalent to your database tables. Each entity has a set of Attributes.
- Attributes are roughly equivalent to fields in the corresponding table.
- Relationships denote how the various entities are related to one another.