Create a Logical Model to Build Consensus

Learn to create a logical model of database for our Rails application.

We'll cover the following

The logical model is a tool to build consensus with the developers who must write the software and anyone else who understands what the software must do or what problems it must solve. The logical model is where we can identify requirements for the data to be stored without worrying (yet) about how to store it.

We recommend that the developers either lead this process or have final approval because this model is input into their work. While nondevelopers can do a good job of drafting logical models, there are often some fine details they miss that a developer will need to know in order to move forward.

We don’t want to think of the logical model as some grandiose document created by a formalized process. Often, a single spreadsheet is sufficient. No matter how we do it, we highly recommend writing it down and being explicit. It’s usually sufficient to capture:

  • The names of all entities or things to be managed.
  • For each attribute of those entities:
    • The name of the attribute.
    • What type of data it is.
    • Whether it’s a required value.
    • Any other requirements, such as allowed values, uniqueness, etc.
  • For each entity, what uniquely identifies it? Can two entities have the exact same values for all attributes, and if so, what does that mean?

Get hands-on with 1200+ tech skills courses.