The functions of standard-, check flag- and delete flag procedures are closely connected. Using a combination of these flags the effects of delete operations can either be kept locally limited or extend over large parts of the data model.
Example: In the meditronic application a user is to be only allowed to delete an item from the item master if the item is provided by less than three suppliers (1). If DataView allows an item to be deleted, the suppliers, which are now no longer needed, are to be deleted, too (2). However, this may only be done if the suppliers do not provide any other items.
Condition (1) is fulfilled by the check flag entry >Pr = 3 in the refine relation Item-Supplier. As displayed in the figure, DataView checks the number of suppliers. As there are only two of them, the item can be deleted. The standard procedure for securing referential integrity will then automatically delete the relation records which are no longer needed. This is the trigger for (2), because the delete flag entry > = D in the refine relation Item-Supplier allows the assigned suppliers to be automatically deleted. Before DataView will delete the suppliers it will check whether further dependent elements exist for these suppliers. If for instance the second supplier provides further items (i.e There are more dependent elements in the aggregate relation Supplier-Item), but the first one does not, DataView will only delete the first supplier from the supplier master.
Because it can become confusing very quickly, you should initially use the default settings of the check- and delete flags for all relations in the data model. They will cover most cases. Then you can change the settings for each individual relation and check the effects. The effects of the default settings are shown here: