SharePoint列表最佳实践

5
我正在使用SharePoint列表来存储数据创建应用程序。数据设计基本上与将其放入关系数据库中非常相似,包括多对多的关系、主键和外键等项目。
我想知道什么是最佳实践?
当创建列表时,我已经有几个问题想到了:
- SharePoint本身包含一个隐藏的ID。我应该创建自己的ID吗? - 反映外键的最佳方法是什么?是创建查找字段还是最好创建单行文本,然后我的程序将链接ID。哪一个使用哪一个更好?
希望您能给出其他有关此事的建议。顺便说一句,我使用的是SharePoint 2010。

原因是与其他模块(如工作流)更容易集成SharePoint。虽然可以使用BCS完成,但我认为这会增加进一步的步骤。 - Nikkho Shandittha
5个回答

6

我不会这样做。如果它的表现像关系型数据库,你应该使用关系型数据库。当你使用列表作为数据库表时,外键问题只是冰山一角。


1
那么,如何判断是使用列表还是数据库表更好呢? - Nikkho Shandittha
@Nikkho Shandittha 性能是你应该考虑的方面之一 - 你的应用程序将存储多少数据,有多少用户将使用它?SQL Server允许您以许多不同的方式调整性能;而在SharePoint中,您只能通过扩展或分散来解决其数据库设计问题。 - Marek Grzenkowicz
@Nikkho Shandittha 你需要多对多关系吗?你需要使用连接从多个列表中获取数据吗? - Marek Grzenkowicz

0
我也不会去那儿。尤其是不要通过BDC。如果你必须与关系型数据集成,最好直接从你的.NET工作流代码中进行。 你仍然可以利用SharePoint启动工作流并维护任务列表等。
如果你的数据是关系型的,请将它放入一个关系型数据库中。它就擅长于这个方面。

0

我完全同意其他人的观点。关系型数据最好放在专为此设计的数据库中。

由于您使用的是 SharePoint 2010,可以通过限制和改进的查找字段更好地处理大型列表。此外,BDC 现在称为 BCS,并支持通过 SharePoint 列表更新和创建数据。理论上,这给你两个选择:a. 使用查找字段将数据放入列表中;b. 将数据放入数据库中,并通过 BCS 访问。

方法 a)肯定只能持续到您的列表不超过几千个条目,并且可能由于查找字段的特性而存在一些问题。对于方法 b),我不知道 BCS 如何处理关系数据。我已经使用它从数据库中获取简单无关的数据,效果很好,而且适用于大量数据。虽然这两种方法都有缺点,但它们仍具有用户界面和安全裁剪“免费”的优势。我认为这很大程度上取决于您的情况,哪种方法最为合适...


0

我认为SharePoint列表不能替代关系型数据库。如果你一定要将数据存储在SharePoint中,可以考虑使用Access服务创建实体关系图,然后使用Access服务将数据库发布到SharePoint。

请查看这些Channel 9视频,了解有关Access服务的更多详细信息。

http://channel9.msdn.com/Learn/Courses/Office2010/AccessUnit


0
在某些情况下,您可能希望将数据存储在数据库中而不是SharePoint列表中。如果您确定这就是您想要的,则可以像通常一样创建数据库和表,然后使用在SharePoint中定义的外部内容类型创建一个列表,以反映您数据库中的数据。
有关此主题的更多信息,请参见: http://msdn.microsoft.com/en-us/library/ee557243.aspx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接