2010-09-21 29 views
5

Estoy creando una aplicación que usa la Lista de SharePoint para almacenar los datos. El diseño de los datos sería muy parecido, como si lo va a poner en una base de datos relacional, con elementos como la relación de muchos a muchos, claves principales, claves foráneas.Mejores prácticas de la lista de SharePoint

Me gustaría saber cuáles son las mejores prácticas?

Hay algunas preguntas que tengo en mente ya la hora de crear la lista:

  • SharePoint en sí contiene un identificador oculto. ¿Debo crear mi propia identificación?
  • ¿Cuál es la mejor manera de reflejar una clave externa? ¿Simplemente está creando un campo de búsqueda? o crees que es mejor simplemente crear un texto de una sola línea y luego mi programa vinculará la ID. ¿Cuál usar que?

Cualquier otro consejo sobre esto sería útil. Por cierto, estoy usando SharePoint 2010.

+0

La razón es que la integración de SharePoint más fácil con otros módulos como el flujo de trabajo. Si bien se puede hacer utilizando BCS, sin embargo, creo que está dando un paso más. –

Respuesta

6

No haría esto. Si va a funcionar como una base de datos relacional, solo debe usar una base de datos relacional. El problema que está experimentando con claves externas es solo la punta del iceberg cuando se trata de usar listas como tablas de bases de datos.

+1

Entonces, ¿cómo dibujar la línea si es la mejor para usar lista o tabla de base de datos? –

+0

@Nikkho Shandittha ** El rendimiento ** es uno de los aspectos que debe considerar: ¿cuántos datos almacenará su aplicación y cuántos usuarios la usarán? SQL Server le permite ajustar el rendimiento de muchas maneras diferentes; con SharePoint, usted está atascado con el diseño de su base de datos y todo lo que puede hacer es ampliar o reducir. –

+0

@Nikkho Shandittha ¿Necesita ** relaciones de muchos a muchos **? ¿Necesita obtener ** datos de múltiples listas usando combinaciones **? –

0

Yo tampoco iría allí. Especialmente no a través del BDC. Si tiene que integrarse con datos relacionales, también podría hacerlo directamente desde su código de flujo de trabajo .NET. Aún podría aprovechar SharePoint para iniciar flujos de trabajo y mantener listas de tareas, etc.

Si sus datos son relacionales, colóquelos en una base de datos relacional. Está bien con eso.

0

Estoy totalmente de acuerdo con los otros chicos. Los datos relacionales se colocan mejor en una base de datos diseñada para eso.

Dado que está utilizando SharePoint 2010, tiene un soporte un poco mejor para manejar grandes listas por medio de regulación y campos de búsqueda mejorados. Además, el BDC ahora se llama BCS y admite la actualización y creación de datos por medio de listas de SharePoint. En teoría, esto te da dos opciones más: a. Coloque los datos en listas usando campos de búsqueda y b. Coloque los datos en la base de datos y acceda a ellos a través de BCS.

El enfoque a) es seguro solo duradero siempre que sus listas no tengan más de un par de miles de entradas y podrían tener algunos problemas debido a la naturaleza de los campos de búsqueda. Para el enfoque b) No tengo idea de cómo BCS trata con los datos relacionales. Lo he estado utilizando con datos simples no relacionados de una base de datos y eso funciona bien. También para grandes cantidades de datos. Aunque ambos enfoques tienen su inconveniente, todavía tienen la ventaja de que obtiene la interfaz de usuario y el recorte de seguridad 'de forma gratuita'. Creo que depende en gran medida de su escenario lo que tiene sentido ...

0

Acepto que las listas de SharePoint no reemplazan a las bases de datos relacionales. Si está decidido a tener los datos ubicados en SharePoint, tal vez piense en usar los servicios de Access para crear su diagrama de relación de entidad y luego publique la base de datos en SharePoint mediante los servicios de acceso.

Echa un vistazo a estos Canal 9 vídeos para más detalles de las posibilidades con los servicios de acceso

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

0

En algunos casos que desea almacenar los datos en una base de datos en lugar de en las listas de SharePoint, si está seguro de que esto es lo que quiere hacer, luego crea su base de datos y tablas como lo haría normalmente, y luego crea una lista usando un tipo de contenido externo que defina en SharePoint para reflejar sus datos en su base de datos.

Más información sobre el tema aquí: http://msdn.microsoft.com/en-us/library/ee557243.aspx