Marco.1990 ha scritto:
Ciao @Alex, grazie della risposta.
Parzialmente avevo già creato alcune delle tabelle che suggerisci. Al momento avevo creato le seguenti tabelle:
-Corso (figura_1): contiene l'elenco dei corsi di formazione proposti e l'identificativo del corso (che poi dovrebbe andare a comporre l'identificativo del certificato).
Sbagliato, il corso non genera il certificato... è la Sessione del corso che lo genera.
La tabella Corsi è un CATALOGO, ma nulla di più... invece il Corso erogato e concluso al 15/Luglio/2021, se partecipato con la presenza minima prevista, se superato l'esame, se ... se... genera il Certificato.
Queesto aspetto è di SOSTANZIALE differenza, e spero non ti sfugga il motivo cocnreto.
Per questo motivo servirebbe una Tabella aggiuntiva 1-M che genera Sessioni di Corsi, in quanto magari in 1 anno dello stesso corso si possono generare 2 Sessioni...!
Marco.1990 ha scritto:
-Utente (figura_2): contiene l'anagrafica per la registrazione di un utente
-certificazione (figura_3): nella mia testa questa tabella sarebbe servita per associare un utente a uno o più corsi, ma probabilmente è qui che sbaglio.
La tabella Certificazioni può essere una Tabella che si relaziona con la tabella sotto [AnagraficaPerCorso], ma potrebbe non servire se lo scopo è Definire se il Corsista ha superato il corso ed ha avuto il certificato.. in quanto 1 Corso 1 Certificato.
Marco.1990 ha scritto:
Cortesemente ti chiederei di suggerirmi cosa deve contenere la tabella [AnagraficaPerCorso].
Questa è proprio la tabella fondamentale che lega i Corsisti alle Sessioni di Corso non al corso di Catalogo quindi ma alla sessione specifica che inizia il 15/Luglio/2021 di quel corso....
Quindi prima devi popolare il Calendario Corsi, poi per ogni sessione isnerisci i partecipanti...!
La Tabella CalendarioCorsi, dovrà avere:
IdSessioneCorso (PK)
IdCorso (FK Relazionata alla tabella Corsi)
DataInizio
DataFine
DataEsame
Ora puoi ragionare su come popolare le iscrizioni...
Tbl [AnagraficaPerCorso]
IdSessioneCorso (Campo Long FK relazionato con la Tabella Corsi)
IdAnagraficaCorsista (Campo Long FK Relazionato con la Tabella Anagrafiche)
' \\ I 2 campi sopra presi assieme rappresentano la PK UNIVOCA della tabella \\
EsameEseguito (Si/No)
EsitoEsame(Si/No)
DocumentoCertificativo (testo per salvare il PATH)
Se il corso dovesse avere 10 Lezioni, servirebbe una ulteriore tabella per memorizzare le presenze... ecc...
Ora semplificando, devi comprendere come popolare questa tabella..., ovvero selezioni la SessioneCorso ed i singoli Partecipanti alla sessione.
Ragionando sulle Maschere avrai una Maschera basata sulla Tabella SessioneCorsi ed una Sottomaschera basata sulla nostra Tabella [AnagraficaPerCorso] in modalità continua con una ComboBox che ti consentira di andare a selezionare le anagrafiche da inserire nella Sessione di Corso XX del 15/Luglio/2021...
Marco.1990 ha scritto:
Faccio un appunto perchè non vorrei essermi spiegato male. Obiettivo del database è registrare gli utenti in modo univoco e rilasciare un certificato di fine corso che sia univoco.
Certo
Marco.1990 ha scritto:
Non ci sono bocciati e per partecipare ai corsi non sono richiesti requisiti. Questo giusto per chiarire meglio l'obiettivo.
Questo è un dettaglio... poco utile nell'insieme, sarai tu definire le specificità, noi ti aiutiamo solo a fare i corretti ragionamenti di massima senza avere limiti imposti dalla non piena conoscenza.