I want to modify the following DDL to add CHECK constraints so that the manager of a store works at the same store and a store supplies all the products if its type is \'local\'
To ensure that a manager actually works in the store, I would do this:
drop table manages;
alter table works_at
add column isManager bit default 0;
Ensuring that every store stocks every product is best done with a trigger, as mentioned in the other answers.
You should also consider the following points.