Red de conocimiento informático - Aprendizaje de código fuente - Cómo diseñar una tabla de datos de muchos a muchos en una base de datos

Cómo diseñar una tabla de datos de muchos a muchos en una base de datos

1. Las relaciones de muchos a muchos en las bases de datos generalmente deben procesarse utilizando tablas intermedias para convertir de muchos a muchos en dos de uno a muchos.

2. A través de la relación entre tablas, nos ayudará a construir tablas y cuántas tablas podemos construir.

Uno a uno

Un registro de una tabla sólo debe corresponder a un registro de otra tabla, y viceversa.

Tabla de estudiantes: nombre, sexo, edad, altura, peso, lugar de procedencia, domicilio, contacto de emergencia

Nombre, sexo, edad, altura y peso son datos comunes, pero el lugar de nacimiento, la dirección y el contacto son datos que se utilizan con poca frecuencia

Si se consultan todos los datos cada vez, los datos que se utilizan con poca frecuencia afectarán la eficiencia y en realidad no se utilizan

Tabla de información de uso común: DNI (P), nombre, sexo, edad, altura, peso

Tabla de información de uso poco común: DNI (P), lugar de origen, domicilio, contacto de emergencia

Solución: Uso información de uso común Información compartida y almacenada que no se usa comúnmente y se divide en dos tablas

La tabla de información poco común y la tabla de información de uso común garantizan que la tabla de información poco común y la tabla de información de uso común puedan corresponder: encuentre uno único

El campo p>

se utiliza para conectar dos tablas simultáneamente.

Un registro en una tabla de uso común solo puede coincidir con un registro en una tabla de uso poco frecuente, y viceversa.

Uno a muchos

Un registro en una tabla puede corresponder a varios registros en otra tabla pero, a la inversa, un registro en otra tabla

Puede; solo corresponde a un registro de la primera tabla. Esta relación es de uno a muchos o de muchos a uno

La relación entre madre e hijo: madre e hijo son dos entidades

Tabla madre: ID(P), nombre, edad, sexo

Tabla secundaria: ID(P), nombre, edad, sexo

La relación anterior: una madre puede encontrar múltiples registros (tal vez uno), pero un niño solo puede encontrar una madre

Es una relación típica de uno a muchos.

Pero el diseño anterior: resuelve el problema de la tabla de diseño de entidades, pero no resuelve el problema de la relación: el niño no puede encontrar a la madre y la madre no puede encontrar al niño.

Solución. : En una determinada Agregar un campo a una tabla puede encontrar registros en otra tabla: Agregue un campo a la tabla secundaria

para que apunte a la tabla madre, porque los registros en la tabla secundaria solo pueden coincidir con un registro en la mesa madre.

Tabla madre: ID(P), nombre, edad, sexo

Tabla secundaria: ID(P), nombre, edad, sexo, ID de la tabla madre (clave primaria de la tabla madre)

Muchos a muchos

Un registro en un par de tablas (A) puede corresponder a varios registros en otra tabla (B) al mismo tiempo, un registro en la tabla; B

p>

También puede corresponder a múltiples registros en la tabla A

Profesores y estudiantes

Tabla de profesores T_ID(P), nombre, género

Tabla de estudiantes S_ID(P), nombre, género

El plan de diseño anterior: realiza el diseño de entidades, pero no mantiene la relación entre entidades

Un maestro ha enseñado varios estudiantes y un estudiante ha sido enseñado por varios profesores

Solución: agregar una tabla de relaciones intermedia

Tabla de relaciones profesor-alumno: ID(P), T_ID, S_ID

La tabla de profesores y la tabla intermedia forman una relación de uno a muchos, y la tabla intermedia es una tabla múltiple que mantiene una relación que puede encontrar de forma única una tabla;

La misma tabla de estudiantes; y la tabla intermedia también es una relación de uno a muchos.

Los estudiantes encuentran maestros: busque la identificación del estudiante---gt; encuentre registros coincidentes en la tabla intermedia (múltiples)---gt; coincidir con la tabla de maestros (uno)

Profesor Buscar estudiantes: busque la ID del maestro---gt; busque registros coincidentes en la tabla intermedia (varios registros)---gt;