Crear tabla en MySQL: Guía Práctica para la Creación de Tablas y Relaciones usando Consultas SQL y MySQL Workbench

¡Hola, bienvenid@s a todos!

Continuando con el curso de MySQL 8 desde Cero, hoy veremos cómo crear tablas en MySQL utilizando la herramienta MySQL Workbench.

Crear tablas con una herramienta visual

Para crear las tablas de una base de datos, existen dos opciones diferentes. El primero es mediante el uso de una herramienta visual como MySQL Workbench o phpMyadmin, que proporciona una interfaz intuitiva para la creación y diseño de tablas. La segunda opción consiste en utilizar consultas SQL.

Lo primero que debemos hacer es iniciar la herramienta de MySQL Workbench. Para ejemplificar, utilizaremos la base de datos de la “clínica-veterinaria” que creamos en una clase anterior, así como el diagrama entidad-relación creado anteriormente.

Crear las tablas desde MySQL Workbench

Para crear una tabla en MySQL Workbench, ingresamos a la opción “schemas” y buscamos la base de datos “clínica_veterinaria”. Desplegamos las opciones de la base de datos y seleccionamos “Tables” con un clic derecho. Luego, seleccionamos “Create table” y se abrirá una nueva pestaña donde definiremos la estructura de la tabla.

Crear la tabla Clientes

En primer lugar, crearemos la tabla “clientes”. Esta tabla contendrá los siguientes campos: Id, nombre, apellido, zona, dirección y teléfono.

  • El campo Id es el identificador de la tabla y tiene que ser único por cada registro para mantener la integridad de los datos. Este atributo se define como clave primaria, no permite nulos y es autoincrementable.
  • Los demás campos corresponden al tipo VARCHAR para almacenar cadenas de texto. Para cada campo especificamos la longitud máxima.

Una vez llenados los campos, generamos la tabla haciendo clic en el botón “Apply”. Aparecerá una ventana emergente con el detalle de la consulta, y hacemos clic en el botón “Apply” nuevamente para generar la tabla “clientes”.

Crear la tabla Mascotas

Para dar inicio, vamos a crear la tabla “Mascotas” utilizando los siguientes campos: id, nombre, edad, tipo, color y sexo.

  • El campo “sexo” será declarado como tipo ENUM, restringiendo las opciones de entrada a “Macho” o “Hembra”.
  • También debemos tener en cuenta la relación existente entre la tabla “Clientes” y “Mascotas”. Observamos que se trata de una relación de uno a muchos, lo que significa que un cliente puede tener varias mascotas y una mascota pertenece a un solo cliente.
  • Podemos establecer esta relación a través de las “Foreign Keys”, estableciendo que el campo “client_id” será la llave foránea que hace referencia a la tabla “Clientes”.

Una vez definidas las relaciones entre las tablas, aplicamos los cambios haciendo clic en el botón “Apply”. Esto asegurará que las tablas estén relacionadas correctamente y que se respeten las integridades referencial y de datos.

En una ventana emergente se mostrará el detalle de la consulta, y hacemos clic en el botón “Apply” para generar la tabla “Mascotas”.

Crear tablas desde consultas SQL

Si deseamos crear tablas en MySQL utilizando consultas SQL, tenemos dos opciones: utilizar MySQL Workbench o una terminal.

Crear la tabla Doctores

En primer lugar, vamos a crear la tabla “Doctores”. Para ello, hacemos clic en el botón “Create a new SQL tab” y luego escribimos la sentencia SQL para generar la tabla “Doctores” con los campos: Id, nombre y apellido, cargo, dirección y teléfono.

Crear tablas y relaciones en una base de datos

Tabla Doctores

Una vez que hemos escrito la sentencia SQL para crear la tabla “Doctores”, hacemos clic en el botón “Execute” para generarla en nuestra base de datos.

Tabla Servicios

De manera similar, crearemos la tabla “Servicios” con los siguientes datos: Id, nombre, costo y detalle. Utilizaremos la siguiente consulta SQL:

