MySQL es un administrador de bases de datos relacionales – RDBMS Relational Database Management System.
Se llaman relacionales porque los datos se manipulan según la teoría relacional o modelo relacional. – Modelo Relacional – Wikipedia
En una base de datos relacional podemos encontrar tres tipos * de relaciones entre registros almacenados en distintas tablas:
Uno a Uno – 1:1
Uno a Muchos – 1:M
Muchos a Muchos – M:M
Uno a Uno – 1:1
Un registro de la tabla 1 se relaciona únicamente con un registro de la tabla 2.
Un registro de la tabla 2 se puede relacionar únicamente con un registro de la tabla 1.
Ej.
Un usuario tiene un perfil.
El perfil pertenece a un usuario.
Uno a Muchos – 1:M
Un registro de la tabla 1 se puede relacionar con muchos registros de la tabla 2.
Un registro de la tabla 2 únicamente se puede relacionar con un registro de la tabla 1.
Ej.
Un usuario tiene muchas imágenes.
Esta imagen – una imagen en particular – pertenece a este usuario – un usuario en particular -.
Estas imágenes – un grupo de imágenes – pertenecen a este usuario – un usuario en particular -.
Muchos a Muchos – M:M
Un registro de la tabla 1 se puede relacionar con muchos registros de la tabla 2.
Un registro de la tabla 2 se puede relacionar con muchos registros de la tabla 1.
Ej.
Un usuario puede estar inscrito a muchos cursos.
Un curso puede tener muchos usuarios inscritos.
Para poder definir las relaciones es necesario identificar a los registros:
– En la tabla donde están sus datos
– En la tabla donde tienen una relación
Eso lo vamos a ver en la publicación de identificadores.
* En algunos casos se considera la relación que Muchos a Uno – M:1 – que funciona como 1:M pero la tabla que se modifica es la independiente – más adelante vamos a ver ese concepto -.