Cómo establecer una relación de uno a muchos entre las tablas de la base de datos

Cómo establecer una relación de uno a muchos entre las tablas de la base de datos

Cómo establecer una relación de uno a muchos entre las tablas de la base de datos

VALORACIÓN DEL ARTÍCULO:
5/5


Una relación de uno a muchos en una base de datos ocurre cuando cada registro en la Tabla A puede tener muchos registros vinculados en la Tabla B, pero cada registro en la Tabla B puede tener sólo un registro correspondiente en la Tabla A. Una relación de uno a muchos en una base de datos es el diseño de base de datos relacional más común y está en el corazón del buen diseño.

Considere la relación entre un profesor y los cursos que imparte. Un profesor puede enseñar varios cursos, pero el curso no tendría la misma relación con el profesor. Por lo tanto, para cada registro en una tabla de Maestros, podría haber muchos registros en la tabla de Cursos. Esta es una relación de uno a muchos: de un profesor a varios cursos.

Por qué es importante establecer una relación de uno a muchos

Para representar una relación de uno a muchos, se necesitan al menos dos tablas. Veamos por qué.

Tal vez creamos una tabla en la que queríamos registrar el nombre y los cursos impartidos. Podríamos diseñarlo así:

Profesor_IDProfesor_NombreCursoProfesor_001CarmenBiologíaProfesor_002VeronicaMatemáticasProfesor_003JorgeEnglishProfesores y Cursos

¿Qué pasa si Carmen enseña dos o más cursos? Tenemos dos opciones con este diseño. Podríamos añadirlo al disco existente de Carmen, así:

Maestro_ID Maestro _NombreCursoProfesor_001CarmenBiología, MatemáticasProfesor_002VeronicaProfesor_003JorgeEnglishProfesores y Cursos

El diseño anterior, sin embargo, es inflexible y podría dar lugar a problemas más adelante al intentar insertar, editar o eliminar datos. Esto dificulta la búsqueda de datos. Este diseño viola el primer principio de normalización de la base de datos, First Normal Form (1NF), que establece que cada celda de la tabla debe contener una sola pieza discreta de datos.

Otra alternativa de diseño podría ser simplemente añadir un segundo disco para Carmen:

Maestro _ID Maestro _NombreCursoProfesor_001CarmenBiologíaProfesor_001CarmenMatemáticasProfesor_002VeronicaMatemáticasProfesor_003JorgeEnglishProfesor y Cursos

Esto se adhiere a 1NF pero sigue siendo un diseño de base de datos deficiente porque introduce redundancia y podría inflar innecesariamente una base de datos muy grande. Más importante aún, los datos podrían volverse inconsistentes. Por ejemplo, ¿qué pasa si el nombre de Carmen cambia? Alguien que trabaja con los datos puede actualizar su nombre en un registro y no actualizarlo en el segundo registro. Este diseño viola la Segunda Forma Normal (2NF), que se adhiere a 1NF y también debe evitar la redundancia de múltiples registros al separar subconjuntos de datos en múltiples tablas y crear una relación entre ellas.

Cómo diseñar una base de datos con relaciones uno a muchos

Para implementar una relación de uno a muchos en la tabla de Profesores y Cursos, dividimos las tablas en dos y las enlazamos usando una clave externa.

Aquí, hemos eliminado la columna Curso en la tabla Maestros:

Maestro _ID Maestro _NombreMaestro_001Maestro Carmen_002Maestro Verónica_003Maestro JorgeMaestro

Y aquí está la tabla de Cursos. Tenga en cuenta que su clave externa, Teacher_ID, enlaza un curso con un profesor en la tabla Teachers:

Curso_IDCurso_Nombre_del_Profesor_IDCurso_001Profesor de Biología_001Curso_002Profesor de Matemáticas_001Curso_003Profesor de Inglés_003Cursos

Hemos desarrollado una relación entre los profesores y la tabla de cursos utilizando una clave externa. Esto nos dice que tanto Biología como Matemáticas son enseñadas por Carmen y que Jorge enseña inglés.

Podemos ver cómo este diseño evita cualquier posible redundancia, permite a los profesores individuales impartir múltiples cursos e implementa una relación de uno a muchos.

Las bases de datos también pueden implementar una relación de uno a uno y una relación de muchos a muchos.

TAMBIÉN TE INTERESA

uso de la IA en BTOB

Impacto de la IA en un negocio (real y cuantificado): el caso de BTOB

Las principales noticias sobre la inteligencia artificial giran en torno a las numerosas aplicaciones que han salido al mercado para una amplia variedad de sectores. Sin embargo, pocas hablan del verdadero impacto de la IA en un negocio. El ejemplo de BTOB puede aclarar muchas dudas sobre la influencia que tiene la nueva tecnología en

Suite VIsual de Canva

Suite Visual 2.0 de Canva: el mayor lanzamiento en la historia de la plataforma

Canva ha dejado de ser solo una plataforma de diseño gráfico accesible. En su última edición del evento Canva Create, celebrado en Los Ángeles, la compañía australiana ha anunciado el lanzamiento de su mayor revolución tecnológica hasta la fecha: la Suite Visual 2.0 de Canva, un paquete de herramientas que promete transformar la manera en

IA de WordPress

Con la IA de WordPress nunca fue tan sencillo crear una página web

WordPress, quizás la plataforma más popular para crear webs de forma profesional, acaba de dar un paso muy importante: la IA de WordPress ha sido presentada con el objetivo de generar páginas de una forma muy sencilla. Si ya era fácil construir una página web en este ecosistema, ahora lo será mucho más. Todo se

Kings League Clash of Captains

La fructífera relación entre la Kings League Spain y el mundo del gaming

Lo que comenzó como una liga de fútbol 7 reinventada por streamers y exfutbolistas, se ha convertido en un fenómeno de entretenimiento que trasciende el césped. La Kings League Spain, conocida por romper moldes y conectar con las nuevas generaciones a través del deporte y el contenido digital, ha estrechado lazos muy fuertes con el