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

前端之家收集整理的这篇文章主要介绍了何时将模型分割成多个数据库表?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用 Ruby on Rails,但是我认为这个问题比这更广泛,适用于数据库设计.

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

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

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

解决方法

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

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

原文链接:https://www.f2er.com/mssql/81010.html

猜你在找的MsSQL相关文章