Some Discussion of HPM
PP90 - 93
Data Names and Definitions


Data Names.  HPM discusses some important aspects of naming things like tables and fields in databases.

  • make them meaningful
    • more likely name them so they have meaning to people in the organization
    • name them so that other people looking at the data will have much more sense of what is contained
    • critique the following
      • customer_first_name
      • sales_rep_last_name
      • fn
      • $$$
      • cost_wholesale
      • ss
      • h_p
      • phone_home
      • customer_phone_home
  • be unique
  • be readable
    • dangerous to use upper and lower case to distinguish things on some platforms
      • customerfirstname
      • CustomerFirstName
      • customer_first_name
      • cnf
  • compose them using words from an approved list
  • be likelier to be the same name others would choose

One author suggests this list

  1. prepare a definition of the data
  2. remove insignificant or illegal words
    1. having an AND or OR likely means you should atomize further
  3. arrange the words in a meaningful, repeatable way
  4. assign standard abbreviations when meaningful
  5. make sure the name doesn't already exist in use elsewhere


Data Definitions. 

A term is a specific word or phrase that has meaning for the organization.

  • course
  • section
  • showing
  • rental car
  • apartment
  • reservation
  • summer camp

A fact is an association between two or more terms.

  • a passenger may reserve a flight
  • a child may be registered for a summer camp
  • a client may be scheduled for a showing

What constitutes good definitions?

  • look for data objects and their definitions in similar places to business rules
  • diagrams can be very helpful
  • try to capture subtleties
  • reflect special or exceptional conditions
  • examples
  • determine
    • where
    • what
    • who
    • how
    • data are created/calculated in the organization
  • is the data static or dynamic
  • is the data singular or plural in atomic form
  • who determines the value of the data
  • who owns the data (controls definition and usage)
  • whether the data is optional or if empty values will be allowed
  • whether the data can be broken down into smaller atomic parts

Many people say, "He who controls the meaning of the data, controls the data."

The book discusses many of the difficulties of defining a "student"

  • prospect
  • applicant
  • admitted applicant
  • matriculated student
  • continuing student
  • former student
  • graduate

You might also think about the difficulties associated with "passenger"

  • reservation
  • ticketed
  • has assigned seats
  • boarded
  • rebooked

There are plenty of worse situations where you might not have all that much experience.  Think of "patient" or "member".