Well, the table Link actually has no primary keys. It has two foreign keys. That's because it is used to manage a many to many relationship. This type of table is usually called a junction table.
That is a junction table for defining a many-to-many relationship because one student can have lots of modules, and one module can be done by lots of students.
You can fix it to have the two fields in question to be a primary key to stop a student being stored twice with the same module as the student and the module will act as the unique index.