Project

General

Profile

Improvement #159

Updated by liaham about 4 years ago

## Self-related Relation 

 A When a user selects a project or project type in order to set it in relation between two objects of with the same model (ProjectType project or Project) is defined as ordered pair:  

 ``` 
 (a,b) != (b,a) 
 ```  

 The left object of project type which the pair is user edits right now, the superordinate (guest) and the right assigned object is the subordinate (host). should be validated w.r.t.: 

 * Project types uses superordinate and subordinate notation. the project_type_ids 
 * Projects uses guest and host notation. 

 ## Resulting Rules concerning Data Persistence 

 1. An the object cannot have a relation to itself: `(a,a) or (b,b)` . 
 1. An oject cannot have a subordinated relation to its superordinated object, what would cause a circular reference: `(a,b) and (b,a)` . That is, a relation is either `(a,b) or (b,a)`, but not both. The preferred definition, what should be saved, is from superordinated object to subordinated object.  
 1. The pair `(a,b)` is uniqe. existence

Back