Вие създавате съставен (или съставен) ключ като направите това основно:
("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED")
и след това се опитвате да направите ACCREDITATION_BODY_ID
външен ключ, препращащ към същата колона на същата таблица. Не знам какво се опитвате да постигнете, но както и да е, не е правилният начин да го направите.
Според мен Причината е: ACCREDITATION_BODY_ID
трябва да бъде първичен ключ, за да бъде посочен като външен ключ, но това не е случаят тук. Ограничението на вашата таблица е съставен ключ , и трябва да препоръчатевсички колоните в оператора за външен ключ. (поправете ме, ако греша)
Опитайте да посочите всички колони със съставен ключ в оператора за външен ключ. Това може да реши проблема ви.
Между другото, позоваването на първичен ключ като външен ключ в същата таблица нямаше смисъл за мен (може би пропускам нещо, но все пак ..). Бих обмислил промяна на дизайна.