Salve, per esercitarmi nella creazione di database mi sto esercitando utilizzando un libro, però non avendo modo di confrontare in alcun posto la soluzione e essendomi sorti dei quesiti, sto facendo un post nella speranza che qualcuno sappia darmi delle rispose.
La traccia dell'esercizio è la seguente:
Dopo aver letto la traccia sono giunto al seguente schema E/R:
Ho messo degli attributi giusto per rendere l'idea, ovviamente può essere migliorato sia in studenti che docenti , evitando la ripetizione di attributi quali nome e cognome e/o informazioni fiscali, però giusto per rendere l'idea ho omesso questa miglioria perché voglio capire se ho raggiunto l'obiettivo posto dalla traccia.
Quindi otterrò se seguenti tabelle:
Studenti(Matricola(PK), Nome, Cognome, Classe, Sezione)
Recuperi(Matricola(FK,PK), ID_Materia(FK,PK), Voto, Data_Voto)
Materie(ID(PK), Denominazione)
Docenti(C_Fiscale(PK), Nome, Cognome, ID_Materia(FK))
Innanzitutto vorrei capire se effettivamente il diagramma è corretto e com'è possibile, se c'è un metodo, per verificare la validità di un database.
Anche perché i miei dubbi sono sorti nelle richieste successive, soprattutto per una query proposta di seguito:
Nella traccia questo punto non è richiesto, ovvero la possibilità di risalire al docente che insegna nel corso di recupero.
Quindi avevo pensato a due possibili soluzioni:
1)Aggiungere Docenti.C_Fiscale come chiave esterna nella tabella Recuperi, creando una relazione ternaria
2)Semplificare il database, mi spiego meglio:
Essendo che un docente insegna una sola materia, possiamo trasformare la tabella recuperi nel seguente modo "Recuperi(Matricola(PK)(FK), C_Fiscale(PK)(FK), Voto, Data_Voto)". Perché così facendo sappiamo il docente che insegna nel corso di recupero e in modo univoco possiamo sapere la materia del corso, essendo che il docente insegna una sola materia.
Il libro in vari punti crea confusione, che spesso ho sfatato grazie ad internet, ma questa volta sto dubitando della soluzione da me trovata, perché comunque stravolgerebbe la traccia stessa dell'esercizio.
Qualcuno sa come aiutarmi o ha qualche consiglio da darmi?
Grazie in anticipo
La traccia dell'esercizio è la seguente:
Dopo aver letto la traccia sono giunto al seguente schema E/R:
Ho messo degli attributi giusto per rendere l'idea, ovviamente può essere migliorato sia in studenti che docenti , evitando la ripetizione di attributi quali nome e cognome e/o informazioni fiscali, però giusto per rendere l'idea ho omesso questa miglioria perché voglio capire se ho raggiunto l'obiettivo posto dalla traccia.
Quindi otterrò se seguenti tabelle:
Studenti(Matricola(PK), Nome, Cognome, Classe, Sezione)
Recuperi(Matricola(FK,PK), ID_Materia(FK,PK), Voto, Data_Voto)
Materie(ID(PK), Denominazione)
Docenti(C_Fiscale(PK), Nome, Cognome, ID_Materia(FK))
Innanzitutto vorrei capire se effettivamente il diagramma è corretto e com'è possibile, se c'è un metodo, per verificare la validità di un database.
Anche perché i miei dubbi sono sorti nelle richieste successive, soprattutto per una query proposta di seguito:
Nella traccia questo punto non è richiesto, ovvero la possibilità di risalire al docente che insegna nel corso di recupero.
Quindi avevo pensato a due possibili soluzioni:
1)Aggiungere Docenti.C_Fiscale come chiave esterna nella tabella Recuperi, creando una relazione ternaria
2)Semplificare il database, mi spiego meglio:
Essendo che un docente insegna una sola materia, possiamo trasformare la tabella recuperi nel seguente modo "Recuperi(Matricola(PK)(FK), C_Fiscale(PK)(FK), Voto, Data_Voto)". Perché così facendo sappiamo il docente che insegna nel corso di recupero e in modo univoco possiamo sapere la materia del corso, essendo che il docente insegna una sola materia.
Il libro in vari punti crea confusione, che spesso ho sfatato grazie ad internet, ma questa volta sto dubitando della soluzione da me trovata, perché comunque stravolgerebbe la traccia stessa dell'esercizio.
Qualcuno sa come aiutarmi o ha qualche consiglio da darmi?
Grazie in anticipo