whoever told u that relationships are enforced by triggers and procedures INSTEAD of foreign keys doesn't know what they are talking about.
relationships are enforced by foreign keys.
the only situation where a trigger should be used to enforce referential integrity is when you want to key a table to another table that lives in a different database -- in which case foreign keys aren't valid. note though that triggers adds some overhead.
procedures cannot enforce referential integrity.