我正在使用SharePoint List创建一个用于存储数据的应用程序。数据设计非常相似,就像你要将它放在关系数据库中一样,包含多对多关系,主键,外键等项目。
我想知道最佳做法是什么?
在创建列表时,我已经记过几个问题:
关于此的任何其他提示都会有所帮助。顺便说一下,我正在使用SharePoint 2010。
答案 0 :(得分:6)
我不会这样做。如果它将像关系数据库一样执行,您应该只使用关系数据库。在使用列表作为数据库表时,您遇到的外键问题只是冰山一角。
答案 1 :(得分:0)
我也不会去那里。特别是不通过BDC。如果必须与关系数据集成,您可以直接从.NET工作流代码中执行此操作。 您仍然可以利用SharePoint来启动工作流和维护任务列表等。
如果您的数据是关系型的,请将其放入关系数据库中。这很好。
答案 2 :(得分:0)
我完全赞同其他人。关系数据最好放在为此设计的数据库中。
由于您使用的是SharePoint 2010,因此您可以通过限制和改进的查找字段来更好地支持处理大型列表。此外,BDC现在称为BCS,并支持通过SharePoint列表更新和创建数据。从理论上讲,这为您提供了两个选择:a。使用查找字段和b将数据放入列表中。将数据放入数据库并通过BCS访问它。
方法a)肯定只有持久,只要您的列表没有超过几千个条目,并且由于查找字段的性质可能会有一些问题。方法b)我不知道BCS如何处理关系数据。我一直在使用它与数据库中的简单无关数据,并且工作正常。也适用于大量数据。虽然这两种方法都有其缺点,但它们仍然具有“免费”获得用户界面和安全修整的优势。我认为这很大程度上取决于你的场景最有意义......
答案 3 :(得分:0)
我同意SharePoint列表不能替代关系数据库。如果您对将数据放在SharePoint中感到满意,可以考虑使用Access服务创建实体关系图,然后使用访问服务将数据库发布到SharePoint。
请查看这些第9频道视频,了解有关访问服务可能性的详细信息
http://channel9.msdn.com/Learn/Courses/Office2010/AccessUnit
答案 4 :(得分:0)
在某些情况下,您希望将数据存储在数据库而不是SharePoint列表中,如果您确定这是您想要执行的操作,那么就像通常那样创建数据库和表,然后创建使用您在SharePoint中定义的外部内容类型的列表,以反映数据库中的数据。
此处有关此主题的更多信息: http://msdn.microsoft.com/en-us/library/ee557243.aspx