Если вы хотите, чтобы у каждого пользователя была одна (и никогда больше) компания, вы должны иметь:
user
table uid
username
- ...
company_id
company
таблица company_id
company_name
- ...
Тогда user.company_id
будет иностраннымключ , который ссылается на company.company_id
.
И затем вы сохраняете:
- Одна строка в
user
для каждого пользователя - Ссылка на идентификатор нужной компании для этого пользователя
- , который является
company_id
правой строки в таблице company
.
- И одна строка длякаждая компания в
company
В таблице компании не хранится информация, относящаяся к пользователю, и, поскольку каждый пользователь "указывает" на компанию, компания может иметь несколько пользователей.
Хранение данных в виде массива, как вы предложили, определенно не очень хорошая идея - просто не так, как реляционные данные.abase works.
Если у каждого пользователя может быть несколько компаний, а у каждой компании может быть несколько пользователей, вам нужно будет добавить третью таблицу ( присоединить таблицу) , для каждого пользователя (ей) указывается, к какой компании (-ям) они присоединены:
user
таблица company
таблица company_id
company_name
- ...
user_company
таблица
В этой ситуации в таблице company
нет связанных с пользователем материалов, а в таблице user
нет связанных с компанией материалов: ссылкамежду ними находится в таблице user_company
.
Конечно, user_company.uid
будет внешним ключом для user.uid
;и user_company.company_id
будет внешним ключом для company.company_id
.