CREATE TABLE Servicios (

Id INT PRIMARY KEY,

nombre VARCHAR(50),

costo DOUBLE,

detalle TEXT

);

En el campo detalle seleccionamos el tipo TEXT para poder almacenar un gran volumen de información. En el campo costo seleccionamos el tipo DOUBLE para poder almacenar números reales con dos decimales.

Tabla Kardexs

De manera similar, crearemos la tabla “Kardexs” con los siguientes datos: código, enfermedades y detalle. Además, estableceremos la relación uno a uno con la tabla “Mascotas”. Utilizaremos la siguiente consulta SQL:

CREATE TABLE Kardexs (

código INT PRIMARY KEY,

enfermedades VARCHAR(100),

detalle TEXT,

mascotaId INT,

FOREIGN KEY (mascotaId) REFERENCES Mascotas(Id)

);

Relación entre Doctores y Servicios

La relación entre las tablas “Doctores” y “Servicios” es una relación de muchos a muchos. Para expresar esta relación, crearemos una tercera tabla llamada “doctor-servicio” que contendrá los Ids correspondientes a ambas tablas. Utilizaremos la siguiente consulta SQL:

CREATE TABLE DoctorServicio (

doctorId INT,

servicioId INT,

FOREIGN KEY (doctorId) REFERENCES Doctores(Id),

FOREIGN KEY (servicioId) REFERENCES Servicios(Id)

);

Relación entre Servicios y Mascotas

Por último, estableceremos la relación entre las tablas “Servicios” y “Mascotas”. Utilizaremos la siguiente consulta SQL:

CREATE TABLE ServicioMascota (

servicioId INT,

mascotaId INT,

FOREIGN KEY (servicioId) REFERENCES Servicios(Id),

FOREIGN KEY (mascotaId) REFERENCES Mascotas(Id)

);

Una vez creadas todas las tablas y relaciones en nuestra base de datos, estaremos listos para almacenar y relacionar la información de los doctores, servicios y mascotas.

Relación muchos a muchos en MySQL: creando la tabla “mascota-servicio”

En el contexto de nuestro ejemplo, las tablas “Servicios” y “Mascotas” tienen una relación de muchos a muchos. Esto significa que un servicio puede ser realizado a muchas mascotas, y una mascota puede ser atendida en muchos servicios.

Para manejar esta relación, necesitamos crear una tercera tabla llamada “mascota-servicio”. Esta tabla contendrá los ids de ambas tablas así como otros campos relevantes para el registro de la información.

En primer lugar, incluiremos un campo llamado “fecha” para registrar la fecha y hora en la que se realizó el servicio. Además, agregaremos un campo denominado “detalle” donde se especificará el trabajo realizado en el servicio.

Una vez que tengamos esta nueva tabla definida, podremos gestionar eficientemente la relación entre las mascotas y los servicios que han recibido.

Conclusión de la clase de creación de tablas en MySQL

En esta clase, hemos abordado el tema de las relaciones muchos a muchos en MySQL y cómo gestionarlas adecuadamente. Como vimos, la creación de una tabla intermedia “mascota-servicio” nos permite registrar los datos de forma precisa y eficiente.

Si tienes alguna duda o consulta sobre este tema, no dudes en dejarnos un mensaje. Estaremos encantados de aclarar cualquier inquietud que puedas tener.

Acerca de Víctor Peña, Desarrollador de software Backend Developer

Soy Víctor Peña, un desarrollador de software Backend especializado en el uso del framework Laravel, PHP, JavaScript y MySQL. Mi pasión por la programación y el desarrollo de software me ha llevado a crear contenidos relacionados con el emprendimiento y la programación.

Si te interesan estos temas y quieres aprender más, no dudes en seguirme. Estaré compartiendo información valiosa y consejos útiles para aquellos que se dedican al desarrollo de software y para aquellos que están interesados en emprender en el campo tecnológico.

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio