
|
|
Naming of classes, entities, and attributes in the Data Model was influenced by the well-documented and accepted ISO/EEC 11179 standards. For example, the Education Data Model hierarchy has the following properties:
Also, class names begin with a capital letter and contain no spaces; entity and relationship names begin with a lower-case letter, followed by camel case, with no spaces; attribute names contain spaces and are capitalized. For example, Person and Client are classes, libraryPatron is an entity, and Library Patron Name is an attribute.
In creating the taxonomy, a number of questions arose concerning the scope and depth of the taxonomy. For example, where do we draw the line between classes and entities? Is "science teacher" an entity in the class of teachers? Or is teacher an entity and the "Subject Taught" a characteristic (attribute) of teachers? Is a "warehouse" a type of building (that is, a coded value in a code set for building type)? Or is a warehouse a separate entity in a class of buildings?
A subjective criterion for creating a lower level entity might be that characteristics of the lower level item must be significantly different from the parent item. Another view might be that characteristics of the child item must be a significant addition to the parent characteristics. So teacher is a type of person and is a child of the class of persons because the characteristics for teachers are a significant addition to the person attributes.
In order to clarify the distinction between a class and an entity, the following guidelines were used in developing the Data Model:
Entity
Class
As an example, there are two teacher-type entities located within the taxonomy in the following way:
Then shouldn't we also have:
or,
One guideline to use in deciding whether to create the next level of detail, or whether to create a variation of an entity, involves anticipating when a different table for the concepts would be used in a physical or logical model.
Is it reasonable to think that teachers and substitute teachers would be tracked in two separate tables? The answer, in this case, is yes because substitute teachers are different enough from regular teachers that they are typically tracked by different systems or by different rules.
On the other hand, high school teachers and middle school teachers would best be tracked in a single table with a coded field that indicates the level of their teaching assignment. Similarly, certified teachers could be tracked as a status field in a teacher table or as a link to a certifications table.