Я работаю с Ruby on Rails, но этот вопрос, я думаю, шире и применим к дизайну базы данных в целом.Когда нужно разделить модели на несколько таблиц базы данных?
Когда это хорошая идея разбить одну модель на несколько таблиц? Например, предположим, что у меня есть модель User, и количество полей в модели действительно начинает складываться. Например, Пользователь может ввести свой веб-сайт, его день рождения, свой часовой пояс, его и т. Д.
Есть ли какое-либо преимущество или недостаток в разложении модели, так что, возможно, таблица пользователя имеет только базовую информацию, такую как логин и электронной почты, а затем есть еще одна таблица, в которой каждый пользователь имеет что-то вроде UserInfo, а другой - UserPermissions, а другой - UserPrivacySettings или что-то в этом роде?
Редактировать: Чтобы добавить к нему дополнительный блеск, большинство полей редко доступны, за исключением страниц, специфичных для них. Например, такие вещи, как день рождения, только когда-либо доступны, если кто-то нажимает на профиль пользователя. Кроме того, некоторые из полей (которые редко доступны) могут быть чрезвычайно большими. Большинство полей могут быть либо пустыми, либо пустыми.
Сколько полей мы фактически говорим в таблице User? – inkedmn