哪个数据库表Schema更有效,为什么?
"Users (UserID, UserName, CompamyId)"
"Companies (CompamyId, CompanyName)"
Run Code Online (Sandbox Code Playgroud)
要么
"Users (UserID, UserName)"
"Companies (CompamyId, CompanyName)"
"UserCompanies (UserID, CompamyId)"
Run Code Online (Sandbox Code Playgroud)
鉴于用户和公司具有一对一的关系.
这是一个开放式问题,取决于您的业务规则.您拥有的第一个选项只允许一个公司映射到一个用户.你定义了一对一的关系.
第二个模式定义了多对多关系,允许多个用户映射到多个公司.
它们解决了不同的问题,并根据您要解决的问题确定应该使用的模式.
严格地说,从"事务"的角度来看,第一个模式会更快,因为您只需要为用户对象提交一行以与公司关联,并检索用户工作的公司只需要一个连接,但是,如果您的业务需求发生变化,并且要求您让多个公司分配给用户,则第二个解决方案将更好地扩展.
归档时间: |
|
查看次数: |
2417 次 |
最近记录: |