
Analizziamolo pezzo per pezzo:
Questa è una frase di introduzione che non ci dice molto.
I dipendenti hanno un nome, un cognome, un età ed un codice fiscale. Si deduce che dipendente dovrà essere rappresentato da un entità. Il codice fiscale sarà l’identificatore primario.

Sono divisi in programmatori, analisti e manager. Per i programmatori, occorre memorizzare il linguaggio di programmazione conosciuto; per gli analisti, il linguaggio concettuale conosciuto; per i manager, il nome del referente esterno per la programmazione.

Questa è una generalizzazione, di ognuna di queste che andiamo a creare dobbiamo specificare due proprietà:
Si indicano le nostre assunzioni con una parentesi vicino alla freccia della generalizzazione.
Programmatori e analisti seguono corsi, gli analisti almeno uno e i programmatori uno solo. I corsi hanno un titolo (univoco), una durata e una data d’inizio.

Deduciamo che corso è un entità con i citati attributi, il dettaglio univoco per il titolo ci fa capire che esso è la chiave primaria. Bisogna creare delle relazioni tra programmatore e corso ed analista e corso. Due relazioni non possono avere lo stesso nome. Ogni volta che andiamo a creare una relazione bisogna andare a definire la sua cardinalità da entrambi i lati.
Un corso può essere propedeutico a più corsi, ma può avere solo un corso propedeutico a esso.

Questa è una relazione ricorsiva, e con le cardinalità diciamo che un corso può essere propedeutico a 0 o n corsi e che un corso può avere al massimo 1 corso propedeutico.
I dipendenti lavorano a progetti (almeno uno e più di uno in generale), che sono identificati da un obiettvo e hanno uno stanziamento.

