Como Relacionar Tablas en Mysql con phpMyAdmin

render2web
20 Mar 201607:14

Summary

TLDREn este tutorial, se explica cómo relacionar tablas en PHPMyAdmin. Comienza con la configuración del servidor Apache y MySQL, y luego se crea una base de datos llamada 'blog' con dos tablas: 'usuarios' y 'post'. Se detalla la creación de campos y la especificación de tipos de datos y restricciones, como 'autoincremento' y 'llave primaria'. Se establece una relación de 'uno a muchos' entre las tablas, donde un usuario puede tener múltiples posts, pero un post solo puede pertenecer a un usuario. Finalmente, se muestra cómo corregir errores comunes al crear relaciones y se enfatiza la importancia de tener índices adecuados.

Takeaways

  • 😀 En este tutorial, se enseña cómo relacionar tablas utilizando la pestaña Diseñador de phpMyAdmin.
  • 🔍 Se menciona que es necesario tener el servidor Apache y el motor de bases de datos SQL corriendo para iniciar.
  • 🌐 Para acceder al servidor, se sugiere escribir 'localhost' en el navegador, aunque en algunos casos puede ser necesario especificar un puerto diferente.
  • 💡 Se crea una nueva base de datos llamada 'blog' que contendrá dos tablas: 'usuarios' y 'post'.
  • 🌐 Se recomienda cambiar el juego de caracteres a 'utf8_spanish2_ci' para maximizar la compatibilidad con caracteres especiales.
  • 📝 Se crea la primera tabla 'usuarios' con campos como ID, nombre completo, nombre de usuario, contraseña y email.
  • 🔑 Se establece el campo 'ID' como autoincremental y clave primaria para la tabla 'usuarios'.
  • 📚 Se crea la segunda tabla 'post' con campos como ID, título, cuerpo del texto, fecha de ingreso y metadatos.
  • 🔗 Se establece una relación de clave foránea entre la tabla 'usuarios' y 'post', donde un usuario puede tener muchos posts, pero un post solo puede estar asociado a un usuario.
  • 🚫 Se menciona un error común al crear relaciones de clave foránea y cómo solucionarlo asegurándose de que los campos estén de tipo 'int' y de que se establezca un índice.
  • 🔄 Se explica cómo crear la relación de clave foránea correctamente, incluyendo opciones como 'restrict' para la eliminación y 'cascade' para la actualización.

Q & A

  • ¿Qué es lo que se enseña en este tutorial de PHPMyAdmin?

    -En este tutorial se enseña cómo relacionar tablas en PHPMyAdmin utilizando la pestaña 'Diseñador'.

  • ¿Por qué es necesario tener el servidor corriendo antes de crear una base de datos?

    -Es necesario tener el servidor corriendo para poder acceder a la interfaz de PHPMyAdmin y manipular las bases de datos y tablas.

  • ¿Cómo se puede acceder al servidor de PHPMyAdmin si los puertos están ocupados?

    -Si los puertos están ocupados, se puede acceder al servidor de PHPMyAdmin especificando la dirección IP local con el puerto libre, por ejemplo, 'localhost:puerto'.

  • ¿Cuál es la estructura básica de una base de datos para un blog según el tutorial?

    -La estructura básica de una base de datos para un blog incluye dos tablas: una para 'usuarios' y otra para 'posts' o artículos.

  • ¿Por qué se cambia el 'Collation' a 'utf8_spanish2_ci' al crear una base de datos?

    -El 'Collation' se cambia a 'utf8_spanish2_ci' para maximizar la compatibilidad con caracteres especiales como tildes y eñes, evitando problemas de representación de caracteres.

  • ¿Cuántos campos se sugiere tener en la tabla 'usuarios' y cuáles son?

    -Se sugiere tener cinco campos en la tabla 'usuarios': ID del usuario, nombre completo, nombre de usuario, contraseña y correo electrónico.

  • ¿Cómo se establece un campo como 'Autoincremental' y 'Llave Primaria' en una tabla?

    -Para establecer un campo como 'Autoincremental' y 'Llave Primaria', se selecciona el tipo de campo 'Entero' y se marca la opción 'Autoincremento' y 'Clave Primaria'.

  • ¿Qué tipo de relación existe entre las tablas 'usuarios' y 'posts' según el tutorial?

    -Existe una relación de 'uno a muchos' de usuarios a posts, ya que un usuario puede tener muchos posts, pero un post solo puede estar asociado a un usuario.

  • ¿Cómo se crea una relación entre las tablas 'usuarios' y 'posts' en PHPMyAdmin?

    -Para crear la relación, se selecciona la clave primaria de la tabla 'usuarios' y se establece como clave foránea en la tabla 'posts', indicando así la relación de 'uno a muchos'.

  • ¿Qué opciones se deben seleccionar al crear una relación de clave foránea para que se eliminen los posts al eliminar un usuario?

    -Al crear la relación de clave foránea, se deben seleccionar 'RESTRICT' para 'On Delete' y 'CASCADE' para 'On Update' para que los posts se eliminen si se elimina el usuario correspondiente.

  • ¿Qué error se comete a propósito en el tutorial y cómo se soluciona?

    -El error cometido a propósito es intentar crear una relación de clave foránea sin asegurarse de que los campos en las tablas sean del mismo tipo y longitud. Se soluciona corrigiendo el tipo y longitud del campo en la tabla 'posts' y marcando el campo como 'Índice'.

