¿Todavía interesa normalizar bases de datos? Reflexionando sobre su enseñanza César Domínguez Pérez 1 , Arturo Jaime Elizondo 1 , Tomás A. Pérez Fernández 2 (1) Dpto. de Matemáticas y Computación de la Universidad de la Rioja. Ed. Vives, Luis de Ulloa s/n, 26004 Logroño {cesar.dominguez, arturo.jaime}@unirioja.es (2) Dpto. de Lenguajes y Sistemas Informáticos de la Universidad del País Vasco. Fac. Informática de San Sebastián, P. Lardizabal 1, 20018 Donostia-San Sebastián tomas.perez@ehu.es Resumen El objetivo principal de este trabajo es hacer una reflexión sobre la normalización de bases de datos en la actualidad, incluyendo su utilidad práctica, el enfoque seguido en su enseñanza y su utilización en proyectos reales. Identificamos cómo muchos libros de fundamentos de bases de datos pasan por alto aspectos fundamentales en el proceso de normalización como el cálculo de las claves de una relación. Presentamos un algoritmo informal de obtención de claves basado en una representación gráfica que nos resulta útil para la docencia. Incluimos un estudio de herramientas relacionadas con la normalización y finalmente describimos casos prácticos que nos permiten reflexionar sobre cuestiones poco claras relacionadas con esta actividad. 1. Introducción La normalización de bases de datos (BD) fue introducida por Edgar F. Codd a principios de los 70 [4] poco después de crear el modelo relacional [3]. La normalización pretendía añadir calidad a los diseños de BD que seguían el modelo relacional, evitando la aparición de datos redundantes y los problemas de actualización que conllevan. Normalizar esquemas de relación (tablas) de una BD supone, en primer lugar, comprobar una serie de normas, llamadas formas normales, y en segundo lugar, descomponer los esquemas que no las cumplen para obtener esquemas normalizados. Hoy en día, y tras casi 40 años desde su aparición, el modelo relacional goza de gran aceptación. La mayoría de BD diseñadas actualmente son relacionales. Sin embargo, ¿podemos afirmar lo mismo de la normalización? El interés de la normalización figura de forma explícita en las recomendaciones de la ACM sobre el currículo en informática [1]. La bibliografía especializada en BD [8,5,6] le concede siempre un espacio razonable. Además, es habitual encontrar un capítulo sobre normalización en los programas de titulaciones españolas en informática. Por todo lo anterior, da la sensación de ser un tema vigente. Lo que no está tan claro es si las técnicas de normalización se aplican con tanta profusión en el mundo profesional. Nuestra experiencia incluye los proyectos que realizan nuestros alumnos en las empresas y lo que nos trasladan algunos egresados y conocidos. Nos da la sensación de que el interés de terminar los proyectos a tiempo, el énfasis central en el diseño conceptual y quizá cierta percepción de actividad poco relevante puede estar relegando la normalización de BD al olvido. De estar en lo cierto, cabe preguntarnos si realmente merece la pena el esfuerzo de aprendizaje de estas técnicas. Este trabajo pretende hacer una reflexión sobre la enseñanza del tema: qué podemos mejorar en su enfoque para desmitificar la actividad (como algo que parece “muy” teórico con “mucha” matemática) y al mismo tiempo facilitar su aplicación, por ejemplo, difundiendo qué herramientas son útiles tanto si el objetivo es aprender como si es automatizar la actividad. Cuando nos preparamos este tema, hace unos años, nos llamó la atención identificar algunas cuestiones que se daban por supuestas. Una de las más llamativas es la detección de claves de una relación. Tampoco se presentan, en general, ejemplos asociados a dominios concretos, al estilo de los utilizados en capítulos sobre diseño conceptual. Si los autores no nos muestran algún ejemplo cercano a la realidad donde se ilustre su utilidad ¿conseguirán motivar al lector (futuro profesional) sobre su interés práctico? XV JENUI. Barcelona, 8-10 de julio de 2009 ISBN: 978-84-692-2758-9 http://jenui2009.fib.upc.edu/