Índice

Los datos FILESTREAM

En la actualidad, las bases de datos tienen que poder almacenar datos no estructurados. Para esto SQL Server ofrece su tipo de datos FILESTREAM. Efectivamente, los documentos digitales cada vez están más presentes en nuestro día a día y es muy normal trabajar con fotos, archivos Word, Excel, documentos escaneados… Todos estos documentos difícilmente pueden tener hueco en una base de datos relacional estructurada con tipos de datos sencillos. Además, estos documentos representan normalmente un volumen importante de espacio. Por este motivo, normalmente se elige una de las siguientes opciones:

  • Los datos estructurados se almacenan en la base de datos, mientras que los datos no estructurados (archivos), se almacenan directamente en el sistema de archivos.

  • Los datos estructurados se almacenan en una base de datos y los datos no estructurados se almacenan en otra base de datos.

  • Todos los datos, estructurados o no, se almacenan en la base de datos.

Las dos primeras soluciones tienen el problema de la vinculación entre los diferentes datos. Por ejemplo, ¿cómo asociar correctamente la imagen de un producto a su referencia, su descripción…? y en particular ¿cómo garantizar que cuando se elimina una imagen, el artículo asociado deje de existir?

La tercera solución evita estos problemas, pero tiene el problema delicado de la gestión del espacio en disco de la base de datos. Además, los archivos de datos muy voluminosos tienen tendencia ...