Software Médico

SimpleHC Medium

Un software pensado para toda la comunidad médica


Para solicitar desarrollo de software y/o aplicaciones personalizadas, escríbenos al formulario de contacto





Breaking News





¡BUSCA MÁS CONTENIDO AQUÍ!



▷ Curso de MySQL: Cómo relacionar tablas con phpMyAdmin y Workbench?






Hemos llegado a un punto de suma importancia en lo que concierne a la estructura de una Base de datos; nos referimos al proceso de relacionar tablas entre sí, lo cual podríamos decir que es como la esencia del Modelo Relacional.

Relacion entre tablas de uno a varios

Antes de realizar o llevar a cabo el presente proceso en nuestras tablas, deberás haber sometido tu base de datos al procedimiento conocido como Normalización, lo cual evitará problemas de redundancia e integridad en los datos que almacenemos. 
En esta parte del Curso de MySQL relacionaremos nuestras 2 tablas, las cuales creamos en el capítulo anterior:

Diseño de tablas de nuestra base de datos
    
Lo primero que tenemos que hacer, es establecer qué tipo de relación existe entre estas tablas; es decir, si de uno a uno, de varios a varios, o de uno a varios. En este caso, estamos guardando información sobre personas y/o contactos, y definimos que un contacto puede tener uno o más estudios realizados, en otras palabras la relación sería de uno a varios. Por lo anterior la llave principal de la tabla “tcontacto” pasaría a la tabla “testudio_realizado” y se convertiría en foránea
Ahora, para llevar esto a la práctica; procederemos a crear un campo en nuestra tabla testudio_realizado, el cual se recomienda que tenga el mismo nombre de la llave principal de la tabla “tcontacto” (opcional), y por obligación deberá contener el mismo tipo de datos y con la misma longitud; teniendo en cuenta esto, nuestro campo contendrá las siguientes características: id_contacto (INT(11))(NN).

Tablas de nuestra base de datos con un campo en común
 

Después de tener listo todo, llevaremos a cabo lo que nos interesa; es decir, relacionar y/o unir ambas tablas.

Explicación por Videotutorial:



Explicación por Foto-Tutorial: 

MySQL Workbench:
Procederemos a abrir la aplicación y nos dirigimos al menú “Database”, y luego damos clic en “Query Database…”:

consultando nuestras bases de datos a través de mysql workbench


Aparecerá una ventana en la cual daremos clic en el botón “OK”:

Clic en ok para acceder a nuestras bases de datos

En la siguiente ventana que nos aparece, observaremos que en la barra lateral izquierda, se ubicarán todas las Bases de datos que vayamos creando, ahora ubicaremos la base de datos que creamos con anterioridad “bdcontactos”, y daremos doble clic sobre la misma:

Seleccionando nuestra base de datos

archivos que componen nuestra base de datos

Como pudimos observar en la imagen anterior, se nos muestran tres carpetas, pero sólo nos centraremos en la que dice “Tables”, seguidamente daremos doble clic sobre esta, e inmediatamente se desplegarán las tablas que hemos creado anteriormente: “tcontacto” y “testudio_realizado”.

tablas de nuestra base de datos

Procederemos a seleccionar la tabla donde irá la llave foránea; es decir, “testudio_realizado”, damos clic derecho y escogemos la opción “Alter Table…”:

seleccionando la opcion alter table


Saldrá una nueva ventana, nos dirigiremos a la pestaña “Foreign Keys”, ubicada en la parte inferior de esta, y daremos clic sobre ella:

Clic en la pestaña Foreign Keys

Veremos un nuevo apartado, y en la columna “Foreign Key Name” digitaremos el nombre de nuestra llave foránea, en este caso la llamaremos “tcontacto_testudior”:

asignando un nombre a la llave foranea

Luego, daremos clic en la columna “Referenced Table”, y se desplegará un menú de opciones, en el cual escogeremos el nombre de la tabla de donde proviene la llave foránea, en este caso es “tcontacto”:

escogiendo la tabla de referencia

El siguiente paso a realizar, será activar la casilla del campo que representa nuestra llave foránea en la tabla sobre la cual nos encontramos actualmente; es decir, “id_contacto”; seguidamente, en la columna “Referenced Column” seleccionaremos la columna de la tabla “tcontacto”, la cual representa la llave primaria de dicha tabla; es decir, “id_contacto”:

