Relazione su DB registro elettronico

di il
4 risposte

Relazione su DB registro elettronico

Mi sto esercitando producendo un db per un registro elettronico. Ho le entità Studenti e Note. Secondo voi è meglio
una relazione 1:N o N:M?

Il problema si pone nel caso di "nota di classe": nel caso 1:N avrei, nella tabella Note, tante righe diverse per ogni studente, tutte praticamente uguali, cambia solo l'id; nel caso N:M avrei una sola riga nella tabella Note (con un certo id) ma nella "intermedia" "StudentiNote" avrei tante righe quanti sono gli studenti tutte con chiave esterna fk_nota uguale.

Cioè

Codice, FK_Studente, FK_Nota
1, 31, 5
2, 42, 5
3, 33, 5

4 Risposte

  • Re: Relazione su DB registro elettronico

    Voler avere una tabella TestiNote significherebbe riconoscere la "ripetitività sistematica" di determinati "testi note". Non mi sembra il caso. Io voto la relazione Studenti uno-a-molti Note. Nel caso di "nota di classe"...ti tocca ripetere lo stesso valore per tutti gli studenti. Per farlo rapidamente puoi implementare una routine che cicla tutti gli studenti e imposta lo stesso valore testuale della nota.
  • Re: Relazione su DB registro elettronico

    OsvaldoLaviosa ha scritto:


    Voler avere una tabella TestiNote significherebbe riconoscere la "ripetitività sistematica" di determinati "testi note". Non mi sembra il caso. Io voto la relazione Studenti uno-a-molti Note. Nel caso di "nota di classe"...ti tocca ripetere lo stesso valore per tutti gli studenti. Per farlo rapidamente puoi implementare una routine che cicla tutti gli studenti e imposta lo stesso valore testuale della nota.
    Ma scusa non è il contrario? Nel caso della 1:N dovrei ripetere lo stesso "testo nota" per ogni studente, creando nuove righe (nuove note). Nel caso della M:N farei lo stesso ma nella intermedia, ripetendo però solo la chiave esterne associata all'unica nota.
  • Re: Relazione su DB registro elettronico

    Che campi avrebbe la tabella Note? Mi fai qualche (3-4) esempio di come è descritta una Nota? Se prevedi che tali testi "descrittivi" sono ripetitivi e sistematici...allora regge l'ipotesi Studenti molti-a-molti Note con tabella di congiunzione StudentiNote.
  • Re: Relazione su DB registro elettronico

    Ma nella tabella "StudentiNote", immaginare un campo Id_Classe da valorizzare con la classe di appartenenza dello studente? Nel caso in cui l'Id_Studente è NULL e l'Id_Classe no, la nota è colletiva...
    Così se uno studente prende una nota, ci sarà il record (si valorizza Id_Studente ed Id_Classe, quest'ultimo anche in automatico). Se la nota è collettiva, ci sarà solo Id_Classe. Permetterebbe anche la selezione delle note relative ad una classe specifica, senza ricorrere ad una JOIN.
Devi accedere o registrarti per scrivere nel forum
4 risposte