Anda sedang membuat kunci komposit (atau gabungan) dengan menjadikan ini sebagai yang utama:
("COURSE_ID", "ACCREDITATION_BODY_ID", "DATE_OBTAINED")
lalu coba buat ACCREDITATION_BODY_ID
kunci asing, merujuk ke kolom yang sama pada tabel yang sama. Saya tidak tahu apa yang ingin Anda capai, tetapi bagaimanapun, itu tidak cara yang benar untuk melakukannya.
Menurut saya, Alasannya adalah: ACCREDITATION_BODY_ID
harus menjadi kunci utama agar dapat direferensikan sebagai kunci asing, tetapi tidak demikian halnya di sini. Batasan tabel Anda adalah kunci gabungan , dan Anda perlu merujuk semua kolom dalam pernyataan kunci asing. (perbaiki saya jika saya salah)
Coba rujuk semua kolom kunci majemuk dalam pernyataan kunci asing. Itu bisa menyelesaikan masalah Anda.
Omong-omong, mereferensikan kunci utama sebagai kunci asing di tabel yang sama tidak masuk akal bagi saya (mungkin saya kehilangan sesuatu tapi tetap saja ..). Saya akan mempertimbangkan untuk mengubah desainnya.