escogiendo el campo de llave foranea y su referencia en otra tabla

Ahora, en el área de “Foreign Key Options”, en las propiedades de “On Update” y en “On Delete”, dejaremos las opciones que están por defecto; en este caso “NO ACTION”. Hay que aclarar que esto dependerá de nuestras necesidades, ya que dejando estas opciones que están por defecto, lo que hacemos es que si se intenta actualizar la llave foránea en la tabla de donde proviene;  es decir, en donde es llave principal, dicha acción no se permitirá; igualmente, si intentamos eliminar el registro que contiene la llave foránea en la tabla de referencia; es decir, donde es llave principal, no se permitirá eliminar dicho registro; pero siempre y cuando hayan registros relacionados entre ambas tablas:

propiedades On Update y On Delete








Daremos clic en el botón “Apply”, y posteriormente clic en el botón “Apply SQL” y después en el botón “Finish”, de las ventanas que se nos muestran:

Clic en el boton apply

Clic en el boton apply sql

Clic en el boton finish

Por último damos clic en el botón “Close”:

Clic en el boton close



phpMyAdmin:
Procederemos a abrir la aplicación y podremos observar en la barra lateral izquierda, que allí se irán mostrando las bases de datos que vayamos creando, localizaremos nuestra BD “bdcontactos” y daremos clic sobre ella:

clic en nuestra base de datos

Ahora se desplegarán las tablas que tenemos creadas, damos clic sobre la tabla donde irá nuestra llave foránea, en este caso “testudio_realizado”:

Clic en la tabla donde crearemos la llave foranea

Damos clic en la pestaña “Estructura” que se encuentra en la parte superior de phpMyAdmin; luego se nos mostrarán los campos que contiene nuestra tabla, y debajo de ellos encontraremos un enlace llamado “Vista de relaciones” y damos clic sobre este:

Clic en la pestaña estructura

Clic en el vinculo vista de relaciones
 
Procederemos a ubicar el campo que se convertirá en nuestra clave foránea, en esta ocasión “id_contacto”, y damos clic en la lista desplegable que se encuentra al lado de dicho campo; procedemos a seleccionar la tabla de referencia junto con el campo que representa la llave primaria de la misma:

Escogiendo el campo y tabla de referencia

Ahora, diligenciaremos el campo “Nombre de la restricción” y le damos un nombre a nuestra clave foránea, en este caso la llamaremos “tcontacto_testudior”, ahora en las propiedades “ON DELETE” y “ON UPDATE” seleccionaremos la opción “NO ACTION”; y posteriormente daremos clic en el botón “Guardar”:

guardando y aplicando los cambios en nuestra tabla

Si deseas conocer la estructura de la Sentencia SQL necesaria para relacionar tablas en MySQL Server, puedes visitar el siguiente enlace: 

Puedes descargar el fascículo en formato PDF que va acompañado del vídeo de este quinto capítulo del curso de MySQL, desde nuestra Zona de Descargas presionando sobre el icono "Curso de MySQL Parte 5".

¿Te perdiste el capítulo anterior del Curso de MySQL?, puedes acceder a este dando clic en el siguiente enlace: "Cómo crear una tabla con phpMyAdmin y Workbench?"

También te invitamos a seguir el Curso de JAVA: Cómo lo hago en JAVA?, aquí en UH T.I.S, tu Blog de tecnología.

Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.

Si te fue de gran ayuda esta información, no olvides compartirla con tus amigos. Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...

