בהנחה שאתה מתכוון לשדה במסך, יש חמש שיטות שאני מכיר, כל אחת עם יתרונות וחסרונות. אני מציג לפי סדר ה"נוקשות".
1. הכי חזק: במחולל המסכים, מגדירים את השדה M בטור "קריאה/חובה/יתרה". מאד מומלץ לא לעשות כך אלא אם השדה נדרש לצורך שמירת נתונים.
2. אפשר דרך מחולל ההרשאות לסמן שדה כחובה לקבוצת משתמשים (ולהעתיק את ההגדרה לקבוצות אחרות). כך שדה יכול להיות חובה לקבוצה אחת אך לא לקבוצה אחרת.
3. ניתן להגדיר חוק עסקי שהופך שדה מסוים לחובה (או יותר נכון, מציג הודעת שגיאה כאשר אין ערך). מצד אחד, החלופה הזו יותר גמישה מהחלופות הקודמות, מפני שניתן להגדיר תנאי. זאת אומרת, למשתמש נתון, לפעמים השדה חובה ולפעמים לא. גם ניתן להציג הודעה שמסבירה את השגיאה. לעומת זאת, אין סימן שהשדה חובה.
4. ניתן לכתוב טריגר CHECK-FIELD ברמת השדה שמאפשר שליטה הרבה יותר חזקה מחוק עסקי. אבל מסובך.
5. ניתן לכתוב טריגר PRE-UPDATE ו/או PRE-INSERT למסך שבודק ערכים. שוב, מסובך אבל מאפשר שליטה טובה.
צריך לבחון כל מקרה לגופו של ענין: מה רוצים להשיג? למי השדה חייב להיות חובה? האם יש תנאים?