سلام.
روی صحت طراحی جداول بحثی نمی کنم و فقط به جواب سوالتون می پردازم.
در حالت کلی وقتی می خواید همزمان چند شرط رو برقرار کنید باید از And استفاده کنید.
مثلا در همین مثال شما، یک دانش آموز نباید در یک ترم دروسش با هم تداخل ساعتی داشته باشند. یعنی همزمان باید روز هفته ، ساعت کلاس ها و شماره دانشجویی رو در کوئری وارد کنید. (و البته اگر قرار باشه در ترم های مختلف برای دانشجو درس ثبت بشه باید شماره ترم و سال تحصیلی رو هم در کوئری لحاظ کنید. یعنی در یک نمیسال تحصیلی مشخص، برای اون دانشجو، در اون روز، قبلا کلاسی ثبت نشده باشه).
در جدول شما اینطور میشه :
if (Exists(select * from TblName where StudentID = @stdid AND DayOfWeek = @day AND Time = @time))
{
-- دانشجو قبلا در این روز هفته و در این ساعت، درسی رو اخذ کرده
}
موفق باشید.