25 comentarios:

  1. buenos dias, al realizar la relacion como indicas me muestra el siguiente error

    ALTER TABLE `tblprograma` ADD FOREIGN KEY (`idCec_PRO`) REFERENCES `sia2`.`tblceco`(`id_CEC`) ON DELETE RESTRICT ON UPDATE RESTRICT;
    MySQL ha dicho: Documentación

    #1452 - Cannot add or update a child row: a foreign key constraint fails (`sia2`.`#sql-1d90_158`, CONSTRAINT `#sql-1d90_158_ibfk_2` FOREIGN KEY (`idCec_PRO`) REFERENCES `tblceco` (`id_CEC`))

    Saludos.

    ResponderBorrar
    Respuestas
    1. Buenos días estimado Edwin.
      Antes de relacionar tus tablas verifica que todas están vacías, que no contengan ningún tipo de datos e intenta nuevamente.

      Borrar
  2. Muy buen artículo. Estoy estudiando programación y plasmándolo en mi blog www.ciclodeinformatica.es por lo que ya tienes un nuevo seguidor. Gracias por compartir conocimiento, saludos!

    ResponderBorrar
    Respuestas
    1. Gracias por tu comentario estimado Juan.
      Te felicito por tu blog, me parece muy interesante lo que estás haciendo.
      Espero verte muy seguido por aquí, ya que estaremos publicando más contenido relacionado con el desarrollo de software.
      Bendiciones...

      Borrar
  3. excelente articulo y exhortandote para que sigas en pro de ayudar a los demas con articulos tan limpios y claros para los que estamos avidos de conocimiento, y atodidactas como yo.

    quiero preguntarte algo eduardo, soy relativamente nuevo en este campo de las bases de datos, de hecho es mi primera bd que estoy haciendo, la cual no me ha dejado avanzar en mi proyecto por la falta relacional de mi bd.

    tengo una tabla empleado con una llave primaria y 6 llaves foraneas a mi entender relacione una llave foranea de empleado con llave primaria de tabla empresa si elimino un empleado no se me va a borrar los datos de la tabla empresa , ahora la escencia de la pregunta, quiero relacionar un a tabla que llame cta (cuenta) su llave primaria, con la llave foranea de empleado, para cuando elimine ese dato de empleado se lleve tambien los datos de la tabla cta. Pero me encuento con gran sorpresa, que solo me aparece una llave foranea, la cual fue la que uni con la tabla empresa no me apracen las demas foraneas para hacer la relacion que deseo, estoy trabajando con PHPMYADMIN y no se si solo aparace una llave foranea en este IDE y se tenga que hacer la realizacion por medio de sql o que? muy agradecido quedo con tu aporte para poder avanzar ya que llevo 3 dias tratando de buscar las foraneas de mi tabla empleado y no me salen de nuevo mil gracias y que Dios te bendia... espero haberme hecho entender, y te dejo el correo por si acaso un post un curso en fin....

    ResponderBorrar
    Respuestas
    1. Saludos estimado Roberto Carlos.
      Primero quiero agradecerte por tu visita a nuestro blog.

      Varias cosas:
      ¿Cuantas tablas tienes creadas en tu Base de datos? (Necesito el dato, porque no entiendo lo de las 6 llaves foráneas)

      1-Quiero relacionar una tabla que llame cta (cuenta) su llave primaria, con la llave foránea de empleado, para cuando elimine ese dato de empleado se lleve también los datos de la tabla cta.

      R-/Sigue los pasos que se te indican en este tutorial para llevar a cabo la relación entre las tablas.
      Ahora, para que cuando elimines el registro en la tabla empleado y también se elimine lo que hay en la tabla cuenta (relacionado con dicho empleado), deberás fijarte en el último paso de este tutorial (en la parte de phpMyAdmin), si te das cuenta en la última imagen hay un menú desplegable llamado "ON DELETE" allí deberás cambiar la opción actual "NO ACTION" por "CASCADE".

      Recuerda que a la hora de realizar una base de datos debes tener presente e identificar las Entidades de las cuales deseas almacenar información.
      Además deberás llevar a cabo el proceso de normalización, el cual te ayudará a definir las tablas y las relaciones entre ellas.
      Déjame tu correo por aquí (en un comentario) para enviarte una documentación al respecto.

      Bendiciones...

      Borrar
  4. Gracias Eduardo por tu respuesta la base de datos creada tiene 11 tablas la cual la tabla padre es empleado de los cuales 9 tablas dependen de la tabla empleado y que digo con esto que si elimino un dato de la tabla empleado me afectan las 9 tablas cuyas entidades las tengo catalogadas como: cta, banco, cargo, personal, contrato, seccion, pagos, nomina, tiponomina. cada una con sus respectivos Items mi pregunta iba enfocada a relacionar estas tablas con estas entidades por ejemplo la tabla padre (empleado ) tiene una llave foranea id_cuenta y la quiero relacionar con la llave primaria de la tabla cta id-cuenta pero no se por que no me aparace en la tabla empleado la llave foranea para realizar mi relacion me explico aparece en el index de PHPMYADMIN que esta descrita como llave foranea, pero no me da la opcion de relacionarla ya que solo me aparcen dos index la llave primaria cod_empleado y nombre_empresa la cual la relacione con con una tabla llamada empresa y la relacion fue asi nombre_empresa con la llave primaria de la tabla empresa 'nit' hasta alli perfecto ya que me inserta me elimina me actualiza perfecto.

    ahora quiero relacionar la tabla cta llave primaria 'id_cuenta' con la llave foranea id_cuenta de la tabla empleado y a la hora de hacer la relacion no me aparece por lo que te describi de la llave foranea nombre_empresa es decir solo me aparce esta llave foranea de esta tabla para realizar relaciones

    me pregunto solo se pueden colocar una sola llave foranea en una tabla.
    se púede relacionar las llaves primarias de las tablas o siempre debe ser llave primaria con foranea para su relacion.

    no te molesto mas y deseandote un año lleno de gloria y sabiduria muchas gracias.
    y creo que este seria un excelento post la relacion de varias tablas ya que el internet tiene muchos post respecto a este tema ya que uno que es autodidacta se pega a la hora de realizar este tipo de relaciones y puede abandonar con algo que a la larga es una pequeñez..........

    correo

    ResponderBorrar
    Respuestas
    1. Saludos Estimado Roberto Carlos.

      Bueno con respecto a los interrogantes:

      1- ¿Me pregunto solo se pueden colocar una sola llave foránea en una tabla?
      R-/ No.
      Tú puedes colocar varias llaves foráneas siempre y cuando sean estrictamente necesarias.
      Pero antes de relacionar las tablas debes de realizar como te lo dije anteriormente, el proceso de Normalización.

      2- ¿Se puede relacionar las llaves primarias de las tablas?
      R-/ Bueno según entiendo, de acuerdo a tu ejemplo:
      id_empleado (Tabla empleado) con id_cuenta (Tabla cuenta), esto jamás se puede relacionar, porque cada llave principal identifica a un registro determinado de la tabla respectiva.

      3- ¿Siempre debe ser llave primaria con foránea para su relación?
      R-/ Recuerda que cuando una llave primaria la relacionas con un campo de otra tabla ese campo se convierte en la llave foránea.
      En otras palabras, cuando tú creas la llave principal de la tabla cuenta (id_cuenta) tú le das unas características; es decir, ej. Tipo de datos (int), longitud (11), etc.
      Para relacionarla con la tabla empleado, deberás crear en la tabla empleado un campo que se llame "id_cuenta" (puede ser otro nombre), y le debes de especificar las mismas características que le diste a la llave principal de la tabla cuenta (id_cuenta); es decir, tipo de datos (int), longitud (11), etc.
      Luego procedes a realizar la relación. (Te recomiendo ver el video, ya que lo explico más detalladamente).

      Si sigues teniendo inconvenientes no dudes en dejarme tu comentario, y no es ninguna molestia jejeje.
      Gracias por tus deseos, e igualmente te deseo un Feliz año nuevo lleno de infinitas bendiciones del Todopoderoso sobre tu vida.

      "Que tu principal propósito para este nuevo año que comienza y por el resto de tu vida, sea caminar con Dios".

      Borrar
  5. Gracias eduardo como ves sigo en mis propositos de adquirir conocimientos gracias por tus aportes son inmensamente invaluables para mi.

    pregunta concisa de acuerdo a tu sintesis estoy realizando todo al respecto, me sale bien, pero como te digo solo puedo relacionar una sola llave foranea de esa tabla con llaves primarias de cualquiera de las tablas que tengo ¿por que las de mas foraneas de esta tabla padre que estan marcadas como index no me dejan relacionar? sera que debo habilitar algo en el PHPMYADMIN para poder hacer las respectivas relaciones con las llaves primarias de las otras tablas....

    ResponderBorrar
  6. Eduardo gracias a Dios y a ti me reflejaron la luz para poderlo hacer y como lo hize por defecto PHPMYADMIN saca dos registros de index uno para llave primaria y otro para llave foranea asi hayamos realizado la base de datos con mas de un index si deseamos realizar relaciones de una dato x seleccionamos vista de relaciones y aparece un cuadro con todos los datos de la tabla, mas abajo aparece un +indice donde estan todas las llaves foraneas y la primaria.

    le doy en continuar selecciono la columna le aplico el index, le doy continuar y huala me aparece este dato listo para relacionarla con culaquier llave primaria de mi base de datos.

    me perdonan la ignorancia de algo tan insignificante y facil de hacer pero la verdad me da alegria de avanzar en mis conocimientos propios y esperando le sirva, a alguien esto que les confieso me eche dos dias tratando de hacer esto tan pequeño...........

    ResponderBorrar
    Respuestas
    1. Estimado Roberto Carlos, me alegra saber que lograste solucionar este inconveniente, y no es para menos que estés contento jejeje.
      Muchas veces esas cosas pequeñitas y que parecen insignificantes, se vuelven grandes dolores de cabeza, pero la cuestión está en perseverar hasta encontrar la respuesta, y todo se lo debemos a Dios que nos da la sabiduría y fortaleza para alcanzar lo que nos propongamos. Sé que tu experiencia ha de ser de gran ayuda para muchos en la web, porque estas situaciones han de presentarse de forma inesperada y encontrar una solución se vuelve en muchos casos algo desesperante.
      Bueno, espero seguir contando con tus visitas y que nos colabores compartiendo y recomendando nuestro contenido.
      Bendiciones...

      Borrar
  7. Eduardo muy agradecido por tan interesante post, y siguiendo con el tema me gustaria preguntar algo referente al mismo.

    un ciudadano tiene un un numero de identificacion en el cual es unico que de cierto hay al la hora de llenar los datos de una tabla no dejar este numero de identificadcion como llave primaria pór efectos de error de un usuario y a la hora de realizar la actualizacion se puede enredar la informacion de la persona, recomiendan que es mejor dejar un codigo que identifique este documento de identificacion de una persona.
    es cierto esto?

    mi problema concreto es que tengo una tabla empleado con una llave foranea id_cuenta la relacione con una tabla cuenta y su llave primaria es id_cuenta, esta tabla cuenta me sirve para registrar el numero de cuenta de un empleado X, ahora ya desgloso el por que de mi pregunta si un numero de cuenta es unico el cual es un dato de mi tabla cuenta, sera necesario tener un id_cuenta para el numero registrar

    Muchas gracias......

    ResponderBorrar
    Respuestas
    1. Saludos Estimado Roberto C.

      Disculpa que te conteste un poco tarde, con respecto al uso de llaves (claves) primarias, es cierto que lo más recomendable es usar un campo (id) de tipo autoincrement, ya que permite una mayor integridad y unicidad de los registros de la tabla, y mejora el rendimiento de las consultas, entre otras ventajas; sin embargo, es más recomendable para tablas donde es un poco dudoso establecer o no tienes claro un campo único (llave primaria) para identificar los registros.

      Igual tu puedes asignar como llave primaria un determinado campo de tu tabla, que sepas que identifica a un registro como único así tal cual como lo tienes en tu tabla cuenta; es decir, id_cuenta.

      Hay casos que usar un campo autoincrement no es recomendable, y es cuando por ejemplo, tu estas creando una cuenta a un empleado, necesitas capturar el id de la cuenta para relacionarla con la tabla empleado, para ello deberás consultar el último registro (id) almacenado en la tabla cuenta y sumarle uno (+1); es decir, suponiendo que el último registro tenga un id = 7, entonces el id de la cuenta que vas a crear sería = 8, pero como ves ya la propiedad autoincrement del campo id sería algo inservible en estos casos, esto se agrava cuando están varios usuarios trabajando en el mismo software de forma simultánea, ya que todos tendrían que el id de la cuenta a crear es 8, lo cual produciría un error al tratar de almacenar la información.
      Otra cosa sería que vayas a relacionar registros ya creados con anterioridad, aquí el uso de campos autoincrement como llave primaria es más aceptable y recomendable, pues al relacionar las tablas tú ya conoces el id de los registros y no tienes que realizar operaciones adicionales.

      Espero haberte aclarado un poco tus dudas.

      Bendiciones...

      Borrar
  8. Muy buena información, siempre se me olvida algo tan sencillo y fue bueno encontrar esta entrada para que me refrescara la memoria :)

    ResponderBorrar
    Respuestas
    1. Saludos estimada Laura Cuevas.

      Es muy gratificante saber que te ha sido de gran ayuda este post, no olvides compartirlo en tus redes sociales.

      Bendiciones...

      Borrar
  9. Buen dia, excelente post, me ha servido mucho.

    ResponderBorrar
  10. Buen dia, excelente post, me ha servido mucho.

    ResponderBorrar
    Respuestas
    1. Saludos estimado Abraham Hernandez.
      Me alegra mucho de verdad que este artículo te haya sido de gran ayuda.
      No olvides compartirlo en tus redes sociales.

      ¡CRISTO TE AMA!

      Bendiciones...

      Borrar
  11. Hola a ver si me puedes ayudar.
    Tengo 3 tablas y queria averiguar como hacer la relaciones seria empleado,clientes y servicios para realizar las consultas de las horas
    realizadas por cada empleado a cada cliente entiendo que empleado seria con servicios 1:N y servicios con empleados N:1 mi problema es relacionar clientes con servicios tengo dudas si sería asin o con empleados.

    ResponderBorrar
  12. hola eduardo, excelente materia, puedes hacer un video, donde expliques como validar un jpassworfield sin usuario es decir; en un jframe al ejecutar que me pida el password de acceso y me direccione a otro jframe siempre y cuando el pass sea corecto( solo el password sin usuario), gracias amigo. saludos desde oaxaca

    ResponderBorrar
    Respuestas
    1. Saludos estimado Jussaviff Flores.

      Para lograr el tipo de Login que mencionas (sólo contraseña), debes seguir el mismo procedimiento que con un Login normal (usuario y contraseña), sólo debes tener en cuenta ciertos puntos, ej:

      A) Si tu Login no tiene conexión a Base de datos (Mira cómo hacerlo dando clic aquí):

      1- No coloques en tu JFrame (formulario) el campo para digitar el Usuario.
      2- En el condicional "if" vas a modificar la condición a evaluar, y sólo validarás el valor de la contraseña digitada, ej:

      Condicional normal:

      if (txtUsuario.getText().equals("Administrador") && clavedef.equals("12345")){}

      Como debe quedar:

      if (clavedef.equals("12345")){}


      B) Si tu Login si tiene conexión a Base de datos (Mira cómo hacerlo dando clic aquí):

      1- No coloques en tu JFrame (formulario) el campo para digitar el Usuario.
      2- En el método "validar_ingreso":
      *Eliminarás la variable String "usuario" y su contenido; es decir, esta línea:
      String usuario = Login.txtUsuario.getText();
      *La sentencia SQL que está en la variable String "SSQL" deberás modificarla, y debe quedar así:
      String SSQL="SELECT * FROM usuarios WHERE clave=sha1('"+clave+"')";


      Sigue los pasos que te he recomendado y me comentas cualquier inquietud.

      ¡CRISTO TE AMA!
      ¡ÉL VIENE PRONTO!

      Bendiciones...

      Borrar
    2. muchas gracias amigo, ya kedo lo que buscaba, gracias ati, estoy inscrito en tu canal, esperando nuevos videos muchas gracias. bendiciones cualquier duda mas adelante te agradeceria que me respondieras. BENDICIONES Y QUE DIOS TE CUIDE. GRACIASS

      Borrar
  13. buenas muy buena informacion pero tengo una duda si yo quiero crear una base datos con mysql y java que debo usar el workbench o phpmyadmin no entiendo la diferencia de cada uno, o los 2 se deben utilizar combinados
    saludos

    ResponderBorrar
    Respuestas
    1. buenas muy buena informacion pero tengo una duda si yo quiero crear una base datos con mysql y java que debo usar el workbench o phpmyadmin no entiendo la diferencia de cada uno, o los 2 se deben utilizar combinados
      saludos

      Borrar
    2. Saludos estimado José Gonzalez, tú puedes usar la herramienta de tu preferencia y con la que te sientas más cómodo trabajando y que te brinde las opciones que necesitas para tus fines y objetivos a la hora de programar, ambas herramientas te permiten administrar tus bases de datos.
      En estos post se usan las dos aplicaciones, ya que hay programadores que se inclinan por phpMyAdmin y otros por MySQL Workbench; por lo cual, tratamos de explicar un mismo proceso usando las dos herramientas.
      Y te aclaro, no tienes que combinarlas, sólo usa la que te sea de más provecho.

      ¡CRISTO ES TU SUSTENTADOR!

      Bendiciones...

      Borrar