Date of Original Version



Technical Report

Abstract or Description

A data model is commonly created to describe the structure of the data handled in information systems and persisted in database management systems. That structure is often represented in entity-relationship diagrams or UML class diagrams. These diagrams basically show data entities and their relationships. The data model for a given system can be seen as an architectural view. Code units (e.g., classes, packages) and runtime components (e.g., processes, threads) are most commonly regarded as software architecture elements. However, a software architecture document may contain architectural views that show other types of elements beyond these first class software elements-a deployment view showing hardware nodes and deployment files is an example. The data model showing the structure of the database in terms of data entities and their relationships is another example. Among other practical purposes, the data model serves as the blueprint for the physical database, helps implementation of the data access layer of the system, and has strong impact on performance and modifiability. This technical note describes the elements, relations, constraints, and notations for the data model.