Я бы поместил членство / роли в отдельную базу данных. Я не думаю, что иметь ограничения по внешнему ключу - это так полезно. Лучше отделиться, если вы будете проходить через API членства, а не соединяться с таблицами напрямую. Единственная вещь в базе данных членства, которую вам часто нужно искать, это имя пользователя. Если это станет проблемой производительности, я, вероятно, просто создаю таблицу поиска, либо в памяти, либо в таблице поиска в базе данных другого компонента.