Know How to Read an ER Model

From WikiContent

(Difference between revisions)
Jump to: navigation, search
Current revision (17:05, 22 January 2010) (edit) (undo)
 
(6 intermediate revisions not shown.)
Line 1: Line 1:
-
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.
+
Reading a data model is like reading a map; most elements of a map are instantly recognizable and give the viewer a visual sense of where they are. In databases, the Entity-Relationship (ER) model gives the viewer a visual sense of the data model. Reading an ER model, like reading a map, can be done just for basic information and then, as you become accustomed to reading, you can look deeper for the finer intricacies of the 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.
+
-
2. Columns
+
The "E" of the ER model refers to ''entity''; an entity is also referred to as a table. The tables in a database store the data. For example, imagine a database that stores customer information. The tables in a customer database might consist of a customer table, an address table and a phone number table. Each table contains one or more columns.
-
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.
+
The "R" of the ER model refers to the ''relationships'' the tables have to each other. Imagine a database that stores customer and sales information. The customer table would have a relationship to the sales tale. In order to tie the two tables together and join the information, a column in the sales table must contain a reference to the associated customer. These table relationships are shown on an ER model, which in this case would be a line between the customer and sales tables.
-
3. Data Types
+
As a map shows places, an ER model shows tables. Once you become comfortable reading the tables on an ER model, a next level of understanding is reading the relationships. As a map shows us how to navigate from one place to another, an ER model shows how the tables relate to one another. Primary keys and foreign keys are two types of relationships usually shown on an ER model.
-
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
+
A primary key is used to uniquely identify each row in each table. The primary key is comprised of a single column or, less frequently, a set of columns. No two rows can have the same value for the primary key. An example would be using the customer name field as the primary key on the customer table.
-
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.)
+
A foreign key is a referential constraint between two tables. The foreign key identifies a column or a set of columns as a reference to another table. Using the customer database example, a column on the address table is needed to refer back to the customer table. Foreign keys link data and tables together.
-
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.
+
Having a sense of the data model is like knowing the primary highways through a state or province. Once you get familiar with reading a data model, you’ll find you won’t want to work with an application without seeing the ER model. It would be like leaving your house without at GPS or road atlas – the data model is the navigation tool into the inner working of an application and its data.

Current revision

Reading a data model is like reading a map; most elements of a map are instantly recognizable and give the viewer a visual sense of where they are. In databases, the Entity-Relationship (ER) model gives the viewer a visual sense of the data model. Reading an ER model, like reading a map, can be done just for basic information and then, as you become accustomed to reading, you can look deeper for the finer intricacies of the model.

The "E" of the ER model refers to entity; an entity is also referred to as a table. The tables in a database store the data. For example, imagine a database that stores customer information. The tables in a customer database might consist of a customer table, an address table and a phone number table. Each table contains one or more columns.

The "R" of the ER model refers to the relationships the tables have to each other. Imagine a database that stores customer and sales information. The customer table would have a relationship to the sales tale. In order to tie the two tables together and join the information, a column in the sales table must contain a reference to the associated customer. These table relationships are shown on an ER model, which in this case would be a line between the customer and sales tables.

As a map shows places, an ER model shows tables. Once you become comfortable reading the tables on an ER model, a next level of understanding is reading the relationships. As a map shows us how to navigate from one place to another, an ER model shows how the tables relate to one another. Primary keys and foreign keys are two types of relationships usually shown on an ER model.

A primary key is used to uniquely identify each row in each table. The primary key is comprised of a single column or, less frequently, a set of columns. No two rows can have the same value for the primary key. An example would be using the customer name field as the primary key on the customer table.

A foreign key is a referential constraint between two tables. The foreign key identifies a column or a set of columns as a reference to another table. Using the customer database example, a column on the address table is needed to refer back to the customer table. Foreign keys link data and tables together.

Having a sense of the data model is like knowing the primary highways through a state or province. Once you get familiar with reading a data model, you’ll find you won’t want to work with an application without seeing the ER model. It would be like leaving your house without at GPS or road atlas – the data model is the navigation tool into the inner working of an application and its data.

Personal tools