Не използвайте една и съща колона и за двата външни ключа. Това понякога се нарича полиморфни асоциации и нарушава правилата за добър дизайн на база данни.
Трябва да е улика, че дизайнът е лош, че ограничението FOREIGN KEY поддържа само една референтна таблица. Няма поддръжка за полиморфни асоциации в стандартния SQL.
Вместо това създайте две колони, едната за препратка към Потребители, другата за препратка към SystemProcesses. Една колона на референтна таблица.
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
Ако няма подходяща препратка за колоната Users или SystemProcesses, използвайте NULL, за да укажете, че няма приложима стойност.
Може да искате да прегледате други въпроси, на които отговорих относно полиморфните асоциации .