When starting a new web app, what’s your data modeling workflow?

Your question focuses on tooling.

To get started:

  1. Figure out what your application is supposed to do, what it is supposed to accomplish, what actions/interactions are going to be supported.
  2. Now decide what persisted data is needed to support all your scenarios. If you can think of the data that your queries will have to return you’ll have a first draft of the data that you need. Now aggregate that knowledge and convert it to a relational model.

There really is nothing stopping you from laying down that foundation with a pen and paper or whiteboard + marker + camera (to capture snapshots).


If you are finding it difficult to break down your data into a schema:

Joe Celko’s Data and Databases (1999) - 2.6 Semantic Methods p.23

Terry Halpin - Object Role Modeling: An Overview (2001)
Terry Halpin - Object Role Modeling: An Overview (pdf)
Terry Halpin - Information Modeling and Relational Databases. Chapter 3: Conceptual Modeling: First Steps (2001)

Re-emphasizing: Don’t do the full 7 steps of the CSDP (Conceptual Schema Design Procedure) - do just enough to get the facts and sentences.


Sam Newman, Building Microservices (2015)

3 Likes