Constraining Records and Fields

Two questions:

Is there a way to say that a record cannot be created without certain fields being filled in? Some fields may be optional but some are absolutely mandatory.

Is there a way to constrain the values that a field may contain? For example, you may want to limit a numeric field to values > 0 and less then 100 and reject a record whose field falls outside of those constraints

Thanks in advance!