Quote Originariamente inviata da Alhazred Visualizza il messaggio
Io il suo dubbio lo capisco.
All'università non tutto funziona come nella vita reale.
Secondo me dipende da come ve lo ha spiegato il professore.
Stando al tuo esempio: a me per esempio insegnarono che se della città in se non ti interessa niente, ma ti interessa solo il nome della città dove una persona è nata, allora quello è un campo della tabella "Studente" in cui metti il nome della città. Se invece della città ti interessano anche altre informazioni (cap, regione...) allora è un'entità e la devi rappresentare in una sua tabella da mettere in relazione con quella degli studenti come ti ha consigliato mexican.

Stesso discorso per i corsi, se nell'esercizio ti interessa solo il nome del corso, quello è un attributo, se invece ti interessano anche altre informazioni (codice del corso, numero crediti...) allora è un'entita e va rappresentata in una tabella da mettere in relazione con quella degli studenti.

Quindi devi fare un po' i conti su come il professore vi ha presentato l'argomento, potrebbe essere che la sua visione sia differente e lì non conta come si fa nella realtà, ma come il professore vuole che si faccia.
Purtroppo se il professore sbaglia lui è costretto a sbagliare....
Ma il tuo ragionamento è corretto. Poi in teoria si dovrebbe pensare anche alla ridondanza delle info.
Se sai che la città ti potrebbe servire anche in altre tabelle conviene crearne una a parte e richiamare l'ID in quelle interessate. Se i corsi al quale un utente può partecipare sono più di uno dovresti avere una tabella per "Utenti" ed una per "Corsi" e poi una tabella che interseca le due "UtentiCorsi" dove li leghi con i due ID.

Ma come dice Alhazred dipende molto dalle tue esigenze e la prima è sicuro soddisfare il tuo professore e la sua visione.