2011-09-29 64 views
0

首先,我公司及其templates.templates在文件表我与这样的列:数据库交叉表或一个表是更好

 
FileTemplate 
------------------- 
ID - CompanyID - Description - FileID 

二设计:

 
FileTemplate    
------------------- 
ID - Description 


交叉表:

       
-----------------------------------------  
ID - CompanyID - FileID - FileTemplateID   

哪种设计更适合性能和维护拔头筹?将会有很多数据(100万行)。这将是一个非常活跃的桌子。

回答

1

据我所知,第二种方法更好,因为你有大量的数据。规范化始终是最好的方法。正如你所说,应该有公司和现场表以及交叉参考表。

希望这对你有一些帮助!

+0

+1 - 正常化通常是最好的选择。这当然假定'description'(和其他相关字段)中的值不是唯一的,并且会从提取/重复数据删除中受益。鉴于上下文,我认为可能(但在问题中没有明确说明)。 –

+0

非常感谢。其实我们为这份工作做了一张简单的表格。但决定放置说明栏后。那里因为我混淆了使用正常化系统“为一个描述列”或使用一张桌子逃脱复杂情况。 –

相关问题