Different type of column
Would it not be safe to assume that your products might have more than one restriction?

In that case, don't you need an intersection between product and restriction (type)?

Consider this ERD:



Note that restrictions are shown using an entity-sub-typing model.  You can keep distinct restriction value types appropriate to the kind of data that you require.  At the same time, the individual specific restriction types share a key space with the restriction header table.  That makes the intersection: PRODUCT_RESTRICTION easier to define and use.

There are different ways of doing it, but you'd probably want to consider including a partitioning attribute in the RESTRICTION table.

Walter Mitty suggests:


  If you want to model restrictions as a case of subtyping, there are
  design patterns for this case.   There are two tags over in
  StackOverflow where the info tab might help you: 
  single-table-inheritance class-table-inheritance


Joel Brown responds:

The restriction model I have illustrated is one common way of implementing subtyping.  There are other variations.