I learned at the University some steps to model a database:
- Model the problem using the Extended Entity-Relationship Model.
- Extract the functional dependencies
- Apply some algorithms to normalize the database (3NF or Boyce-Codd)
- Create the database
I'm studying Computer Science and since I received that course I'm wondering if I always need to do those steps when creating a complex database for an specified problem.
For example, do PHP / .NET / .. programmers always do that? or there are some tools to simplify that process, maybe using another way of represent the problem instead of the EERM?