Нужно ли мне назначать внешний ключ в MySQL?
(Navicat для MySQL, PHP, я программирую социальную сеть ради забавы)
Смотрите это http://www.databasejournal.com/features/mysql/article.php/2248101/Referential-Integrity-in-MySQL.htm
Вы можете «определить» внешний ключ в любом Тип таблицы MySQL (включая тип таблицы MyISAM по умолчанию), но они на самом деле ничего не делать - они используется только для обеспечения ссылочной целостность в таблицах InnoDB.
ОП следует извинить, чтобы думать, что это «мнимая» концепция.