Entrada

Crear un Modelo Conceptual en Draw.io

En este artículo aprenderás a crear un modelo conceptual de base de datos utilizando la herramienta gratuita draw.io (ahora diagrams.net). Este tipo de modelo permite representar entidades, atributos y relaciones antes de implementar tu base de datos en sistemas como MySQL, PostgreSQL o SQLite.

¿Qué entendemos por Modelo Conceptual?

Un modelo conceptual es la representación abstracta de los datos relevantes de un sistema. Aquí se definen:

  • Entidades (ej. Usuario, Producto)
  • Atributos (ej. nombre, precio)
  • Relaciones (ej. Compra, Tiene)

La creación del modelo conceptual es el primer paso fundamental en el diseño de una base de datos. En esta etapa se identifican las entidades, atributos y relaciones sin preocuparse aún por detalles técnicos como tipos de datos o claves foráneas. Es una fase previa al diseño del modelo lógico o físico.

Cómo Comenzar con Draw.io

Existen muchas herramientas para crear diagramas, pero en este artículo vamos a utilizar Draw.io, una herramienta gratuita para crear diagramas. Permite exportar, compartir y colaborar fácilmente, lo que lo convierte en una excelente opción para crear modelos conceptuales. Para ello, sigue estos pasos:

1. Accede a https://draw.io

Pantalla principal de Draw.io pantalla principal

2. Ve al menú izquierdo y selecciona

  • Relación de la entidad para trabajar con símbolos de bases de datos.
  • Usa rectángulos para entidades, óvalos para atributos y rombos para relaciones.

Toolkit de Relación de la entidad

Entidades, Atributos y Relaciones

Una entidad puede representarse como un rectángulo, ya sea con o sin bordes, dependiendo del estilo que elijas para tus diagramas, los atributos se representan con óvalos y las relaciones con rombos.

1. Entidad

Entidad
  o  
Entidad

2. Entidad con atributo clave

Cliente
ID_Cliente

3. Entidad con atributo normal

Cliente
Nombre

4. Relaciones

Cliente
Compra
Producto

Ejemplo de Modelo Conceptual de Cliente y Producto

En este ejemplo básico definiremos dos entidades principales y su relación:

  • Entidad: Cliente
    • Atributos: ID_Cliente, Nombre, Correo
  • Entidad: Producto
    • Atributos: ID_Producto, Nombre, Precio
  • Relación: Compra

Empezamos por añadir la entidad Cliente y Producto, buscamos en el cajón de herramientas y si nos ponemos encima del item correcto lo vemos ampliado, clic sobre él y se añade.

añadir entidades

Ahora añadimos usando un verbo para describir la relación, un cliente compra un producto:

añadir relación

Ahora unimos con un conector (usando los conectores de relación uno a uno y uno a muchos):

usando conector 1 to mandatory

usando conector 1 to many

Para finalizar vamos a definir los atributos de la entidad cliente, añadimos la clave, el nombre y su correo, esta vez los unimos utilizando conectores de línea:

usando atributos

usando conector standar

Ahora repite el proceso en la otra entidad Producto y el resultado sería el siguiente:

Modelo de ejemplo

Podemos aplicar distintos estilos utilizando el cajón de herramientas de la forma seleccionada.

Aplicar estilos

Para mostrar cómo representar nuevas formas en Draw.io, vamos a modificar este ejemplo. Usaremos una entidad Pedido, que se relaciona con una entidad débil llamada DetallePedido (se dice entidad debíl porque depende de otra entidad, si no tienes pedidos no tiene sentido).

Añadimos la entidad débil:

Añadir entidad debil La entidad DetallePedido se dibuja con doble borde para marcarla como débil

Además, ahora puedes observar que DetallePedido se conecta con la entidad Producto, que indica qué productos están incluidos en cada pedido.

De esta forma, reflejamos una relación común en bases de datos: un pedido puede incluir varios productos, y cada producto puede estar en múltiples pedidos.

Buenas Prácticas al Diseñar

  • Usa nombres claros y singulares para entidades: Producto, no Productos
  • Relaciona entidades con verbos: Compra, Contiene
  • Añade atributos claves como id_cliente, fecha, etc.
  • No mezclar atributos con relaciones.
Esta entrada está licenciada bajo CC BY 4.0 por el autor.