Curso De Mysql: Cómo Relacionar Tablas Con Phpmyadmin Y Workbench?
Wednesday, July 15, 2015
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.
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:
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).
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…”:
Aparecerá una ventana en la cual daremos clic en el botón “OK”:
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:
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”.
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…”:
Saldrá una nueva ventana, nos dirigiremos a la pestaña “Foreign Keys”, ubicada en la parte inferior de esta, y daremos clic sobre ella:
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”:
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”:
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”:
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:
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:
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:
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”:
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:
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:
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”:
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 "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...