Accede a todo EDteam con un único pago¡Sube a premium!

Las etapas del diseño de una correcta base de datos relacional

Todos debemos aprender a diseñar. Si no lo haces con formas o colores, puedes diseñar tus bases de datos siguiendo estos pasos.

Diseño web
4 minutos
Hace 6 años
Las etapas del diseño de una correcta base de datos relacional

La definición de diseño nos habla de la producción creativa de objeto(s) útil(es). También hay una definición que habla de la concepción original de un objeto para producirlo en serie. Pues bien, si eres como yo, no te va muy bien con el diseño gráfico o de productos físicos, pero te debe ir muy bien con el diseño de elementos abstractos para plasmarlos en un software.

Todos debemos aprender a diseñar, ya que si combinamos algunas definiciones, debemos crear objetos útiles para producirlos en serie. No te preocupes si no te va bien combinar colores u organizar formas, por ahora basta con poder plasmar las ideas en objetos no palpables.

No te apresures a escribir código nunca. Lo habrás leído o escuchado en muchos lados. Pues bien, ese debe ser uno de los n mandamientos del desarrollo de software que debes cumplir. Y ¿por qué?, bueno la respuesta es simple, si no diseñas primero la solución, te encontrarás con miles de problemas en el camino en los que gastarás más tiempo del que hubieras gastado realizando un buen diseño.

¿Cómo empezar?

Lo primero que debes tener muy bien documentados son tus requerimientos. Debes saber muy bien cuál es la necesidad que vas a resolver/solucionar. Con los requerimientos podrás ir diseñando cada uno de los componentes de tu aplicación. Generalmente, los requerimientos bien documentados son todo lo que necesitas para comenzar a diseñar tus bases de datos. Sin embargo, yo sugiero tener un prototipo que nos permita entender mejor el flujo de trabajo de la aplicación, ya que con este prototipo podrás entender procesos que pueden ser difíciles de plasmar o de imaginar. Además, los prototipos te pueden dar más información de lo que los requerimientos te ofrecen.

Recomendado: Curso bases de datos desde cero

Muy bien, ya tienes tus requerimientos y en casos ideales, ya tienes tus prototipos. Así que a diseñar! Las fases de diseño de una base de datos relacional son:

  • Diseño conceptual
  • Diseño Lógico
  • Diseño Físico

Diseño Conceptual

Durante esta fase, plasmaremos nuestras entidades y las relaciones que existirán entre ellas. Yo por lo general lo hago a mano, me parece mucho más sencillo. Cada entidad la identificaremos con un rectángulo y dentro de este colocaremos su nombre. A cada entidad le colocaremos sus respectivos atributos y resaltaremos el atributo principal, aquél atributo que identificará cada registro de manera única. Y por último crearemos las relaciones que existen entre dichas entidades. Siendo muy sinceros, esta fase no la hacemos a conciencia (me incluyo), pero lo pueden combinar con la siguiente fase muy fácilmente. Aquí no te preocupas por el motor de bases de datos aún.

ER

Diseño Lógico

Aquí podemos tabular nuestro diseño conceptual. Este proceso es más utilizado que el anterior (no debería ser así), ya que cuando ya llevas bastante trabajando en bases de datos, el proceso tabular es más rápido de realizar y vemos resultados más rápidamente. En esta fase, debemos pensar en cómo normalizar nuestras tablas para evitar duplicidad de información y para ahorrar espacio de almacenamiento. Esto último (ahorrar espacio) ya no es tan importante como hace algunos años, incluso hoy en día hablamos de inteligencia de negocios, minería de datos, entre otros términos que nos exigen eliminar la normalización, pero de eso hablaremos en otros post. Para este proceso, las herramientas de modelado te ayudan bastante a ver las relaciones de las tablas. En teoría, aquí tampoco te preocupas por el motor, ya que el modelo tabular es igual en todos los motores de bases de datos relacionales.

Tabular

Fuente de la imagen: https://www.flickr.com/photos/caius/2300154566

Diseño físico

En esta última fase ya debemos revisar a detalle los tipos de datos que utilizaremos, sus dominios (qué valores va a permitir), cuales índices debemos crear para optimizar las consultas, entre otros. Aquí ya escribimos nuestro SQL para plasmar todo nuestro diseño en el motor de bases de datos elegido.

sql

Conclusiones

Ya hemos visto los requisitos para diseñar nuestras bases de datos relacionales y las fases por las que debemos pasar para tener nuestra data bien organizada. Parecen muchos pasos, pero en realidad son muy sencillos de seguir y te ahorrarán muchos dolores de cabeza. Así que para la fase 1: saca una hoja de papel y un lápiz, para la fase 2 puedes usar una hoja de cálculo para tabular las entidades, aunque es mejor utilizar una herramienta especializada en el diseño tabular y para la fase 3 diviértete y saca tu maestro jedi interno escribiendo tu SQL.

Recomendado: Curso desarrollo y gestión de proyectos web

Y tú, ¿diseñas tus bases de datos? Cuéntame cuales son las herramientas que te gusta usar ¿Qué otro tema de bases de datos te gustaría leer en el blog?

Comentarios de los usuarios

Pregunta a ChatEDT