Пользователь может иметь 3 типа профилей: A, B, C
. Для каждого типа профиля пользователь может иметь свое имя, набор фотографий и описание.
Как это должно быть смоделировано?
- будет в основном выбираться одним типом за один раз, например, получить профиль пользователя. Поля профиля
- не фильтруются, например, без фильтрации, где name =
- нет ролей / разрешений, о которых нужно беспокоиться
- Пользовательский интерфейс позволяет пользователям одновременно обновлять имя, фотографии или описание для профиля
Отдельные столбцы в одной таблице:
profile
---
name_A name_B name_C photos_A photos_B photos_C description_A description_B description_C
Присоединиться к другой таблице:
profile
---
A_profile_id B_profile_id C_profile_id
A_profile
---
id name photos description
B_profile
---
id name photos description
C_profile
---
id name photos description
jsonb по полю:
profile
---
name{A,B,C} photos{A,B,C} description{A,B,C}
jsonb по типу профиля:
profile
---
A_profile{name,photos,description} B_profile{name,photos,description} C_profile{name,photos,description}
ВложеноJSONB (заманчиво ...):
profile
---
profile{A{name,photos,description},B{name,photos,description},C{name,photos,description}}