Reseña
Autor reseña: Carlos Granell, socio de ATI.
SQL Server 2008 – SQL, Transact SQL. Diseño y creación de una base de datos
Jerome Gabillaud
Ediciones ENI – Abril 2009

El título ya da una clara pista sobre lo que el lector va a encontrarse en este libro ya que proporciona un contenido eminentemente práctico sobre el diseño y creación de bases de datos en SQL Server 2008, y sobre todo en el uso y peculiaridades de SQL y Transact SQL para SQL Server. La estructura y contenido del libro se decanta por una perspectiva pragmática, con tintes de manual en algunas secciones, pero con buenos y detallados ejemplos prácticos, aunque sin olvidar los fundamentos teóricos requeridos para comprender cualquier sistema gestor de bases de datos. El preámbulo del libro se comenta que “este libro se dirige principalmente a los programadores de aplicaciones y a quienes desean serlo”. En realidad, de los siete capítulos que forman el libro, los cuatro primeros capítulos van dirigidos fundamentalmente a estudiantes de ingenierías de informática ya que tratan conceptos generales del diseño y creación de bases de datos.

Sin embargo, a medida que se avanza en el libro hacia los últimos tres capítulos, la temática coge un matiz mucho más específico y aborda cuestiones prácticas con las que se enfrentan comúnmente profesionales del sector como administradores de bases de datos y programadores de aplicaciones corporativas que acceden masivamente contra bases de datos SQL Server.

El autor comienza el libro con una introducción a los fundamentos básicos de las bases de datos. En este primer capítulo repasa rápidamente los tipos de datos, almacenaje de datos, el modelo relacional y el álgebra relacional. Rápidamente, el autor se mueve de un plano conceptual al práctico introducción en el capítulo 2 nociones de diseño y creación de bases de datos, focalizadas en SQL Server. Este capítulo puede verse como un curso de diseño de bases de datos, donde se tratan con números ejemplos la administración de bases de datos, la gestión de tablas e índices y la implementación de reglas de integrada. De especial interés resulta la sección de gestión de índices para estudiantes, ya que el autor utiliza un formato de problema-solución para dar respuestas claras a problemas comunes en la gestión de índices en SQL Server. El tercer capítulo arranca con una guía práctica de las sentencias SQL, tanto de consulta como de manipulación de datos. Seguidamente realiza una introducción de las peculiaridades básicas de Transact SQL. El capítulo 4, que cierra el bloque introductorio del libro, continúa con cuestiones avanzadas de Transact SQL como la creación de procedimientos almacenados, funciones definidas por el usuario y triggers.

El bloque con temática específica dirigida a un sector profesional comienza con el capítulo 5, donde se aborda la gestión de datos distribuidos en SQL Server 2008. Tareas de administración como copias de datos entre bases de datos distribuidos, importación de datos desde archivos a tablas y viceversa, y gestión de servidores y usuarios remotos son tratados a lo largo de este capítulo. El tratamiento de XML es cubierto extensivamente en el capítulo 6. El autor aborda el tratamiento nativo de SQL Server para tipos de datos XML, formato muy común en la actualidad para estructurar e intercambiar información de forma distribuida. Este capítulo trata el tipo de datos avanzado XML para columnas de tablas. En este contexto, se hace hincapié en las operaciones nativas que proporciona SQL Server para la manipulación de datos XML y las operaciones de consultas, donde se ilustra el uso de XQuery y XPath con multitud de ejemplos prácticos. También se comentan algunos aspectos de indexación de datos XML. La segunda parte del capítulo 6 se centra en los servicios web XML y los tipos de datos espaciales. Respecto a los primeros, se ilustra como SQL Server contiene herramientas gráficas que permiten la transformación de procedimientos remotos como servicios web para acceso vía web desde clientes remotos. Los tipos de datos espaciales se mencionan ligeramente simplemente como un tipo avanzado de datos. El capitulo 7 se dirige a los programadores ya que cubre las posibilidades que ofrece CLR (Common Language Runtime). SQL Server 2008 integra CLR en .Net directamente en el motor de la base de datos, permitiendo así que los programadores puedan codificar procedimientos en lenguajes C# o VB.Net que sean demasiado complejos para ser implementados nativamente en Transact SQL. Por lo tanto, mediante CLR, código .Net puede ser cargado directamente en SQL Server como si fuera un procedimiento Transact SQL más.

Los lectores apreciaran que se trata de un libro de consulta de gran ayuda, y a veces incluso de manual práctico, para distintos perfiles de profesionales que trabajan diariamente con bases de datos SQL Server. Ciertamente, es un libro para profesionales escrito por profesionales.