Outlines

00:00

😀 Configuración inicial y creación de la base de datos

El primer párrafo del script de video tutorial se enfoca en la configuración inicial para trabajar con PHPMyAdmin. Se menciona la necesidad de tener el servidor Apache y el motor de base de datos SQL funcionando. El instructor demuestra cómo acceder a la interfaz de PHPMyAdmin y cómo crear una nueva base de datos llamada 'blog', la cual contendrá dos tablas: 'usuarios' y 'post'. Además, se destaca la importancia de configurar el conjunto de caracteres a UTF-8 para garantizar la compatibilidad con caracteres especiales. Se describen los campos de la tabla 'usuarios', que incluyen ID, nombre completo, contraseña y correo electrónico, y se enfatiza la simplicidad del diseño para mantener el tutorial accesible.

05:01

🔗 Estableciendo relaciones entre tablas

El segundo párrafo se centra en el proceso de establecer relaciones entre las tablas 'usuarios' y 'post' en la base de datos 'blog'. Se explica que cada usuario puede tener múltiples posts, pero cada post solo puede estar asociado a un usuario, lo que define una relación de uno a muchos. El instructor ilustra cómo seleccionar la clave primaria de la tabla 'usuarios' y vincularla con la clave foránea en la tabla 'post'. Se menciona un error común al establecer la relación y cómo corregirlo asegurando que ambas tablas estén indexadas correctamente. Finalmente, se establece la relación con las opciones 'restrict' para 'ON DELETE' y 'cascade' para 'ON UPDATE', lo cual garantiza la integridad referencial de los datos.

Mindmap

Keywords

💡Diseñador de PHPMyAdmin

El Diseñador de PHPMyAdmin es una herramienta integrada en la plataforma de administración de bases de datos PHPMyAdmin que permite a los usuarios diseñar y modificar estructuras de tablas de una forma visual y sencilla. En el video, se utiliza para crear y relacionar tablas en una base de datos llamada 'blog'.

💡Servidor Apache

El servidor Apache es un software gratuito y de código abierto que se utiliza para servir páginas web y aplicaciones web. En el contexto del video, se menciona que se debe tener el servidor Apache en ejecución para poder acceder a la interfaz de PHPMyAdmin y gestionar las bases de datos.

💡Motor de bases de datos SQL

El motor de bases de datos SQL (Structured Query Language) es un sistema de gestión de bases de datos relacionales que utiliza el lenguaje SQL para gestionar, almacenar y recuperar datos. Se menciona en el video como parte del software necesario para ejecutar y manejar la base de datos 'blog'.

💡Base de datos

Una base de datos es un conjunto organizado de datos que se almacenan y se pueden recuperar fácilmente. En el video, se crea una nueva base de datos llamada 'blog' que contendrá dos tablas: 'usuarios' y 'post'.

💡Tabla

Una tabla es una estructura de datos utilizada en las bases de datos relacionales para almacenar registros de información en forma de filas y columnas. Se menciona en el video cómo crear tablas para almacenar usuarios y posts en la base de datos 'blog'.

💡Campos

Los campos son los elementos individuales dentro de una tabla que representan los diferentes datos que se almacenan. En el video, se definen campos como 'ID del usuario', 'nombre del usuario', 'password' y 'email' para la tabla 'usuarios'.

💡Autoincremental

El atributo autoincremental se utiliza en una columna de una tabla para que los valores se incrementen automáticamente a medida que se agregan nuevos registros. En el video, se establece que el campo 'ID del usuario' es de tipo autoincremental para que cada nuevo usuario tenga un ID único.

💡Llave primaria

Una llave primaria es un campo o conjunto de campos en una tabla que se utiliza para identificar de forma única a cada fila. En el video, se establece que el campo 'ID del usuario' es una llave primaria para la tabla 'usuarios'.

💡Llave foránea

Una llave foránea es un campo en una tabla que hace referencia a la llave primaria de otra tabla, estableciendo así una relación entre las dos tablas. En el video, se establece una relación de llave foránea entre la tabla 'usuarios' y la tabla 'post' para que cada post esté asociado a un usuario específico.

💡Relación de uno a muchos

La relación de uno a muchos es una forma común de relacionar tablas en las bases de datos relacionales, donde un registro en una tabla (por ejemplo, un usuario) puede estar asociado a muchos registros en otra tabla (como los posts). En el video, se establece esta relación entre la tabla 'usuarios' y la tabla 'post'.

💡Restricción y Cascade

Las restricciones y el cascade son opciones que se pueden establecer en una relación de llave foránea para definir cómo se comportan los registros cuando se eliminan o actualizan. En el video, se establecen restricciones para que los posts se eliminen si se elimina el usuario correspondiente y se actualicen si se actualiza el usuario.

Highlights

Tutorial de cómo relacionar tablas en la pestaña de diseño de phpMyAdmin.

Requisito de tener el servidor Apache y motor de bases de datos SQL corriendo.

Acceso a phpMyAdmin a través de localhost y configuración de puertos si necesario.

Creación de una nueva base de datos llamada 'blog' con dos tablas: 'usuarios' y 'post'.

Configuración de 'collation' a utf8_spanish2_ci para compatibilidad con caracteres especiales.

Definición de campos en la tabla 'usuarios': ID, nombre completo, nombre de usuario, password y email.

Establecimiento de 'ID' como campo autoincremental y clave primaria en la tabla 'usuarios'.

Configuración de los tipos de datos y longitudes de los campos en la tabla 'usuarios'.

Creación de la segunda tabla 'post' con siete columnas.

Relación de la clave primaria 'ID' de la tabla 'usuarios' con la clave foránea 'usuario_ID' en la tabla 'post'.

Establecimiento de restricciones y acciones para la clave foránea: 'restrict' y 'cascade'.

Error común al crear relaciones y cómo corregirlo asegurando que ambas tablas estén en 'InnoDB'.

Proceso de selección y creación de la relación entre las tablas 'usuarios' y 'post'.

Importancia de la relación de uno a muchos y muchos a uno entre las tablas.

Corrección de un error de índice de columna y cómo solucionarlo.

Confirmación de la relación de clave foránea y su estructura correcta.

Visualización final de las tablas relacionadas y su relación en phpMyAdmin.

Transcripts

play00:10

en este vide tutorial vamos a ver cómo

