Если у некоторых учеников вообще нет оценок, хорошо ли это оформление стола?
Нет, если у некоторых студентов нет результатов, в таблице Students_score не будет (или не должно быть) записей. Это не очень хороший дизайн, и поэтому вы получаете ошибки.
Ваш дизайн должен быть похож на:
students
---------------------
PK id
name
number
students_score
---------------------
FK student_id
math_score
english_score
...
Подумайте о создании индекса UNIQUE
для вашего student_id в таблице students_score
, но это ограничит количество ваших записей на одного учащегося одной, что, возможно, не то, что вы хотите.