Since you can use constraints to make anything from simple relationships to complex mathematically-based constructs that generate random variables to subtly affect objects, there are three different types of constraints you can use, depending on your approach:
Constraint types A. Simple constraint B. Expressions constraint C. Relations constraint