Hola
Jaros, Bienvenido a ClubDelphi.
La información que proporcionas es bastante general. Supongo tendrás las siguientes tablas:
CURSO
PERIODO (periodos definidos para cada curso)
PERSONA
CURSANDO (cursos que está cursando una persona)
Necesitarás otra tabla PAGO que defina la unidad de pago dentro de un periodo, dicho de otra forma: Un periodo dura 1 año, pero el curso se paga mensualmente, bimensualmente, etc. En esta tabla PAGO, es donde almacenas la unidad mínima de pago.
La estructura, más o menos sería así:
Código:
PAGO
idPago autoinc
idPeriodo integer (referencia a PERIODO.IDperiodo)
FechaInicioPago date
FechaFinPago date
Pagado Boolean
Un pago pertenece a un único periodo. Dicho periodo pertenece a un único Curso.
Si un periodo es anual y se paga trimestralmente, tendrás 4 registros en la tabla Pago para una persona que está en el curso en ese determinado año.
FechaInicioPago, FechaFinPago, es lo que registra si el pago es bimensual, trimestral, etc.
Saludos