Я создаю мультитенантную базу данных (общую схему) для приложения SaaS.Приложение позволит подписавшейся компании (арендатору) сотрудничать с другими компаниями (учетными записями, такими как поставщики, деловые партнеры, клиенты и т. Д.).Пользователи будут связаны как с арендатором, так и с аккаунтами.
Вот мой вопрос : с точки зрения дизайна, можно ли поместить арендаторов и учетные записи в одну таблицу?Я думаю «да», потому что компания - это компания, независимо от того, являются ли они арендатором или аккаунтом.Кроме того, я думал о расшифровке арендатора с помощью поля, такого как is_tenant (Boolean), и, возможно, поместил информацию об арендаторе в отдельную таблицу.Вот предлагаемая схема:
- компаний (company_id, is_tenant, имя, адрес и т. Д.)
- пользователей (user_id, имя, адрес электронной почты, имя пользователя, пароль и т. Д.)
- company_users (company_id, user_id)
- tenant_information (company_id, billing_address, billing_state и т.было бы f_keys для таблицы компаний]
Я прочитал статью MS, Многопользовательская архитектура данных , и, несмотря на свою полезность, в ней не хватало ответа.
Будем весьма благодарны за любые дополнительные мысли / комментарии / подводные камни, касающиеся этой схемы.
Заранее спасибо.