SharePoint 2010: Integridad referencial en listas (I)!

Otra de las novedades que incorpora SharePoint 2010 es la posibilidad de poder definir relaciones entre  listas de forma “casi” relacional a través de campos de Lookup. El truco de esta “casi” relacionalidad entre listas está en las nuevas propiedades que se han añadido a las columnas de lookup. Para probar esta funcionalidad:

  • En primer lugar, he creado una lista personalizada (Products) con dos columnas: Title (Columna por defecto) y Description (de tipo texto y multilinea).
  • A continuación le he añadido un primer elemento con el valor P1 en la columna Title.
  • El siguiente paso es crear una nueva lista que se relacione con la anterior (Customers) a través de un campo de lookup. De nuevo he creado una lista de tipo personalizada con tres columnas:
    • Title, columna por defecto y que en mi caso almacenará el ID de producto.
    • Product, columna de tipo lookup que es la que permitirá definir la relación con la lista creada en primer lugar.
    • Description, columna de tipo texto multilinea.
  • En la creación de la columna de lookup de la lista, la “casi” relacionalidad va a venir dada porque:
    • Podemos indicar que no se permitan valores duplicados en la columna (de ahí el “casi”).
    • Además, podremos elegir más de un único valor a a la hora de crear la columna de lookup…cool!
    • Podemos forzar el comportamiento relacional y además indicar como queremos que sea el borrado entre las listas relacionadas: restrictivo vs en cascada.
image image image

Una vez que hemos asegurado la “casi” relacionalidad de las listas vamos a ver su comportamiento:

  • Añadimos un elemento en la lista Customers.
  • Una vez añadido el elemento, editamos el elemento con el que se relaciona en la lista Products.
  • Pulsamos Delete
image image image
  • Tras pulsar Delete y cerrarse la ventana modal de edición del elemento podréis comprobar que se ha realizado el borrado en cascada de forma efectiva.
  • Si volvemos a añadir un elemento en la lista y a continuación intentamos añadir otro elemento que referencie al mismo elemento de la lista Products, al pulsar el botón de guardado podréis comprobar que se visualiza el correspondiente mensaje de error indicando que el elemento ya existe y no se puede crear uno nuevo (los duplicados no son posibles). 
image  

image

Y hasta aquí llega este primer post sobre las características de listas relacionales en SharePoint 2010. También os recomiendo leer este enlace relativo a este tema.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

3 comentarios en “SharePoint 2010: Integridad referencial en listas (I)!”

  1. Muy buen aporte, aunque me hubiera gustado que con las listas (sin meternos con recursos externos como bases de datos) se pudieran relacionar entre si, y que de las listas se pudiera sacar un inner join para tener una lista que invoque a las columnas deseadas. O es posible?

  2. Muy buen aporte amigo ya cheque bien el enlace que dejaste del otro post, y me sirvio bastante ya que soy trainne, y tenia que presentar un avance con una lista que referenciara otras listas, aunque esta bien facil de principio no sabia por mi condicion de novato,pero lo resolvi rapidamente con lo explicado, muchas gracias amigo y sigue asi, si en el “En el arte se vive de Aplausos” en los “Blogs se vive de Comments”…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *