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