微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

何时将模型分割成多个数据库表?

我正在使用 Ruby on Rails,但是我认为这个问题比这更广泛,适用于数据库设计.

什么时候将单个模型分成多个表格是个好主意?例如,假设我有一个用户模型,并且模型中的字段数真的开始加起来.例如,用户可以进入他的网站,他的生日,他的时区,他的等等

拆分模型有什么优势或缺点,这样用户表只能具有基本信息,如登录和电子邮件,然后还有另一个表,每个用户都有这样的用户信息,另一个是UserPermissions,另一个是UserPrivacySettings或类似的东西?

编辑:要添加其他光泽,大部分字段很少被访问,除特定页面外.例如,如果有人点击用户的个人资料,则只能访问生日等内容.此外,一些领域(很少被访问)有潜力是非常大的.大多数领域有可能被设置为空白或零.

解决方法

一般来说,将同一表中具有一对一关系的东西放在一起是个好主意.除非您的用户包括Queen或Paddington Bear,否则用户只有一个生日,因此应该是USERS表的属性.具有一对多关系的事物应该在单独的表中.所以,如果用户可以通过一切手段将多个隐私设置拆分出来.

如果我们想要一次检索所有用户的信息,将一个表分割成几个表可能会使查询更加复杂或更慢.另一方面,如果我们有一组属性只是以离散的方式进行查询或更新,那么拥有单独的表来保存该数据就是一个很好的想法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