sql >> Base de Datos >  >> RDS >> SQLite

¿Opción de base de datos para crear dos tablas conectadas?

Este es un caso clásico de muchos a muchos, y para eso necesitará una tercera tabla entre Curso y Estudiante. El esquema se verá así:

Course la tabla tiene columnas ("course_id", "course_name")

Student_course la tabla tiene columnas ("student_id", "course_id");

Student tabla como columnas ("student_id", "student_name")

La tabla Student_course tiene restricciones de clave externa tanto en las tablas de estudiantes como en las de cursos.

Datos de ejemplo:

Curso:

id   |  name
------------------
1    |  Maths
2    |  English
3    |  Science

Estudiante

id   |  name
---------------
1    |  Tom
2    |  Dick
3    |  Harry

Estudiante_curso

student_id | course_id
------------------------
1          | 1
1          | 2
2          | 1
3          | 3

En este ejemplo, el Estudiante 1 (Tom) está en los cursos 1 y 2 (Matemáticas, Inglés),

El estudiante 2 (Dick) está solo en el curso 1 (Matemáticas)

El estudiante 3 (Harry) está solo en el curso 3 (Ciencias)