Implicity and Explicity

Nothing can be so amusingly arrogant
as a young man who has just discovered an old idea
and thinks it is his own.
Sidney J. Harris

By now I think I have established the legitimacy of the Six Hats, Six Coats Framework and I am presenting it here in what I am going to consider its final form:

zachmanframeworkabstract03.jpg

Every notational technique is a combination of two or more of the Six Coats. What we are working toward ultimately is a language to interrelate all Six Hats and Six Coats at once.

In this post I want to think about the terms “implicit” and “explicit” and how they relate to the Six Hats, Six Coats Framework. For the purpose of this framework implicit is defined as unchanging and invisible; explicit is defined as changing and visible.

Every entity, relationship, attribute, constraint, definition and manipulation has an implicit and explicit name. As well, every motive, locale, object, method, person and event has an implicit and explicit name. An implicit name is unique and once assigned cannot be changed. An explicit name is unique, but it can be changed. The implicit name is not visible to the user. The explicit name is visible to the user.

An entity which contains its own primary key is an implicit entity. An entity which contains a key from another entity in its primary key is an explicit entity.

A relationship that connects one entity’s primary key as part of the attributes of another entity is an implicit relationship. A relationship that connects one entity’s primary key as part of another entity’s primary key is an explicit relationship.

If the primary key is never made visible to the user and cannot be changed it is an implicit primary key. If the primary key is visible and can be changed as long as it is unique it is an explicit primary key.

Attributes that are foreign keys are implicit attributes. Attributes that are non-key are explicit attributes.

Constraints are implicit when they are data listed in a foreign entity. Constraints are explicit when they are a datatype.

Definitions are implicit when they protect explicit child tables. Definitions are explicit when they cascade manipulations.

Implicit manipulations maintain an audit trail. Explicit manipulations do not maintain an audit trail.

So, what is the purpose of implicity and explicity? Primarily it is strength and flexibility. Implicit design results in rigid, but more integral systems. Explicit design results in flexible, but less complete systems. For example, in an office you have work to rule, which is implicit, and work to allow, which is explicit. Ultimately, in dealing with implicity and explicity it is best to strike a balance. No system is fully normalized or fully exceptionalized. It is necessary to allow for both normality and exceptions as no system is fully closed or fully open.

Implicity and Explicity

Advertisements

Approach and Reapproach

rainbowpath.png

This is an interesting site about mazes using graphical techniques. When I look at the examples I am reminded of my approach and reapproach of core concepts to have new insights. This a key element of mental flexibility. It is not wrong to attempt again and again to solve the same problem. It is wrong to attempt again and again to solve the same problem with the same approach.  It should also be recognized that differences in problem and approach can be subtle.

Tetrad Theories

Here is a table to describe some of the tetrads we have discussed so far in this blog.

tetrad3.jpg

The first column is our friend Structured Query Language (SQL). The second column is the four components of physiological and psychological health. The third column is the tetrad of McLuhan’s Laws of Media. The fourth column are the Zachman Framework’s four perspectives. The fifth column are the first four Structured Development Lifecycle (SDLC) phases.

The rows in the table correlate the similar facets of each of the tetrads. I will go into detail in a later post. How does energy, matter, location and event correlate? How do the Secrets of the Universe of Discourse correlate? How does data, information, knowledge and wisdom correlate? How does colon classification correlate?

Take a moment and let yourself stretch.

Sanity

I was doing some reading today on the topic of “mental flexibility” and as I Googled I found the topic evolve into a description of “mental health” with mental flexibility being one of the components. What follows is a summary of what I found.

All too often we define mental illness, but a clear definition of mental health is elusive. But from what I read mental health is not complicated. Mental health has four components:

  1. Focus
  2. Flexibility
  3. Objectivity
  4. Resiliency

A focused person knows what he wants from life. A flexible person is willing to take different approaches to get what he wants. An objective person recognizes what approach works and what approach doesn’t. A resilient person is not only prepared to let go of what doesn’t work, but to accept what does persistently. If you are mentally healthy you have all four of these aspects working in your favor. If for whatever reason you do not have one of these traits you are to some degree ill.

How does this relate to this blog? Apply this formula to any data based project you undertake and you will discover that there is a degree of disfunction in pretty well every one. And now let’s harken back to John Zachman’s perspectives:

  1. Conceptual: Are you focused?
  2. Contextual: Are you flexible?
  3. Logical: Are you objective?
  4. Physical: Are you resilient?

Funny how the paradigms shift like a Porsche transmission.