Know How to Read an ER Model
Reading a data model is like reading a map; some elements of a map are instantly recognizable and understandable while a professional cartographer can discern more information than a casual user or observer. Reading an ER model is like other information we learn, it helps to start with a wide view and to learn basic information then continue learning finer points and intricacies. Here are four essential elements to understanding an ER Model.
1. Tables Begin by identifying the core tables of the data model; core tables store the most frequently used information of the application the model supports. Become familiar with the data stored on these tables as they represent the most important data aspects of the application. Note the naming conventions of the tables and the data fields. Over time, you may be able to discern discrepancies in naming conventions.
Look for the tables and columns with the highest counts; this is the data that grows in the application. Recognize that for each query pulling data from the highest-count tables and columns, these are the areas of the application where performance may pose an issue. Frequently accessed data is where the application may benefit from building a cache. Consider at what frequency interval that cache needs to be updated.
3. Data Types Observe the data types used to store information. Ask yourself: do the data types used have limitations or boundaries that could pose an issue in the application? Is the data type large enough? Or is the data type too large which can cause overall application storage issues in the future. Are there data types used that are not searchable – will this be acceptable to the end users of the application?
4. Keys and Relationships
Become aware of the data relationships. What are the primary keys? What are the foreign keys? Being able to see and visualize the relationships in the data mode helps you to see the complexities of the queries and joins needed for searching and report writing. When you learn the “spread” of the tables in the database, you can plan for the complexities of CRUD transactions. (CRUD, create, read, update, delete.)
Having a sense of the data model is like knowing the primary highways through a state or province. Knowing the most populated areas tables and columns compares to knowing the most populated cities on a map and being able to anticipate traffic issues and performance issues. Primary and foreign keys help you to see how information relates to each other. Much like how to navigate from one highway to a surface road and then down to the specific address or data you need to reach. Once you get familiar with reading a data model, you’ll find you won’t want to work on an application without seeing the model. It would be like leaving your house without at GPS or road atlas – the data model is navigation tool into the inner working of an application.