SharePoint: sollte ich die Listen verwenden oder eine Datenbank?
Ich bin in einem Prozess der Gestaltung einer benutzerdefinierten SharePoint-Anwendung. Bei einem vorherigen Projekt, alle Daten, die gehalten wurde in SharePoint-Listen und-das ist der Weg, den ich versucht habe nun. Aber, ich bin immer zu dem Punkt, wo die Daten Modell wächst und ich das Bedürfnis zu normalisieren und die split eine logische Entität in mehrere physische Listen. Ich Frage mich, ob ich Umschalten soll von der SP-Listen zu einer klassischen Datenbank. Auf der einen Seite bin ich zufrieden mit dem SharePoint-out-of-box, Neues Element, Element Bearbeiten, werden Alle Elemente, Formen; auf der anderen Seite bin ich besorgt, dass die performance wird leiden, wenn ich Abfragen verknüpfte Daten (wenn es bleibt in SPList
s).
Wenn Sie irgendeine Einsicht oder Erfahrung mit diesem problem, bitte teilen. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hängt von Ihren Anforderungen ab, aber aus meiner Erfahrung sind hier die Fälle, wenn Sie verwenden sollten-Datenbank anstelle von Listen:
1) Wenn Sie haben eine viele-zu-viele-Beziehung in Ihrer Datenbank-Modell
2) Wenn Sie zwei oder mehr Entitäten miteinander verknüpft werden (z.B. Kunden - > Rechnung > Rechnung Produkt).
SharePoint ist groß, aber in den oben genannten Szenarien, die Sie haben Probleme mit SharePoint-Benutzeroberfläche Einschränkungen.
3) Wenn Sie planen, um alle benutzerdefinierten berichten oder Karten, die Sie halten sollten, um Ihre eigene Datenbank.
Wenn Sie die Verwendung von Datenbank-Entitäten der beste Ansatz ist, um Ihre eigene web-parts seit BDC ist teuer und sehr begrenzt für die meisten Fälle. Sie können auch 3rd-party-web-teilen (z.B. Bamboo Webparts)
Hier sind die Gründe für die Verwendung von SharePoint-Listen über Datenbank:
Wenn Sie komplexe Abfragen, ich schlage vor, Sie setzen Sie in eine separate Datenbank. Listen sind gut, wenn das Datenmodell wächst nicht so oft.
Erweitern die Menge der Felder innerhalb der Spalten einer Liste enthält die Aktualisierung der ContentTypes direkt mit einem STSADM, dass Sie bis zum code. Allerdings, das Abfragen der Daten direkt aus der Datenbank (mit einigen cache natürlich) führt zu einer schnelleren Entwicklung die zimmerreserviereung, ohne das update alle ContentTypes verknüpft alle Listen zugeordnet.
Natürlich, wenn Sie aktivieren die Zwischenspeicherung der Daten queryied aus der Datenbank werden im Cache der Seite Ausgangspegel.
Zusätzlich zu Maxim ' s Antwort, ich würde auch empfehlen, dass Sie nehmen die Suche in Betracht ziehen. OTB-Suche ist wirklich schön, wenn diese Daten etwas, die Sie benötigen, um zu Graben in.
Ich würde nicht allzu besorgt über das gehen zu einem benutzerdefinierten Datenbank für die Daten.
Bedeutet es zusätzliche Arbeit, um die Haut mit benutzerdefinierten Steuerelementen und führen Sie diese Steuerelemente zu einem layout-Seite und/oder benutzerdefinierten webparts, die die Listen für Sie tun.
Wenn Sie die BDC zur Verfügung steht, das wäre der Weg zu gehen, ansonsten Brauch.
Also am Ende, es ist ein trade-off zwischen der Leichtigkeit der Integration mit sharepoint und die Formulare für die Dateneingabe verfügbar vs Codierung all diese Elemente, aber mit voller Kontrolle der Daten-Integrität.