Índice de contenidos
El diseño de base de datos es un proceso cuyo objetivo es definir la estructura adecuada para nuestro sistema de información. En este artículo analizaremos las fases principales del diseño de una base de datos y veremos los principios de diseño que deberemos seguir para obtener una base de datos bien estructurada y eficiente y que cumpla con los objetivos de nuestro proyecto.
>> Descárgate nuestra guía gratuita: Cloud Computing <<
¿Qué es el diseño de base de datos?
El diseño de base de datos es un proceso fundamental a la hora de modelar nuestros conjuntos de datos y definir las operaciones que queremos realizar sobre ellos. Los datos son el activo más importante de nuestra organización y una base de datos bien diseñada influye de forma directa en la eficiencia que obtendremos a la hora de almacenar, recuperar y analizar nuestros datos.
Ventajas del diseño de base de datos
Un diseño de base de datos realizado de forma correcta nos proporciona una ventajas fundamentales:
- Nos permite ahorrar espacio, mediante el diseño de base de datos optimizadas y sin datos duplicados.
- Nos ayuda a que se preserve la precisión e integridad de los datos y que no se pierda información.
- Agiliza de forma extrema el acceso y el procesamiento de los datos.
Diseño de base de datos: fases principales
Como cada proceso, el diseño de base de datos está compuestos por distintas etapas secuenciales.
Recopilación y análisis de requisitos
Esta primera fase consiste en un paso previo obligatorio, para asegurarnos de que nuestra base de datos cumplirá con nuestros objetivos. Para ello, deberemos analizar distintos factores, entre los cuales:
- Los datos que necesitamos almacenar y de dónde provienen.
- La información que los datos describen.
- Los usuarios de la base de datos y sus necesidades a la hora de acceder a los datos.
Diseño conceptual
En esta fase se representan una descripción a alto nivel del contenido de la base de datos, independientemente del sistema de gestión de base de datos que se utilizará a continuación. Se definen en un dibujo las entidades, sus atributos y las relaciones entre ellas.
Elección de un sistema de gestión de base de datos
Es en esta fase donde elegiremos el sistema de gestión de bases de datos (SGBD) concreto que mejor se adapta a nuestro proyecto, como, por ejemplo, Oracle, MySQL, Microsoft SQL Server y PostgreSQL.
Diseño lógico
En esta fase, se traduce el modelo conceptual obtenido anteriormente a un esquema lógico, que describe la estructura de la base de datos. Se trata de la fase en la cual se diseñan las tablas propiamente dichas, con sus filas, columnas y relaciones. El modelo lógico depende del SGBD que se utilizará.
Diseño físico
En esta fase se definen las estructuras de almacenamiento de la base de datos de forma física. Es cuando se escribe el código (por ejemplo, SQL) para concretar el diseño en el motor de base de datos que hemos escogido.
Implementación
Finalmente, se crea y se compila el esquema de la base de datos, se generan los ficheros y las aplicaciones que implementan las transacciones.
Principios de diseño de base de datos
Para que nuestra base de datos sea eficiente y responda a los requerimientos, es necesario seguir una serie de principios que deben guiar el proceso de diseño de base de datos. A continuación vamos a describir los principales:
- Organización eficiente de las tablas, las unidades fundamentales de la base de datos. Cada tabla se compone de filas, también llamadas registros, y columnas, conocidas como campos. En los campos debería almacenarse un solo tipo de información (parte lógica). También no deberían almacenarse datos que pueden ser obtenidos mediante cálculos sobre otros datos.
- Diseño de las claves primarias y las claves externas. Las claves primarias (o PK), son columnas que identifican de forma única cada fila y permiten construir relaciones entre tablas. Las claves primarias nunca puede tener un valor nulo o duplicado. Por otro lado, las claves externas deben corresponder con las claves primarias de las tablas con la cual se relacionan.
- Diseño de las relaciones entre tablas, que pueden ser de uno a uno, de uno a muchos o de muchos a muchos. Las relaciones permiten organizar la información entre distintas tablas, optimizando el espacio disponible.
- Normalización de la base de datos, que permite cumplir con los estándares de la industria. La normalización es necesaria si vamos a trabajar con una base de datos de tipo OLTP y las formas más comunes son:
- Primera forma normal: un solo valor para cada celda de una tabla.
- Segunda forma normal: los atributos deben depender de la clave primaria de la tabla.
- Tercera forma normal: cada columna que no contenga una clave tiene que ser independiente de las otras columnas.
Un interesante listado de principios de diseño de base de datos relacionales son las “reglas del pulgar” de Tom Grayson.
En este artículo hemos visto cómo llevar a cabo de forma correcta el diseño de base de datos, desde la fase de requisitos hasta la implementación final. Si seguimos los principios de diseño que se han expuesto, nos aseguraremos de que nuestros sistemas de almacenamiento de datos respondan a las necesidades y a los objetivos de nuestra organización.