Overview

Attention! The integration of object-oriented components with the help of data classes will follow a new approach in future versions of DataView. For this reason it is recommended to refrain from creating new data classes in the modeling phase and to use only the classical model objects entity, entity type, relation, and link. Data classes that have already been created are still supported for reasons of compatibility.

DataView integrates object-oriented components for model creation. In addition to the creation of classical model objects (entities, types, relations,...) you can create data classes in the entity in relationship model and map them in the database.

Data classes are not only described by special features (attributes), but also show a special behaviour (methods) and have triggers.

Data classes are a approriate means to combine the advantages of the relational and the object-oriented model approach. On the one hand they are objects in the relational data model, on the other hand all essential procedures of object-orientation can be applied to them as well.

Some explanations and examples for a better understanding of the terms:

Data class, data object, attribute, method
A data class is nothing but the classical entity. The data class describes, how the individual user records (objects) are mapped to the database (attributes) and -- which is new -- how the objects behave at special user actions (methods).

A data class Material is for instance described by attributes such as material number, identifier,... . Possible methods for Material are for instance " add to material list", "assign document" or "delete".

Association
An association between data classes is nothing but a data-view relation or a link between entities.

The Material data class for instance is a relation to the data class Suppliers. The relation attribute can be the purchase price.

Derived data classes, basic classes, inheritance
You can derive data classes from other data classes for the purpose of specialisation or generalisation. The results are derived classes with basic classes. Derived classes inherit all attributes and methods of the basic classes included. A specialised data class basically corresponds to the classical type-derivate of an entity.

For the purpose of specialisation you can for instance derive the data class Screws from the data class Material. It will inherit the material attributes Material Number, Identifier,... and will get additional attributes specific for screws, such as Thread Pitch (implemented via a second basic class). Additionally, screws can -- just as materials -- be deleted or added to material lists, because the data class Screws inherits the methods of the data class Material.

Polymorphism
Methods of derived classes can override methods of basic classes with the same name.

For some reason you might want to perform different usage checks when deleting screws as opposed to deleting materials. This is achieved by defining a screw-specific method Delete (same name) for the data class Screws. If the user now deletes a material, the default method Delete as defined for materials will apply. If the material is a screw, the screw-specific method will automatically be used.

Data classes will become a central part of the new implementation scheme in DataView. In this scheme data-and presentation-level are consistently separated. Data classes will then provide the data structures for complex masks on data level.