Bases de Datos (III). Diseño lógico

En la serie de materiales sobre Bases de Datos, presenté algunos conceptos y definiciones, además de la realización de un proyecto completo, resumiendo cada una de las fases que lo componen: análisis, esquema, tablas, datos y consultas. En la Fase 2 del diseño de la Base de Datos, propuse la elaboración de un esquema de la BD utilizando el Modelo Entidad-Relación.

Una vez terminado y validado el diagrama, ya estamos en disposición de comenzar la Fase 3, en la que nos enfrentamos al diseño de la BD con el ordenador, utilizando un Sistema de Gestión de Base de Datos.

Esta fase se conoce como diseño lógico. En este punto del proyecto, transformamos el esquema de la base de datos (diseño conceptual), en una serie de estructuras lógicas (tablas, campos, claves primarias y ajenas, etc.), que permitirán almacenar los datos de una forma óptima, sin redundancia de datos (que no haya duplicidad de información; que no se repita el mismo dato) y garantizando la integridad referencial: que no se pueda relacionar un dato A con otro dato B, si este último no existe todavía en la base de datos.

El objetivo es definir correctamente los campos y claves de las tablas, y las relaciones entre ellas, para que el sistema gestor de base de datos pueda avisar con un mensaje de error si el usuario está intentando realizar una operación incorrecta sobre la base de datos, y que no corresponde con el diseño del esquema inicial.

He resumido en estos apuntes los pasos necesarios para definir las distintas relaciones entre entidades que se pueden dar en la fase de diseño lógico.

Ficha (4) | Diseño lógico (PDF, 2 páginas)
En Tiching | Bases de datos (III). Diseño lógico.
Ficha (3) | Modelo Entidad-Relación (PDF, 2 páginas)
Fichas (1) y (2) | Bases de Datos (I). Fases de diseño

Bases de Datos (II). Esquema con el Modelo Entidad-Relación

En la primera parte de esta serie de apuntes dedicados a las Bases de Datos, introducía algunos conceptos y definiciones y proponía la realización de un proyecto completo, resumiendo cada una de las fases que lo componen: análisis, esquema, tablas, datos y consultas.

Empezamos ahora la Fase 2 del diseño de la Base de Datos, y en este punto del proyecto vamos a elaborar un esquema de la BD utilizando el Modelo Entidad-Relación. Una vez terminado y validado el diagrama, podremos ya iniciar la Fase 3, en la que iniciamos el diseño de la BD con el ordenador, utilizando un Sistema de Gestión de Base de Datos. Para este proyecto: LibreOffice Base.

Un diagrama entidad-relación es una herramienta de diseño que permite representar las entidades importantes de un sistema de información así como la relaciones entre ellas y las propiedades que las describen. El modelo de datos entidad-relación es una representación del mundo real que consta de una colección de objetos básicos, llamados entidades, y de relaciones entre esos objetos.

Para desarrollar esta fase del diseño de bases de datos, he reunido en esta tercera ficha la explicación de los conceptos de entidad, atributo y relación. Los apuntes muestran un ejemplo de diagrama entidad relación que pretende representar una parte de un sistema de información de un colegio, en el que 4 entidades: alumnos, grupos, asignaturas y profesores están interrelacionadas.

Las siguiente entrega, Bases de Datos (III), tratará el diseño de tablas con un Sistema de Gestión de Base de Datos. Puedes ir descargando ya LibreOffice Base.

Ficha (3) | Modelo Entidad-Relación (PDF, 2 páginas)
En Tiching | Bases de datos (II). Modelo Entidad-Relación
Fichas (1) y (2) | Bases de Datos (I). Fases de diseño

Bases de Datos (I). Fases de diseño

Es más que probable que cada vez que accedemos a una página en Internet estemos realizando una consulta a una base de datos. Resulta difícil encontrar ya páginas web en Internet que no conecten con una base de datos para recuperar la información, procesarla convenientemente para finalmente presentarla al usuario en el navegador. Podríamos asegurar que todos los servicios de Internet que utilizamos a diario están construidos mediante páginas web dinámicas, con lenguajes de programación web como PHP, ASP.NET o JSP, diseñados para acceder y consultar con facilidad a una o varias bases de datos.

Cuando visitamos IMDb – The Internet Movie Database – estamos accediendo a una base de datos. Cuando navegamos por las secciones de Spotify, reproduciendo las  canciones de nuestro cantante favorito, también estamos consultando una base de datos. O cuando buscamos un obra en la Biblioteca Virtual Miguel de Cervantes, también hay una base de datos que recibe una petición. Existen bases de datos en todas partes y de todo tipo.

De hecho, podemos imaginar (y diseñar) una base de datos que refleje la actividad de cualquier aspecto de la sociedad: información sobre obras en una galería de arte, relaciones entre contactos de una red social, fichas de recetas de cocina, información de los vuelos en un aeropuerto, el inventario en un almacén, etc.

Como en cualquier sistema software, las bases de datos también se diseñan. Y no nos referimos al aspecto visual, sino al diseño como el proceso de planificar y crear un modelo de un producto final; en este caso, un sistema para almacenar y organizar los datos. Ese modelo o esquema tendrá finalmente una implementación concreta en un Sistema de Gestión de Base de Datos (SGBD), como MySQL, SQL Server u Oracle.

Si nos ceñimos a los procesos típicos de la ingeniería del software, las fases de diseño de un sistema de bases de datos no serían exactamente los que propongo en estos apuntes. En estos materiales, a modo de fichas, se plantea la creación, en distintas etapas, de una base de datos de un modo más simplificado y mucho más práctico; con los pasos fundamentales para que un alumno secundaria pueda realizar un proyecto completo de BD.

Los pasos para la creación de una BD de la propuesta son:

  1. Análisis. En esta fase tiene lugar la comunicación con el cliente para conocer el sistema de información e identificar las necesidades (requerimientos) de diseño de la BD.
  2. Esquema. En esta fase se realiza el diseño conceptual o esquema de la base de datos. Para ello se utiliza el modelo Entidad-Relación con el que se identifican y detallan las entidades del sistema y las relaciones entre ellas.
  3. Tablas. Conocida como diseño lógico, en esta fase se definen con un SGBD las tablas y campos de la BD.
  4. Datos. En esta fase se introducen los datos en los registros de las tablas de la BD.
  5. Consultas. En esta etapa, se diseñan los formularios de acceso a los datos y los informes, para realizar consultas concretas a la BD.

En esta primera entrega publico las dos primeras fichas sobre Bases de Datos. En la primera se incluye alguna definición y se resumen los pasos para la creación de una BD. En la segunda ficha hay una propuesta de 5 proyectos distintos de creación de bases de datos, sobre cine, música, deportes y libros, con un breve análisis de requerimientos para detallar y/o ampliar.

Las siguiente entrega, Bases de Datos (II), tratará el diseño conceptual: el esquema de la BD, introduciendo aspectos muy básicos del modelo ER.

Fichas (1) y (2) | Base de Datos (I)
Enlaces | LibreOffice