¿Cómo hacer que una clave compuesta sea única?

Estoy haciendo una base de datos de estudiantes en una escuela. Esto es lo que tengo hasta ahora:

Si no te gusta leer salta a la parte "En resumen"

El problema es que no estoy contento con este diseño. Quiero la combinacion degrade, subgrade yid_class ser único y servir como clave principal para la tabla de alumnos. Puedo quitar elstudent_id y hacer una clave compuesta de los 3 pero tampoco quiero eso. Tal vez debería hacer otra mesa digamoscombination_id dóndegrade, subgrade yid_class Son claves foráneas y hay una columna extra.comb_id que sirve como ID para la tabla. Y todas las columnas serán claves primarias. Pero el problema es que esas 3 columnas aún pueden repetirse debido a esa columna adicional (comb_id). Por ejemplo puedo tener el mismograde, subgrade yclass_id pero diferentecomb_id lo que hará que la fila sea válida debido a la clave compuesta de las 4 columnas de la tabla (combination_id).

En fin quierostudents_id para seguir siendo la única clave principal de la tabla, pero para ser una clave externa a otra tabla que es de alguna manera una combinación única degrades, subgrade yclass_id.

Si no estaba lo suficientemente claro, pregunte en los comentarios a continuación y gracias de antemano.

PDLo siento por el título indescriptivo pero soy malo en nombrar

EDITAR 1: Para ser más claros:grade puede ser 1 a 12subgrade puede ser una a jid_class Puede ser de 1 a 30 y es tu número en clase.

Así que un estudiante puede ser de clase 7b y su número en clase - 5

Respuestas a la pregunta(3)

Su respuesta a la pregunta