As part of database design task for a high school, I am kind of stuck with classes table. The tables created so far are:

```
Students
--------------
Id
name

Grades (grade 1,2,....9,10)
------------------
id    
description    
term

Subjects (science,maths...)
-------------------
id
name

grade_subject (subjects tought in grades)
----------------
id
grade_id
subject_id

teacher
---------------------
id
name

teacher_subject (teachers who are assigned to teach subjects in particular grade)
---------------------
id
teacher_id
grade_subject_id

```

I am not confident about table design of teacher\_subject table. This table makes use of id of grade\_subject\_id which might (not) be a good design. Should this table have two FKs , one grade\_id and subject\_id?

I also need further to store number of classes conducted on particular subject and grade by particular assigned teacher.

Would this table fit in this case:

```
Class (stores daily teaching schedule)
-----------------------------------
id
*teacher_id
grade_id
subject_id*

*or only teacher_subject_id from teacher_subject table*

date
start_time
end_time
status ( conducted/cancelled/postponed)+

```

And lastly, a table to store information about who attended the class

```
attandants
--------------------
student_id
class_id

```

Any suggestions would greatly be appreciated.