If I have a table in Postgresql:
create table Education ( id integer references Profiles(id), finished YearValue not nul
You can also use a trigger on update and insert to check that a rule is followed before allowing the data into the table. You would normally use this type of approach when the check constraint needs more complicated logic.