Существует множество пользователей.
У каждого пользователя может быть один или несколько логинов в других системах.
Список систем заранее не определен.
Как правильно хранить эти логины?
На ум приходят следующие пути:
1. Одна таблица, где есть 2 поля: ID пользователя и поле вроде TEXT, где через запятую указаны login_a@system1, login_b@system2, login_c@system3
+------+-------------------------------------------------------------+
| 1 | login_a@syatem1, login_b@system2, login_c@system3 |
+------+-------------------------------------------------------------+
| 2 | login_af@syatem12, login_sb@system22, login_cd@system3 |
+------+-------------------------------------------------------------+
2. Две таблицы:
Первая с ID пользователя и e-mail напимер,
Вторая — ID пользователя из первой таблицы (не уникальное поле) и логин в сторонней системе.
+------+-----------------------+
| 1 | login@mail.ru |
+------+-----------------------+
| 2 | login_af@yandex.ru |
+------+-----------------------+
+------+-------------------------+
| 1 | login_a@syatem1 |
+------+-------------------------+
| 2 | login_af@syatem12 |
+------+-------------------------+
| 1 | login_b@system2 |
+------+-------------------------+
| 2 | login_sb@system22 |
+------+-------------------------+
| 2 | login_cd@system3 |
+------+-------------------------+
| 1 | login_c@system3 |
+------+-------------------------+
Вопросы:
1. Является ли один из этих двух способов правильным? Если да, то какой?
2. Если есть способ лучше — опишите его пожалуйста.