Constraints are very straightforward, there just aren't a lot of "moving pieces" to them.
The concept of triggers are pretty simple, although triggers are code-based so the implementation can become a nightmare.
I'd suggest that you read the basic Oracle documentation (it is only a few pages) on constraints and triggers, then experiment a little. In general, never use a trigger if a constraint will do what is needed. Only use triggers when there is no other viable solution, and make the trigger as simple and small as possible when you must use one.
In theory, theory and practice are identical. In practice, theory and practice are unrelated.