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