Data Modeling Problems and Constraints
As the use of data modeling moved from an implementation tool of the physical file designers to a design tool of the systems analysts, systems designers, and more importantly the user, many of the problems inherent in the process began to become apparent.
The meaning of the record data model as a representation of the physical file design was apparent. It represented a schematic of record interconnections that could readily be translated into code which instructed the DBMS how to construct the files. Data record content was determined by the analyst and designer and only they needed to understand the logic behind the placement of data in specific records. The model was a tool of physical file design and a method of communicating design decisions between the designer and the implementation team.
The use of the analysis data model during the design phase as a communication mechanism between designer and user was less effective. Its meaning was also less apparent than that of the record model. The analysis model attempted to address the notion that data from the user perspective were descriptors (attributes) of things (entities), and that by identifying those things, their attributes and their relationships one would be identifying the subjects of data required by the corporation. The activities to produce these new models were positioned at the beginning of the development life cycle before the beginning of the data element identification process and well before the steps of assembling those elements into records.
Until the introduction of these models any data analysis activities that were performed attempted to develop the file and record designs by going from the detail (elements) to the general (records and files). The new models took a general to specific approach and added a new component to the model the concept of data subjects. This allowed the designer to proceed with the design logically, beginning with identification of subjects, then developing conceptual data groupings, populating those groupings with data elements and then taking the resultant model and translating it into physical records and files. The specific record layouts and file structures would be dependent upon the specific DBMS or data management technique chosen for implementation.
Areas of difficulty
The differences between the record models and the ER models stemmed from their content, from their perspective (what they were intended to represent) from their method of construction and from their use. Differences also arose from the terminology used by each. The following is a summary of these areas of difference,
The first area of difference arose from the change in perspective of the modelers. Prior to the analysis model, data file design tended to follow the pattern set by the forms that preceded them. That is the files were designed to contain data obtained from earlier forms. These forms tended to be utilitarian and rather restrictive or limited in the amount, kind and variety of data they collected. They were also highly standardized. A given form was designed to collect a certain kind of data, for a certain purpose. Any data not anticipated in that form was not intended to be included. Where unanticipated data was added to existing forms, or where form fields designated for one kind of data was used to another kind, confusion occurred, and mis-communication resulted.
The data collected by the forms and later by the automated files that replaced them did not allow for variation. Data was strictly formatted, strictly coded, and all data indicated on the form had to be collected. Because forms represented the data to be collected for a specific purpose it was codified for that purpose and rarely for any other. Customer information on an account opening form, was rarely of much use to the marketing department, since it was usually designed by the sales department, sometimes in consultation with the credit department, to determine the credit worthiness of the client and to determine what kind of account was to be opened for that customer.
The record models assumed that all data represented by the model had to be collected, although some variation was allowed. Another major assumption of these models was that each occurrence or entry in the file, each set of records was relatively uniform. These types of models allowed for few variations in the kinds of subjects their data represented. They also assumed that for the most part all occurrences would be processed in a similar manner.
There was one additional assumption which was key to the record model. Each symbol on the model represented a collection of data elements (segment, row or record) and each line (where they were used) represented the physical address or pointers which connected the records to each other. The only additional information contained on these models (in most cases) represented whether a given record occurred once or more than once within a "logical" set of records.
Each of the many different types of data model, both record and conceptual, introduced terminology and definitions intended to explain the concepts inherent in these models, and in some respects to differentiate the model from all other models. Each model had proponents who explained, clarified and extended the model beyond its original scope. Many of these models also engendered large groups of practitioners who met regularly to exchange ideas and experience. From these meetings originated more new terminology and concepts. Because the models were used primarily for DBMS file construction, and because most companies tended to standardize on a single DBMS, practitioners tended to be well versed in the terms and concepts of their particular model but relatively ignorant of the terms and concepts of any other model.
As firms began to use more than one DBMS, the terminology became confusing, because the same words meant different things for each. Records, segments, rows or tuples were all terms used to represent how the DBMS "saw" the data, but in reality they all represented a set of data items from the designer's perspective, although not always from the programmer or user's perspective.
This difference between what the designer built and what was presented to the programmer or user led to the rise of a distinction between the "physical" records and the "logical" records, between "physical" database and "logical" database.
The conceptual, analytical or logical models models shifted the focus of the designers and analysts from the question "how should the data be grouped and stored?" to the question "what information does the business require and what data must be collected and maintained to provide that information?"
During design, the analyst and user attempt to solidify concepts and business rules into data requirements and to represent those data requirements in some form which could ultimately become the physical file design.
The analytic model became a tool for stimulating ideas, identifying requirements and organizing those requirements in a coherent fashion. This use of the model however introduced many new concepts and perspectives which were only vaguely understood, and directed the analysis into areas which were equally vague and ill-understood. Further confusion was introduced when designers attempted to translate concepts from the record models into the analytic models.
The analytic models, because they portrayed concepts, became vague and muddled. This was because in most cases the concepts themselves were vague and muddled. The intent of the model was no longer clear nor was it clear in many cases what the model was trying to communicate.
The primary form of the mew or analytic models was the entity-relationship model. As originally proposed it was to be a link between the real world things that the user worked with and the record models that the automated system implementation teams worked with. It was intended to be DBMS independent, and focused on things about which data was collected rather than on how data about things was to be stored. These new models were part of a new approach to design, an approach from the user perspective. These models depicted business entities and their relationship with each other.
The concept was stark in its simplicity. All business data is collected and maintained about people, places, things or concepts of interest to the firm. Thus if we model those things we have a strong foundation for determining what data is needed about these things. This new approach however developed still another set of terms to describe its components and to explain its concepts. It was strongly grounded in the relational model, and incorporated many of the concepts of normalization associated with the relational model.
Although data is collected about people, places, things and concepts files are created about groups or collections of people, places, things and concepts. Since it is cumbersome to repeat the phrase people, places, things or concepts each time when talking about these groups in general, data modelers use the term generalized entity. Thus an entity is any group of persons, places, things or concepts about which the firm must collect and maintain records (records in this sense are business records).
Many of the analysts and designers familiar with the record models saw the new models as a new way to portray the record relationships, rather that as a different kind of model. The developers of the CASE tools, also used the ER model in a similar manner. Unlike the record model where the symbols or model components represented a record, which was a representation of a group of data elements, the ER model symbols, or components represented entities. The term entity as defined in the dictionary means the fact of being, existence. There is no representation, implied or otherwise as to the subject of that existence. In other words, without further detailed explanation, the term entity means absolutely nothing.
Even if the ER models were limited to people, places and things they would probably have not been easy to build and understand. The greatest difficulty however is engendered by the inclusion of concepts in the definition. First, by including concepts (and sometimes even events) within the definition of the term entity, we have in effect made an entity equate to anything we want it to be, since the span of the definitions includes everything within our perception. Thus, not only can records become entities, but also roles, and even entities themselves can become part of what is being modeled by the ER models. The latter can be seen most clearly in data dictionary (also called repositories, and encyclopedias) models when data processing personnel attempt to create entry types to document entities from their analytic models. The inclusion of concepts and events in the definition, caused many modelers to find themselves in the curious position of having to discuss the "entity entity."
Another difference between record model and analytic model also caused confusion. The record model described a record structure. It was implicit in the model that each structure or schematic of records represented the data about a given subject and that each iteration of the structure, or each iteration of records represented data about a given instance. The record model however was the final product, it did not decompose into any other type of model, nor did the records described decompose into different kinds of records.
The entity-relationship model is a decomposition model. That is it is not intended to be used as a final form, but as an intermediate product. It was a transition product in much the same manner that the requirements documentation of the procedural analysis was not a final product but a reference point for the analysis phase and and the starting point for the detail design phase.
The entity-relationship model however was also substantially different from all other models then in use in the analysis and development cycle. That difference arose from the fact that all other models were either schematic (such as the data record models) or strict decomposition models such as the functional and process decomposition models of the analysis and design processes. It was also different from the flow models as typified by the data flow diagrams used by structured analysis advocates. The difference was that the ER model was what was called a semantic model. Semantics is defined as pertaining to meaning, as in language. The semantic model attempted to translate the meaning of the words used in requirements statements into pictorial representations for analysis. Specifically the semantic modelers attempted to translate the business rules which governed how, when and why the objects of business interest (entities) related to each other.
Previous data models looked at data record relationships, and portrayed the paths that had to be established between one set of records and another. These paths were analogous to the indices and cross references established between sets of paper form files. They attempted to automate the means of associating data in one file with data in another file.
The new models were an attempt to step back from the record models and look not at the data about things, but at the things about which the data was collected, and the relationships that had to exist between them based upon the statements of business requirements.
This step back forced both analyst and user to look at and clearly define those things, those entities. The development of the ER models was begun at a higher level and from a different perspective than most previous models. The higher level took it outside a specific business area, outside most operational areas and into the realm of the managerial, and sometimes even into the strategic levels of the firm. The focus shifted from ascertaining the data content of forms to trying to understand, or come to some common agreement about some of the fundamental concepts of the firm - those of product, customer, location, and sometimes even function and process. The new models highlighted many areas of ambiguity, misunderstanding and sometimes disagreement, problems which were masked by lower level models because they did not have to deal with it.
These models also highlighted hidden redundancy of concept and data by looking at the business rules which were the foundation of the business processing. In many cases these business rules were never clearly defined, or were defined in several different ways. The models also highlighted another and perhaps more disturbing problem, that of conceptual inaccuracy. Many employees, in most cases highly experienced employees did not have an accurate understanding of those business rules, nor of the legislative and regulatory rules under which the firm must operate. In still other cases, the models highlighted objects of business interest about which data was not being collected, or for which data was being collected in an incorrect manner. These omissions could if not detected severely handicap data collection activities and impede management's visibility into the firm's operations.
Another area of problem could be viewed as technical rather than analytical. Record models, because they were built to support the construction of DBMS files conformed to DBMS rules. One of those rules was that the DBMS could not support what were known as "many-to-many" relationships. A given record could be related to many other records, or to one other record, or even to no other records. However, the DBMS could not support the concept of many records being related to many other records. In building record models, great care was used to avoid or remove these many-to-many relationships. The ER model had no such restrictions, because the real world had no such restrictions.
Another relationship related problem had to do with the number of relationships portrayed by the model. In the record model, the relationships that were incorporated into the model were record to record relationships and represented for the most part, pointers or record address relationships. For the most part, although a given record could be related to multiple other records (particularly in the network models) there tended to be only a single, or at most two relationships between a given pair of records. In the real world, and in the ER model which portrayed the real world, multiple, independent relationships can exist, and often do exist, between any two entities.
Again, in the record model a relationship means only one thing, two records are related. Because these relationships represent pointers or record addresses, there is no data associated with them. Only in the case where the designer must resolve (eliminate) many-to-many relationships is a data record created to take the place of the relationship, and even in those cases these created records are related to their parent records by pointers. In the ER model, relationships represent business rules, and even one-to-one relationships may have data associated with them.
The concept of the relationship name is familiar to the network modeler (called set names in that model) but is alien to the hierarchic and relational modeler. This concept is integral to the ER model.
As mentioned previously, the ER model is not strictly speaking a decomposition model. However, the level to level model creation is based upon the principles of decomposition. The process of decomposing entities when going from level to level usually involves the separation of role entities from the base entity. This separation causes another "entity" to be created. This new entity may be real or not, depending on how important the role is to the firm. If the new role entity was completely independent from the original entity there would probably be no difficulty, however in most cases there is a strong overlap, complicated by the fact that the people, places and things represented by the entities play multiple simultaneous roles, and the firm must deal with them somehow. This is sometimes portrayed in ER models as the "is-a" relationship, as in the employee also is a customer. This treatment of the problem probably causes as much confusion as it resolves.
Part of this confusion stems from the fact that record models decompose according to different rules. When a record is decomposed two or more new records are produced and the old record disappears. There is no need to maintain the identity with the parent record. In the ER model there is a strong need to maintain this identity, and in fact the parent entity may and often does remain in the model along with its offspring.
Designers and analysts familiar with the record models know that the box on the schematic represented some number of data elements, even if those data elements had not yet been assigned. The box on the ER model represents an idea or a concept, even when the label on the box is something familiar such as customer.
This notion of boxes in data models without data is disturbing and many modelers, and most CASE tools make the assumption that the box does in fact represent data elements. They also treat the relationships between those boxes more like the pointer indicators in the record model that as representations of a business rule.
The definition of an entity itself has caused several problems for modelers attempting to use the ER models. Among them are that in unqualified form, the term "entity":
Within the ER model the term attribute is used when discussing a property of the entity. The entity, strictly speaking is nothing more than the label of something, devoid of properties or attributes. An attribute is a property, aspect, descriptor, identifier or characteristic of either an entity or a relationship. The entity is in fact the sum of its attributes. Entities are described in terms of their attributes. The term attribute has also been used as the name for data elements and data groups.
The difficulties with this definition are that these terms are not synonymous and thus the term "attribute":
In some data models attributes have been elevated to the status of entities. Many models, and most CASE tools have only two constructs, the entity, and the attribute. An attribute is a single data element, and an entity is anything that has more than one attribute.
Because of these differences in concept, different terms should be used. In later chapters, we will introduce some new terms (at least new to data modeling) and will suggest how they should be used, and why.
Data Analysis, Data Modeling and Classification
Written by Martin E. Modell
Copyright © 2007 Martin E. Modell
All rights reserved. Printed in the United States of America. Except as permitted under United States Copyright Act of 1976, no part of this publication may be reproduced or distributed in any form or by any means, or stored in a data base or retrieval system, without the prior written permission of the author.