2008-10-30 17 views
10

Estoy en un proceso de diseño de una aplicación personalizada de SharePoint. En un proyecto anterior, todos los datos se mantuvieron en las listas de SharePoint y esa es la forma en que lo he estado intentando ahora. Pero, estoy llegando al punto donde el modelo de datos crece y siento la necesidad de normalizarlo y dividir una entidad lógica en varias listas físicas. Me pregunto si debería pasar de las listas SP a una base de datos clásica. Por un lado, estoy contento con los formularios listos para usar nuevos elementos de SharePoint, edición de artículos, todos los artículos; por otro lado, me preocupa que el rendimiento se vea afectado una vez que tenga que consultar datos unidos (si permanece en SPList s).
Si tiene alguna idea o experiencia con este problema, por favor, comparta. Gracias.SharePoint: ¿debería usar listas o una base de datos?

Respuesta

8

Depende de sus requisitos, pero desde mi experiencia aquí son los casos en los que debe utilizar la base de datos en lugar de las listas:

1) Cuando se tiene una relación de muchos a muchos en su modelo de base de datos

2) Cuando tiene dos o más entidades vinculadas entre sí (por ejemplo, Cliente> Factura> Producto de factura).

SharePoint es excelente, pero en los escenarios anteriores tendrá problemas con las limitaciones de la interfaz de usuario de SharePoint.

3) Si va a tener informes o gráficos personalizados, debe pegarse a su propia base de datos.

Cuando se utilizan entidades de bases de datos, la mejor opción es desarrollar sus propios elementos web, ya que BDC es caro y muy limitado en la mayoría de los casos. También puede consultar elementos web de terceros (p.Elementos web de bambú)


Estas son las razones para utilizar las listas de SharePoint a través de la base de datos:

  • Permisos
  • Facilidad de uso para el usuario final
  • Editar en hoja de datos/Excel/Acceso
  • Flujos de trabajo
  • Buscar
+0

Estoy de acuerdo con las razones para usar una base de datos, pero no necesariamente las razones para usar listas de SharePoint. Usando BDC (si tiene MOSS) se pueden lograr muchos de estos si sus datos se almacenan en una base de datos externa y se accede solo en SharePoint o junto con una lista. – elorg

+0

Unfortunatley BDC solo está disponible para MOSS Enteprise, y la mayoría de las personas solo usa WSS. –

3

Si tiene consultas complejas, le sugiero que las ponga en una base de datos separada. Las listas son buenas cuando el modelo de datos no crece con tanta frecuencia.

Extender la cantidad de campos dentro de las columnas de una lista incluye la actualización de ContentTypes directamente con un STSADM que deberá codificar. Sin embargo, consultar los datos directamente desde la base de datos (con algo de caché, por supuesto) dará lugar a un desarrollo más rápido sin tener que actualizar todos los ContentTypes vinculados a todas las listas asociadas a él.

Por supuesto, si activa el almacenamiento en caché, los datos solicitados desde la base de datos se almacenarán en caché en el nivel de salida de la página.

+0

Me gustaría agregar como nota al margen que la búsqueda no será un problema ya que el rastreador rastrea el sitio y no la base de datos. También puedo decirte que puedes vincular el código a eventos de la lista (agregar, editar, eliminar) y hacer que ejecuten código en esos eventos. Realmente genial para sincronizar todo. –

1

Además de la respuesta de Maxim, también le aconsejo que tenga en cuenta la búsqueda. La búsqueda de OTB es realmente agradable si estos datos van a ser algo en lo que tendrás que profundizar.

1

No estaría demasiado preocupado por ir a una base de datos personalizada para los datos.

Significa que hay trabajo adicional para protegerlo con controles personalizados e introducir esos controles en una página de diseño y/o partes web personalizadas que las listas hacen por usted.

Si tiene el BDC disponible, ese sería el camino a seguir, de lo contrario personalizado.

Por lo tanto, al final es una compensación entre la facilidad de integración con sharepoint y tener los formularios de entrada de datos disponibles frente a la codificación de todos esos elementos, pero con un control total de la integridad de los datos.

Cuestiones relacionadas