2010-09-21 21 views
5

Ich erstelle eine Anwendung mit SharePoint-Liste zum Speichern der Daten. Das Daten-Design würde sich sehr ähnlich sehen, wenn Sie es in eine relationale Datenbank schreiben würden, mit Elementen wie viele-zu-viele-Beziehungen, Primärschlüssel, Fremdschlüssel.Best Practices für SharePoint-Listen

Ich würde gerne wissen, was sind die besten Praktiken?

Es gibt ein paar Fragen, die ich bereits im Kopf, wenn die Liste zu erstellen:

  • Sharepoint selbst enthält eine versteckte ID. Soll ich meine eigene ID erstellen?
  • Was ist der beste Weg, um einen Fremdschlüssel widerzuspiegeln? Ist es genauso einfach ein Nachschlagefeld zu erstellen? Oder denken Sie, dass es am besten ist, nur einen einzeiligen Text zu erstellen, und dann verbindet mein Programm die ID. Welchen zu verwenden welchen?

Alle anderen Tipps dazu wären hilfreich. Btw, bin ich mit Sharepoint 2010.

+0

Der Grund dafür ist, dass leichte Sharepoint-Integration mit anderen Modulen wie Arbeitsablauf. Obwohl es mit BCS gemacht werden kann, denke ich, es fügt einen weiteren Schritt hinzu. –

Antwort

6

ich das nicht tun würde. Wenn es wie eine relationale Datenbank funktioniert, sollten Sie nur eine relationale Datenbank verwenden. Das Problem, das bei Fremdschlüsseln auftritt, ist nur die Spitze des Eisbergs, wenn es darum geht, Listen als Datenbanken zu verwenden.

+1

Also, wie zeichnen Sie die Linie, ob es am besten ist, Liste oder Datenbanktabelle zu verwenden? –

+0

@Nikkho Shandittha ** Leistung ** ist einer der Aspekte, die Sie berücksichtigen sollten - wie viele Daten speichert Ihre Anwendung und wie viele Benutzer werden sie verwenden? Mit SQL Server können Sie die Leistung auf viele verschiedene Arten optimieren. Mit SharePoint bleiben Sie beim Datenbankdesign hängen und alles, was Sie tun können, ist das Vergrößern oder Verkleinern. –

+0

@Nikkho Shandittha Brauchen Sie ** viele-zu-viele Beziehungen **? Müssen Sie ** Daten aus mehreren Listen mit Joins ** erhalten? –

0

Ich würde auch nicht dorthin gehen. Vor allem nicht durch den BDC. Wenn Sie relationale Daten integrieren müssen, können Sie dies auch direkt aus Ihrem .NET-Workflow-Code heraus tun. Sie könnten SharePoint immer noch für die Initiierung von Workflows und die Verwaltung von Aufgabenlisten usw. einsetzen.

Wenn Ihre Daten relational sind, legen Sie sie in eine relationale Datenbank. Es ist gut damit.

0

Ich stimme völlig mit den anderen Jungs. Relationale Daten werden am besten in einer Datenbank abgelegt, die dafür ausgelegt ist.

Da Sie Sharepoint 2010 verwendet werden, haben Sie etwas bessere Unterstützung für große Listen mit den Mitteln der Drosselung der Handhabung und verbesserte Nachschlagefelder. Außerdem heißt der BDC jetzt BCS und unterstützt das Aktualisieren und Erstellen von Daten mithilfe von SharePoint-Listen. In der Theorie gibt Ihnen das zwei weitere Möglichkeiten: a. Versetzen Sie die Daten in Listen mit Suchfeldern und b. Versetzen Sie die Daten in die Datenbank und greifen Sie über BCS darauf zu. ein

Approach) ist sicher nur dauerhaft, solange Ihre Listen haben nicht mehr als ein paar tausend Einträgen und könnte einige Probleme aufgrund der Art der Look-Up-Felder haben. Für Ansatz b) habe ich keine Ahnung, wie BCS relationale Daten behandelt. Ich habe es mit einer einfachen nicht verwandten Daten aus einer Datenbank verwendet und das funktioniert einfach gut. Auch für große Datenmengen. Obwohl beide Ansätze ihren Nachteil haben, haben sie immer noch den Vorteil, dass Sie die Benutzeroberfläche und die Sicherheitseinstellungen "kostenlos" erhalten. Ich denke, dass es auf Ihrem Szenario ziemlich viel hängt, was am besten Sinn macht ...

0

Ich bin damit einverstanden, dass Sharepoint-Listen kein Ersatz für eine relationale Datenbank sind. Wenn Sie sich die Daten innerhalb von SharePoint ans Herz legen möchten, denken Sie vielleicht daran, die Access-Services zum Erstellen Ihres Entitätsbeziehungsdiagramms zu verwenden und dann die Datenbank mithilfe von Zugriffsdiensten in SharePoint zu veröffentlichen.

an diesen Channel 9 Videos, um weitere Informationen über die Möglichkeiten mit Zugangsdienste

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

0

In einigen Fällen Werfen Sie einen Blick Sie Ihre Daten in einer Datenbank möchten lieber speichern, als in Sharepoint-Listen, wenn Sie sind sicher, dass dies das ist, was Sie tun möchten. Dann erstellen Sie Ihre Datenbank und Tabellen wie gewohnt und erstellen dann eine Liste mit einem externen Inhaltstyp, den Sie in SharePoint definieren, um Ihre Daten in Ihrer Datenbank widerzuspiegeln.

Weitere Informationen zu diesem Thema hier: http://msdn.microsoft.com/en-us/library/ee557243.aspx