play00:12

relacionar tablas eh utilizando la

play00:15

pestaña diseñador de php may lo primero

play00:19

es que tenemos que tener nuestro

play00:20

servidor corriendo yo aquí tengo mi Sam

play00:21

y tengo el servidor Apache y el motor de

play00:24

bases de datos sql cor Vamos a ingresar

play00:27

por bases de datos vamos a crear una nu

play00:30

Pues para el que no lo sepa una vez

play00:31

tenga el servidor

play00:33

corriendo debemos abrir el navegador

play00:35

cualquiera de tantos y digitar local

play00:38

Host con eso sería suficiente en el caso

play00:42

mío yo tengo que digitar algo más por

play00:44

eso que el puerto 80 y el

play00:49

44 están ocupados por otros programas

play00:52

entonces Pero esto es en el caso mío

play00:53

ustedes en general simplemente de de

play00:55

darle local Host y ya les debería

play00:57

aparecer el servidor yoeng que digitar

play01:00

180 Y ahí sí me carga php my admin y

play01:03

todo el servidor y volvemos vamos a

play01:06

bases de datos Y aquí vamos a crear una

play01:09

nueva base de datos digamos que esto es

play01:11

una base de datos que va a tener dos

play01:12

tablas una usuarios para un blog una

play01:14

base de datos llamada blog que va a

play01:16

tener dos tablas una para usuarios y

play01:18

otra para los los post los artículos que

play01:21

el usuario coloca Entonces vamos en

play01:23

cotejamiento a cambiarlo por utf 8

play01:25

spanish 2 ci esto para maximizar la

play01:28

compatibilidad con caracteres especiales

play01:31

tildes eñ es que no vaya a haber pues

play01:33

problema Entonces vamos a dar

play01:35

crear vamos a crear la primera tabla ya

play01:38

tenemos la base de datos block pero no

play01:39

tenemos tablas y la primera se va a

play01:43

llamar usuarios vamos a mantenerlo

play01:46

simple con cinco Campos no

play01:48

más se decirle ID del

play01:52

usuario el nombre del

play01:55

usuario el nombre Perdón completo y este

play01:58

sí sería el nombre del US ario con el

play02:00

que é accede al sistema

play02:02

eh

play02:03

password Y por último email podemos

play02:06

colocar muchos más datos pero pues para

play02:08

mantener este tutorial sencillo vamos a

play02:10

dejarlo así de esta manera 11 de tipo

play02:14

entero a este le vamos a activar campo

play02:17

de tipo autoincremental y llave Primaria

play02:21

para el nombre va a ser un barchart con

play02:23

una longitud de 100 caracteres para el

play02:25

nombre usuario Lo

play02:26

mismo para el password eh vamos a

play02:30

colocar

play02:31

barchart 100 para el email vamos a

play02:35

colocar barchat 150 cierto ahí tenemos

play02:40

ya nuestra primera tabla creada Vamos a

play02:43

darle

play02:45

guardar volvemos a bases de datos blog y

play02:48

vamos a crear una nueva tabla que se va

play02:50

a llamar post o artículos no sé yo lo

play02:53

voy a dejar post por ahora vamos a

play02:56

dejarlo con siete

play02:58

columnas continuar

play03:02

yid post

play03:05

eh

play03:07

título título

play03:11

eh Este es el el texto largo del post Es

play03:14

decir para no llamarlo descripción

play03:16

llamémoslo cuerpo texto cuerpo perfecto

play03:21

eh

play03:22

fecha ingreso

play03:26

H Qué más le colocamos a esto vamos a

play03:30

colocarle

play03:32

metadatos y vamos a

play03:36

colocarles

play03:39

eh vamos a colocar la la llave primaria

play03:44

de la tabla usuarios pas aquí como llave

play03:46

for se llama ID gu baj usuario entonces

play03:50

aquí lo vamos a invertir y le vamos a

play03:52

poner usuario B ID Entonces vamos a

play03:57

