2010-09-21 112 views
5

我正在使用SharePoint列表创建应用程序以存储数据。数据设计与如果要将其放入关系数据库中几乎类似,例如多对多关系,主键,外键等项目。SharePoint列表最佳做法

我想知道什么是最佳做法?

有我心目中已经创建列表时几个问题:

  • 的SharePoint本身含有一个隐藏的ID。我应该创建自己的ID吗?
  • 什么是反映外键的最佳方式?它是否像创建查找字段一样简单?或者您认为最好只创建一个单行文本,然后我的程序将链接该ID。哪一个使用哪个?

对此的任何其他提示将有所帮助。顺便说一句,我正在使用SharePoint 2010.

+0

的原因是,与其他模块,如工作流程更容易SharePoint集成。尽管可以使用BCS完成,但我认为这是对它的进一步增加。 – 2010-09-21 23:20:55

回答

6

我不会这样做。如果它要像关系数据库那样执行,那么应该只使用关系数据库。在使用列表作为数据库表时,使用外键遇到的问题只是冰山一角。

+1

那么如何绘制最佳使用列表还是数据库表格呢? – 2010-09-21 23:17:20

+0

@Nikkho Shandittha **性能**是您应该考虑的方面之一 - 您的应用程序将存储多少数据以及有多少用户将使用它? SQL Server允许您以许多不同的方式调整性能;在SharePoint中,您的数据库设计坚持不懈,您所能做的只是扩大或缩小。 – 2010-09-22 10:41:07

+0

@Nikkho Shandittha你需要**多对多的关系吗?您是否需要使用连接**从多个列表中获取**数据? – 2010-09-22 10:42:41

0

我也不会去那里。特别是不通过BDC。如果你不得不与关系数据集成,你可能直接从你的.NET工作流代码中完成。 您仍然可以利用SharePoint启动工作流和维护任务列表等。

如果您的数据是关系数据库,请将其放入关系数据库中。这很好。

0

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

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

方法a)当然只有持久性,只要您的列表中没有超过几千个条目并且由于查找字段的性质而可能存在一些问题。对于方法b)我不知道BCS如何处理关系数据。我一直在使用它与来自数据库的简单无关数据,并且工作正常。也适用于大量数据。虽然两种方法都有其缺点,但他们仍然具有可以免费获得用户界面和安全修整的优势。我认为这很大程度上取决于您的场景是什么使最好的...

0

我同意SharePoint列表不能替代关系数据库。如果您想让数据位于SharePoint中,可能需要考虑使用Access服务来创建实体关系图,然后使用访问服务将数据库发布到SharePoint。

看看为的可能性,更多的细节,这些信道9的视频与接入服务

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

0

在某些情况下,你想存储在数据库中,而不是在SharePoint列表中的数据,如果您确定这是您想要执行的操作,然后像通常那样创建数据库和表,然后使用您在SharePoint中定义的外部内容类型创建一个列表,以反映数据库中的数据。

在这里受到更多信息: http://msdn.microsoft.com/en-us/library/ee557243.aspx