The semantic model of database design is one method of modeling user data and requirements. It has both similarities to and differences from the entity relationship model. However, the semantic model may ultimately provide more effective and robust database systems, which are easier for users to conceptualize, and are easier for developers to normalize. The semantic model, though used less frequently, can be an extremely efficient way of modeling our business data.
Both the semantic model and the entity relationship model are methods of documenting and analyzing users requirements, and converting those requirements into a database the users can navigate easily through, one which provides forms, reports and queries so that users can track entities important to their work. Once the need for a database system has been decided, the developer determines, along with the users, the things to be represented by the database. The developer also specifies characteristics of those things, and establishes relationships among them.
In the semantic model of design, those things are called semantic objects. Semantic objects are similar to entities in the entity relationship model. Explicitly, a semantic object is a named collection of attributes that sufficiently describes a distinct identity. For instance, the CUSTOMER object in the semantic object model would contain attributes about customers. Of course, it is up to the developer to determine which attributes are important enough to capture, because only those attributes required for users to do their job are captured but all data required about an object must be located within the object. This is known as sufficient description of the object: capturing only enough, but all required, information about an object.
Semantic objects are grouped together into classes, similar to the way entities are grouped. Semantic object classes, like entity classes, are represented in uppercase letters.