Skip to main content

¿Qué es una relación de base de datos?

MODELO ENTIDAD - RELACIÓN (CONCEPTOS BÁSICOS) (Abril 2025)

MODELO ENTIDAD - RELACIÓN (CONCEPTOS BÁSICOS) (Abril 2025)
Anonim

Se establece una relación entre dos tablas de base de datos cuando una tabla tiene una clave externa que hace referencia a la clave primaria de otra tabla. Este es el concepto básico detrás del término base de datos relacional.

Cómo funciona una clave externa para establecer una relación

Repasemos los fundamentos de las claves primarias y externas. Una clave principal identifica de forma única cada registro en la tabla. Es un tipo de clave candidata que suele ser la primera columna de una tabla y la base de datos la puede generar automáticamente para garantizar que sea única.

Una clave externa es otra clave candidata (no la clave principal) utilizada para vincular un registro a datos en otra tabla.

Por ejemplo, considere estas dos tablas que identifican qué maestro enseña qué curso.

Aquí, la clave principal de la tabla Cursos es Course_ID. Su clave externa es Teacher_ID:

Los cursos
Course_IDNombre del cursoID del profesor
Curso_001BiologíaProfesor_001
Curso_002MatesProfesor_001
Curso_003InglésProfesor_003

Puede ver que la clave externa en los cursos coincide con una clave principal en los profesores:

Maestros
ID del profesorNombre del profesor
Profesor_001Carmen
Profesor_002Verónica
Profesor_003Jorge

Podemos decir que la clave foránea Teacher_ID ha ayudado a establecer un relación Entre los cursos y las mesas de profesores.

Tipos de relaciones de base de datos

Usando claves externas u otras claves candidatas, puede implementar tres tipos de relaciones entre tablas:

Doce y cincuenta y nueve de la noche: Este tipo de relación permite solo un registro en cada lado de la relación.

La clave principal se relaciona con un solo registro, o ninguno, en otra tabla. Por ejemplo, en un matrimonio, cada cónyuge tiene solo otro cónyuge. Este tipo de relación se puede implementar en una sola tabla y, por lo tanto, no utiliza una clave externa.

Uno a muchos: Una relación de uno a varios permite que un solo registro en una tabla se relacione con múltiples registros en otra tabla.

Considere un negocio con una base de datos que tenga tablas de Clientes y Pedidos.

Un solo cliente puede comprar varios pedidos, pero un solo pedido no puede estar vinculado a varios clientes. Por lo tanto, la tabla Pedidos contendría una clave externa que coincidía con la clave principal de la tabla Clientes, mientras que la tabla Clientes no tendría una clave externa que apunte a la tabla Pedidos.

Muchos a muchos: Esta es una relación compleja en la que muchos registros de una tabla pueden vincularse con muchos registros de otra tabla. Por ejemplo, nuestro negocio probablemente no solo necesite las tablas de Clientes y Pedidos, sino que probablemente también necesite una tabla de Productos.

Nuevamente, la relación entre la tabla de Clientes y Pedidos es de uno a muchos, pero considere la relación entre la tabla de Pedidos y Productos. Un pedido puede contener varios productos y un producto podría estar vinculado a varios pedidos: varios clientes pueden enviar un pedido que contenga algunos de los mismos productos. Este tipo de relación requiere como mínimo tres tablas.

¿Qué son importantes las relaciones de base de datos?

Establecer relaciones consistentes entre las tablas de la base de datos ayuda a garantizar la integridad de los datos, contribuyendo a la normalización de la base de datos. Por ejemplo, qué sucede si no vinculamos ninguna tabla a través de una clave externa y en su lugar simplemente combinamos los datos en las tablas de Cursos y Profesores, de esta forma:

Profesores y cursos
ID del profesorNombre del profesorCurso
Profesor_001CarmenBiología, matematicas
Profesor_002VerónicaMates
Profesor_003JorgeInglés

Este diseño es inflexible y viola el primer principio de la normalización de la base de datos, Primera forma normal (1NF), que establece que cada celda de la tabla debe contener una sola pieza de datos discreta.

O tal vez decidimos simplemente agregar un segundo registro para Carmen, con el fin de imponer 1NF:

Profesores y cursos
ID del profesorNombre del profesorCurso
Profesor_001CarmenBiología
Profesor_001CarmenMates
Profesor_002VerónicaMates
Profesor_003JorgeInglés

Este es todavía un diseño débil, introduciendo duplicación innecesaria y lo que se llama anomalías en la inserción de datos , lo que simplemente significa que podría contribuir a datos inconsistentes.

Por ejemplo, si un maestro tiene varios registros, ¿qué sucede si es necesario editar algunos datos, pero la persona que realiza la edición de los datos no se da cuenta de que existen varios registros? La tabla contendría datos diferentes para el mismo individuo, sin una forma clara de identificarlo o evitarlo.

Al dividir esta tabla en dos tablas, Profesores y Cursos (como se muestra arriba), se crea la relación adecuada entre los datos y, por lo tanto, ayuda a garantizar la coherencia y la precisión de los datos.