O exemplo mostrado foram só 5 linhas. Ocorre que os dados podem ser diferentes nessas 5 linhas. Não dá para deduzir a corretude da chave apenas com essas poucas linhas.
Vamos a um contraexemplo simples. O número de alunos matriculados suplantou o tamanho da turma para a disciplina MAT01 Então foram abertas duas turmas pela faculdade, uma pra o professor Paulo e outra para a Professora Beatriz. Ao se colocar a chave como disciplina e semestre ao se tentar inserir a linha fora do sample (exemplo) daria erro de chave duplicada.
Numa estrutura mais elaborada teríamos a tabela de disciplina, a tabela de professores (inclusive um responsável por cada disciplina, fora os que lecionam), uma tabela de matrículas. Na tabela de matrículas teríamos o código da disciplina e a data como critério de entrada (há uma matrícula na disciplina X no semestre Y), só que a chave teria que incluir também o professor que leciona (que poderia ser o código do professor), o código do aluno, etc.
Se a necessidade não fosse plara matrícula, mas a disciplinas oferecidas no semestre (um segundo uso) daí só teríamos a chave composta para a tabela, código do curso e semestre. Já se a necessidade fosse das turmas formadas, pela quantidade de alunos previstos para a matrícula, previsão para o próximo semestre, daí a chave já seria total e composta por código do cruso, código do professor e semestre. Lembrando que, por questões de horário dos alunos, duas ocorrências da mesma turma, no mesmo semestre, podem ser no mesmo horário, para que todos os alunos se matriculem sem gerar sobreposições de horários com outras turmas.
De qualquer forma, o sample de 5 linhas não é suficiente para definir corretamente a chave primária. Se o sample for o total da tabela para colocar o código da disciplina, mas como está, sem informações adicionais, como uma regra de negócio que obrigue um único discente para cada disciplina, não há como saber o tamanho correto da chave primária.
Lamentável