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

Freepik-Reimagine

La mutación de Freepik con la inteligencia artificial

Si alguna vez has buscado un banco de imágenes en internet para crear tus contenidos, seguramente habrás dado con Freepik, una plataforma líder a nivel mundial en el desarrollo de herramientas creativas y la distribución de contenidos gráficos y audiovisuales. Por si no lo sabías se trata de un proyecto made in Spain que fue

estafas-vacacionales

¡Ojo con las estafas vacacionales en vísperas de Semana Santa!

Cada puente o periodo de vacaciones, surgen todo tipo de estafas vacacionales. Al margen de una enfermedad, lo peor que le puede pasar a una persona es que le arruinen sus vacaciones. Fraudes siempre ha habido, de todo tipo, pero ahora que todo lo gestionamos de manera digital, las trampas se han multiplicado. Cabe recordar

Zenfone-11-Ultra

Zenfone 11 Ultra, que siga la fiesta de la IA en los smartphones

Todos los últimos lanzamientos de smartphones están marcados por la inteligencia artificial. Este hecho, que ocupa los titulares de hoy, se está convirtiendo en un estándar y pronto dejará de ser noticia. Pero no estos momentos es la novedad y la transformación hacia la que caminan todas las marcas del mercado. Así lo ha hecho

Enco-Buds2-Pro

Enco Buds2 Pro: unos auriculares buenos, bonitos, baratos e inteligentes

Por menos de 50 euros, los auriculares OPPO Enco Buds2 Pro pueden darnos todo lo que necesitamos para nuestro día a día. ¿Por qué? Porque son una combinación excepcional de calidad de sonido, duración de batería extendida y un diseño moderno y funcional. Además cuentan con funciones inteligentes y dan a los usuarios la libertad

Xiaomi-14-Series

Xiaomi 14 Series se suma a la puja por ser el móvil del año

Xiaomi 14 Series llega al mercado para colarse en la eterna batalla que mantienen los flagships de Apple y Samsung. Al igual que sus rivales, los nuevos móviles de la marca china llegan con la IA bajo el brazo y una gran cantidad de razones para aspirar a ser uno de los móviles del 2024.