我正在使用 Ruby on Rails,但我认为这个问题比这更广泛,并且通常适用于数据库设计。
什么时候将单个模型拆分为多个表是个好主意?例如,假设我有一个 User 模型,并且模型中的字段数量确实开始增加。例如,用户可以输入他的网站、他的生日、他的时区、他的等等。
拆分模型是否有任何优点或缺点,例如用户表可能只有登录和电子邮件等基本信息,然后每个用户都有另一个表,类似于 UserInfo,另一个表是 UserPermissions,以及另一个是 UserPrivacySettings 或类似的东西?
编辑:为了增加额外的光泽,除了特定于它们的页面外,大多数字段都很少被访问。例如,只有当有人点击进入用户的个人资料时,才会访问诸如生日之类的内容。此外,一些字段(很少访问)有可能非常大。大多数字段都有可能设置为空白或零。