Quote:
Originally Posted by pootle flump
you have to do both of them.
|
You don't
have to do both of them (or either of them!).
Entity Relationship Modelling (ERM) is a set of analysis techniques for making data models.
Entity Relationship Diagrams (ERDs) consist of a pictorial language (actually several different conventions exist) for drawing data models.
Normalization is a set of logical rules that help analyse and avoid certain problems that arise in relational database design.
All of these are tools that can help you in database design. They can be complementary. Roughly speaking, ERM could be thought of as a "top down" approach (identifying entities and relationships first) whereas Normalization is more like a "bottom up" approach: identifying dependencies between attributes.
There are alternative approaches that don't require ERM or ERDs. One such alternative is Object-Role Modelling (ORM - not to be confused with Object/Relational Mapping which is something else entirely). ORM is a fact-based modelling technique and has its own set of diagram conventions that are entirely different to ERDs. ORM also uses a formal procedure to derive a database schema in Normal Form without the user needing to consider Normalization directly. See
Object Role Modeling
There are also formal methods and some CASE tools that don't necessarily require use ERM/ERDs or knowledge of Normalization.
There are alternatives to ERDs, such as UML.
I'm not much of a fan of ERM techniques. They are in my opinion far too simplistic for modern databases and ignore too many important aspects of design. Personally I tend to do fact-based types of analysis and then create small, subject-specific ER diagrams only where I need them to communicate concepts to other developers. Despite what some people will tell you, I think ER diagrams are totally useless for communication with non-database professional users.