Je suis dans un processus de conception d'une application SharePoint personnalisée. Dans un projet précédent, toutes les données étaient conservées dans des listes SharePoint et c'est ce que j'essayais maintenant. Mais, j'arrive au point où le modèle de données se développe et je ressens le besoin de le normaliser et de diviser une entité logique en plusieurs listes physiques. Je me demande si je devrais passer des listes SP à une base de données classique. D'un côté, je suis satisfait des formulaires New Item, Edit Item et All Items de SharePoint; D'un autre côté, je suis inquiet que la performance va souffrir une fois que je dois interroger les données jointes (si elle reste en SPList
s).
Si vous avez un aperçu ou de l'expérience avec ce problème, s'il vous plaît partager. Merci.SharePoint: dois-je utiliser des listes ou une base de données?
Répondre
Cela dépend de vos besoins, mais de mon expérience ici sont les cas où vous devez utiliser la base de données au lieu de listes:
1) Lorsque vous avez un grand nombre à plusieurs dans votre modèle de base de données
2) Lorsque plusieurs entités sont liées entre elles (par ex. Client> Facture> Produit facture). SharePoint est génial, mais dans les scénarios ci-dessus, vous rencontrerez des problèmes avec les limitations de l'interface utilisateur de SharePoint.
3) Si vous prévoyez d'avoir des rapports ou des tableaux personnalisés, vous devriez vous en tenir à votre propre base de données. Lorsque vous utilisez des entités de base de données, la meilleure approche consiste à développer vos propres composants Web car BDC est coûteux et très limité dans la plupart des cas. Vous pouvez également vérifier les composants WebPart tiers (par ex.Web Parts Bamboo)
Voici les raisons d'utiliser des listes SharePoint sur la base de données:
- Permission
- Facilité d'utilisation pour l'utilisateur final
- Edition dans la fiche technique/Excel/Accès
- Workflows
- Recherche
Si vous avez des requêtes complexes, je vous suggère de les mettre dans une base de données séparée. Les listes sont bonnes lorsque le modèle de données ne se développe pas si souvent. L'extension de la quantité de champs dans les colonnes d'une liste inclut la mise à jour des ContentTypes directement avec un STSADM que vous devrez coder. Cependant, interroger les données directement à partir de la base de données (avec du cache bien sûr) conduira à un développement plus rapide sans avoir à mettre à jour tous les ContentTypes liés à toutes les listes qui lui sont associées.
Bien sûr, si vous activez la mise en cache, les données interrogées à partir de la base de données seront mises en cache au niveau de sortie de la page.
Je voudrais ajouter en guise de note que la recherche ne sera pas un problème puisque le robot explore le site et non la base de données. Je peux aussi vous dire que vous pouvez lier le code aux événements de la liste (ajouter, éditer, supprimer) et leur faire exécuter du code sur ces événements. Vraiment cool de tout synchroniser. –
En plus de la réponse de Maxim, je vous conseille également de prendre en considération la recherche. OTB Search est vraiment bien si ces données vont être quelque chose que vous aurez besoin de creuser.
Je ne serais pas trop inquiet d'aller à une base de données personnalisée pour les données. Cela signifie qu'il y a encore du travail à faire pour l'encadrer avec des contrôles personnalisés et introduire ces contrôles à une page de mise en page et/ou des parties web personnalisées que les listes font pour vous.
Si vous avez le BDC disponible, ce serait le chemin à parcourir, sinon personnalisé. Donc, à la fin, c'est un compromis entre la facilité d'intégration avec sharepoint et la disponibilité des formulaires de saisie de données par rapport au codage de tous ces éléments, mais le contrôle total de l'intégrité des données.
- 1. Listes de Sharepoint - GroupBy?
- 2. Création de listes Sharepoint de manière déclarative ou programmatique?
- 3. Sharepoint: meilleur moyen d'afficher des listes de contenu non-Sharepoint avec une interface utilisateur "compatible"?
- 4. Base de données externe de recherche SharePoint
- 5. Performances des tables SharePoint et des tables de base de données
- 6. Silverlight3: Que utiliser: WebClient ou base de données avec RIA
- 7. Affichage d'une base de données sur les collections, Listes ORM
- 8. Base de données Sharepoint et tableaux
- 9. jQuery de base/données ou des attributs personnalisés (données-Driven)
- 10. Comportement étrange de Python dans une boucle ou des listes
- 11. Sharepoint: déployer des listes personnalisées et de nouvelles colonnes dans les listes
- 12. Configuration dans un fichier ou une base de données?
- 13. Devrions-nous utiliser l'hôte WF SharePoint pour les flux de travail incluant des sources de données externes (vers SharePoint)?
- 14. Asp.net - Création 2 liées listes déroulantes la base de données
- 15. Dois-je utiliser enum ou interroger une table dans ma base de données?
- 16. Comment utiliser la date de valeur calculée dans le champ des listes Sharepoint pour trouver une date + 30 jours?
- 17. Sharepoint Listes vers le fichier Word/Excel
- 18. Partitionnement de base de données SQL 2005 pour SharePoint
- 19. PHP; utiliser des sessions ou réutiliser une requête?
- 20. Existe-t-il une bonne syntaxe de référence de la base de données SharePoint?
- 21. liant Gridview sans utiliser une base de données
- 22. L'iPhone peut-il uniquement utiliser une base de données SQLite?
- 23. Puis-je utiliser un fichier CSV comme une base de données (MSsql ou mysql ou BDE) dans C++ Builder?
- 24. Base de données Web ou SOAP?
- 25. Comment gérez-vous les "listes de sélection" dans une base de données?
- 26. Partage de données sur des sites Sharepoint - Roll Up ou Pull Down?
- 27. Comment utiliser le même type de champ dans plusieurs listes sur SharePoint?
- 28. Obtenir un titre réel à partir des listes SharePoint
- 29. Sharepoint OnWorkflowItemChanged avant/après les listes de propriétés
- 30. Copie des données d'une table dans une base de données à une autre base de données séparée
Je suis d'accord avec les raisons de l'utilisation d'une base de données, mais pas nécessairement les raisons de l'utilisation des listes SharePoint. En utilisant BDC (si vous avez MOSS), beaucoup de ceux-ci peuvent être accomplis si vos données sont stockées dans une base de données externe et accédées dans SharePoint seul ou en conjonction avec une liste. – elorg
Unfortunatley BDC est uniquement disponible avec MOSS Enteprise, et la plupart des gens utilisent simplement WSS. –