Intended learning outcomes: Differentiate between entity, object, and data record. Differentiate between attribute and data field. Differentiate between object class, file, and table. Explain the class customer as a table in the relational database model.
An entity refers to a thing [MeWe18]; the existence of a thing. It can have objective reality (such as a person or object) or conceptual reality (such as a concept or ideas).
An object is something physical or mental toward which thought or activity is directed, or a goal or end of an effort or activity [MeWe18]. A related term is thing.
Entity thus describes the existence of a thing, whereas object describes more the item or thing as an object for study. With information systems for business processes, the one aspect does not exist without the other, so that in this case the two terms can be used synonymously.
An attribute is a quality, also a word ascribing a quality ([MeWe18]). A domain is the set of all possible values of an attribute.
To each object or each entity, a number of attributes belong that contain all information about the object or entity that is of interest in the context studied. Each attribute describes the entity or object in a certain way; it shows one aspect of it. For each attribute, there is a corresponding attribute domain; different attributes can have the same attribute domain.
A data record contains several data fields, arranged in a certain format, to store the data belonging to an object.
A data field is a special place in a data record to store the value of an attribute of an object.
Object data are thus coded information on the object or entity, that is, the data record or the set of all data fields of an object or entity.
An object class or entity class, abbreviated as class, is a set of entities or objects that in their essential qualities are described by the same attributes.
The term entity or object thus describes the individual value, that is, the occurrence or instance of a class, such as a person within the class of all employees of a company.
- In the entity-oriented approach, in practice the term entity is unfortunately used for both data structure (that is, entity = set of attributes) and the concrete value (that is, entity = set of attribute values). Thus, the entity person can be used as both an umbrella term for the set of the attributes belonging to the entity and a certain person, that is, a certain value for each attribute.
- In the object-oriented approach the term instance means only the concrete value, whereas the attributes are assigned to the class. The class is thus a structural term that can also be defined without concrete instances.
A file is defined by [MeWe18] as a collection of papers or publications usually arranged or classified; a collection of related data records (as for a computer); a complete collection of data (as text or a program) treated by the computer as a unit especially for purposes of input and output. In EDP, a file contains all data records on objects or entities belonging to a class.
Table is another term for class in the relational database model, which is probably the most well-known model in the entity-oriented approach.
The columns of a table correspond to the different attributes; the rows are the various entities of a class. Figure 20.3.1.1 shows an example where the class is customer with the attributes customer ID, name, agent, sales, line of business, and location.
Fig. 20.3.1.1 The class customer as a table in the relational database model.
Representing a class as a table is an appropriate and widespread practice. Incidentally, both the objects of a class in the object-oriented approach and the data records in a file in a data-oriented approach can be represented as tables.
Course section 20.3: Subsections and their intended learning outcomes
20.3 Modeling Information Systems in the Data View and Object View
Intended learning outcomes: Present terms such as object, attribute, object class, view, primary and secondary keys. Explain basic concepts such as association, association role and type. Describe the breaking up of an n-to-n association – in particular a reflexive one – and the association class. Disclose the use of the hierarchical constructs for developing a company-wide generic object model.
20.3.1 Object, Attribute, and Object Class
Intended learning outcomes: Differentiate between entity, object, and data record. Differentiate between attribute and data field. Differentiate between object class, file, and table. Explain the class customer as a table in the relational database model.
20.3.2 View and Primary and Secondary Keys
Intended learning outcomes: Produce an overview on the view on a class. Differentiate between primary key and secondary key. Describe characteristics for a “good” primary key. Explain the representation of a class in an object-oriented approach (with example) and the representation of an object.
20.3.3 Association and (Association) Role
Intended learning outcomes: Differentiate between binary association and reflexive association. Explain Abrial’s access function and the example of the association of the classes “book” and “customer” in library systems. Identify the (association) role.
20.3.4 Single-Valued and Multivalued Roles, and Total and Partial Roles
Intended learning outcomes: Differentiate between a single-valued role and a multivalued role. Differentiate between a total and a partial role, or access function.
20.3.5 Association Types
Intended learning outcomes: Differentiate between the 1-to-1 association, the 1-to-n association, the n-to-1 association, and the n-to-n association. Explain various examples of different binary associations.
20.3.6 Breaking up an n-to-n Association; Association Class
Intended learning outcomes: Explain the association class formed by breaking up an n-to-n association into a 1-to-n association and an n-to-1 association.
20.3.7 The Crow’s-Foot Notation and the Common Entity-Oriented Notation
Intended learning outcomes: Describe the commonly used crow’s-foot notation for depicting associations in the entity-oriented approach. Identify the common notation for associations in the entity-oriented approach.
20.3.7b The Reidentification Key and the Object-Oriented Notation
Intended learning outcomes: Explain the Representation of associations in an object-oriented form, as well as the concept of the reidentification key.
20.3.8 Breaking Up a Reflexive n-to-n Association, Step 1: Duplicate, and Step 2: Breakdown
Intended learning outcomes: Explain Breaking up a reflexive n-to-n association, step 1: Duplicate the class to create its two subclasses, and step 2: Classical breakdown of the n-to-n association.
20.3.8b Breaking Up a Reflexive n-to-n Association, Step 3: Merge
Intended learning outcomes: Explain Breaking up a reflexive n-to-n association, step 3: Merge the generating classes.
20.3.9 Using the Hierarchical Constructs Based on Basic Object Classes: The Company-Wide Generic Object Model
Intended learning outcomes: Explain the basic object classes and possible subclasses (specializations) of an industrial company. Describe the concept of a company-wide data model, or generic model.