Jangan gunakan kolom yang sama untuk kedua kunci asing. Ini terkadang disebut asosiasi polimorfik , dan itu melanggar aturan desain database yang baik.
Itu harus menjadi petunjuk bahwa itu adalah desain yang buruk, bahwa batasan FOREIGN KEY hanya mendukung satu tabel yang direferensikan. Tidak ada dukungan untuk asosiasi polimorfik dalam SQL standar.
Sebagai gantinya, buat dua kolom, satu untuk referensi ke Pengguna, yang lain untuk referensi ke SystemProcesses. Satu kolom per tabel referensi.
Logs
uid (INT) UsersID (INT) SystemProcessesID (INT) Action
1 2 NULL Jane Doe did this
2 1 NULL John Doe did that
3 1 1 Hitman just killed John Doe
Jika tidak ada referensi yang relevan untuk kolom Users atau SystemProcesses, gunakan NULL untuk menunjukkan bahwa tidak ada nilai yang berlaku.
Anda mungkin ingin meninjau pertanyaan lain yang telah saya jawab tentang asosiasi polimorfik .