6BI (Six Basic Interrogatives) was originally an adaptation of the Zachman Framework[i] to the design of data warehouse data stores. The idea was based on the assumption that a large number of the business questions that always seem to need answering, regardless of industry, are based on Zachman’s primitive interrogatives. One combination or another of these interrogatives: Who, What, Where, When, How and Why always seems to be needed in order to get the answers we are after in business intelligence. These combinations consist of at least three of the interrogatives, two of which are always Who and What. At least one, or as often as not, all four of the other interrogatives are needed to complete what we call the Analytic Schema. An Analytic Schema is not deigned to answer specific queries but instead is structured to represent all the basic aspects of an enterprise so that queries do not need to be known in any great detail in advance.
Each interrogative is associated with an aspect of the enterprise. In 6BI, aspects are called Business Object Categories (BOC) and they include Parties, Things, Locations, Events, Activities and Motivators. Many books and articles have been written explaining and expanding the fundamental concept of enterprise aspects, including those by David Hay[ii], Dan Tasker[iii], as well as Zachman himself and others. Also, see earlier posts and pages on this blog[iv].
The most effective, and recognizable, form of Analytic Schema is a star schema. Each dimension is classified by one and only one BOC, in other words the aspects determine the type of each dimension. This classification of dimensions into BOCs already begins to tell us the role each aspect will play in queries built from the schema. Each BOC is represented by at least one dimension. The number of actual dimensions classified under each BOC does not matter but it is important to know type of each dimension. All the dimensions of all types link to the same set of facts. Figure 1 shows what a 6BI Analytic Schema looks like.
Figure 1. The 6BI Analytic Schema.
The Analytic Schema is a conceptual schema and real world star schemas quite often do not explicitly represent the conceptual nature of 6BI but are physical schemas designed to support a set of queries addressing specific business requirements. However, it is not generally too difficult to parse and sort the attributes of star schema dimensions into the six categories needed for 6BI. Difficulties occur with dimension attributes that tend to defy categorization. For example, is a certain attribute a component of the When or the How interrogative? This is especially true when we consider the real world information trade-offs that are often needed between events and activities for effective decision making. Does the event drive the activity or does the activity drive the event? Something more just correlation is often needed. Also what about the motivators?
In 6BI Parties and Things have no direct dependency on each other and have no non-intermediated association with each other. From a data modeling perspective, this means that a Party does not reference (i.e. has no foreign key to) a Thing, and a Thing does not reference (i.e. has no foreign key to) a Party. This is very important, mainly because of the implicit role of the Who interrogative. It is “the Who”[v] of the Analytic Schema for which answers need to be found. Parties are responsible for the results using Things, but those results only have value if placed in a framework of Locations, Events, Activities and Motivators. In the semantics of queries built on the Analytic Schema the subject is most often one or more Parties and the object (either direct or indirect) is always one or more Things. Predicates are composed of the other BOCs and the Facts. 6BI Analytic Schemas can be a framework for creating queries that are a type of logical proposition called a Quadruple because they are always composed of four parts: subject, direct object, indirect object and predicate.
6BI was originally used to do “logical reverse engineering” of existing operational OLTP databases to sort tables into a set of buckets with each bucket representing one of the BOCs. The thinking was that underneath all the differences that make each organization and its data unique there is a common logical structure upon which an analyst can start the analysis of the problem space. This can be a great benefit if one needs to “hit the ground running” so to speak. My experience (25 years and counting) has shown this to be the case. This was useful when my goal was to identify candidate tables in data sources to frame out the Analytic Schema. Knowing which tables belonged to which BOC was always helpful because it allowed me to see what role the records in this type of table might play in query development. For example, I would know that tables classified as BOC Location tables were the most likely to have information about where customers and products were located, and where transactions occurred. It also identifies the “where” dimension of the facts to use for doing such things as calculating the relationship between location and time in, for example, analyzing the optimum combination of store location and store hours.
This “logical reverse engineering” can not only be applied to tables in a relational database (RDBMS), but to documents in a document database (DDBMS), key-value pairs in a key-value store, and two-level maps in a column-family database as well.
Next, we will look at how to align random data structures (tables and documents) with the BOCs of the 6BI Analytic Schema.
[i]https://www.zachman.com/about-the-zachman-framework
[ii]https://www.amazon.com/Data-Model-Patterns-David-Hay/dp/0932633749
[iii]http://www.gettextbooks.com/isbn/9780646125244/
[iv]https://waynekurtz.wordpress.com/
[v]Not the British rock band.
Tags: 6BI, Analytic Schema
September 28, 2019 at 9:00 pm |
Good day! Would you mind if I share your blog with my twitter group? There’s a lot of people that I think would really appreciate your content. Please let me know. Thanks
October 14, 2019 at 2:23 pm |
Yes, feel free to share my blog with your followers on twitter. I assume that when you say “my tritter group” you mean your twitter followers. AAMOF send me your hashtag and I’ll follow you on twitter.