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