2008-10-30 4 views
10

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

8

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
+0

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

+0

Unfortunatley BDC est uniquement disponible avec MOSS Enteprise, et la plupart des gens utilisent simplement WSS. –

3

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.

+0

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. –

1

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.

1

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.

Questions connexes