empezar para el ID del va ser mental

play04:00

también como llave

play04:01

Primaria para el título bar

play04:05

achar unos

play04:08

150 caracteres el texto del cuerpo no va

play04:11

a ser ni marchar ni Tex que texto largo

play04:15

para la fecha

play04:17

date para los metadatos un barchart de

play04:21

255 para el ide del usuario aquí es

play04:24

donde viene lo primero que tenemos que

play04:25

tener en cuenta allá en la tabla

play04:28

usuarios el campo se llama yid guion

play04:30

bajo usuario y tiene es de tipo entero y

play04:32

tiene una longitud de 11 11 caracteres

play04:34

entonces aquí eh tiene que ser con la

play04:37

misma estructura va a ser de tipo entero

play04:38

y con una longitud de 11 aquí no va a

play04:40

ser llave primaria ni nada puesto que ya

play04:42

es esta esta Va a ser la llave foránea

play04:44

que se copia de la tabla usuarios

play04:47

Entonces vamos a darle guardar y ahí

play04:51

tenemos nuestras dos tablas con sus

play04:54

respectivos eh Campos Entonces ahora

play04:57

vamos a proceder a la relación Lo

play04:59

primero que vamos a hacer es yo voy a

play05:01

hacer un error a propósito eh Para que a

play05:04

los que les pase lo tengan en cuenta yo

play05:07

voy a base de datos blog más y Busco la

play05:10

pestaña diseñador que es donde yo creo

play05:13

las relaciones entonces aquí vamos a

play05:15

relacionar esta este campo que es la

play05:17

llave primaria la tabla usuarios con

play05:19

este campo que es la llave foránea en en

play05:22

la tabla post es decir un usuario puede

play05:24

tener muchos post pero un post solo

play05:27

puede estar asignado a un usuario

play05:28

entonces aquí hay una relación de uno

play05:29

muchos de usuarios a post y de muchos a

play05:32

uno de post a usuarios Entonces cómo

play05:35

hacemos esta relación Lo más

play05:37

sencillo seleccionamos la llave primaria

play05:40

y nos dice seleccione la llave foránea y

play05:43

le vamos a dar clic sobre la llave

play05:45

foránea inmediatamente nos sale esto y

play05:46

le damos Ok y nos sale un error error

play05:48

índice de columna no encontrada Entonces

play05:51

esto básicamente hay que corregirlo

play05:54

vamos a block dentro de block nos

play05:58

debemos asegurar de que cada una de las

play06:00

tablas Pos usuarios esté de tipo himno

play06:02

deb esto En primera instancia así est en

play06:05

el himno deb puede que nos salga es

play06:07

error y lo solucionamos muy fácilmente

play06:09

entrando a la tabla post donde vamos a

play06:11

utilizar la llave foránea que es esta le

play06:15

vamos a indicar que es un índice Sí y le

play06:18

damos Ok una vez hagamos esto volvemos a

play06:22

base de datos blog

play06:26

diseñador Y nuevamente volvemos aquí

play06:29

crear relación seleccionamos la clave

play06:33

referenciada seleccion la clave

play06:36

foránea y crear relación de llave

play06:40

foránea y nos pregunta on delete vamos a

play06:43

seleccionar

play06:44

restrict Sí para que se elimine si se

play06:48

elimina de aquí el artículo también se

play06:51

va a eliminar el el Pues de se va a

play06:54

eliminar el

play06:55

usuario Pues el usuario no se va a

play06:57

eliminar el registro pero solo si existe

play07:00

y en update tipo

play07:03

cascada Dale

play07:05

Ok y ahí se nos creó la

play07:08

relación como podemos ver Es sencillo

play07:11

directamente desde php my ad

Rate This

5.0 / 5 (0 votes)

相关标签
PHPMyAdminTablasRelacionesBases de DatosDiseñadorBlogUsuariosPostsLlaves PrimariasLlaves ForáneasSQL
您是否需要英文摘要?