Progettazione logica e concettuale

Esercizio 1

Untitled

Analizziamolo pezzo per pezzo:

Questa è una frase di introduzione che non ci dice molto.

Questa è una generalizzazione, di ognuna di queste che andiamo a creare dobbiamo specificare due proprietà:

  1. Se è totale o parziale:
    1. Totale: se tutte le tuple dell’entità padre appartengono ad almeno una delle sottoclassi.
    2. Parziale: se alcune tuple dell’entità padre non appartengono ad almeno una delle sottoclassi
  2. Se è esclusiva oppure con sovrapposizione:
    1. Esclusiva: se un dipendente può appartenere ad una ed una sola delle sottoclassi
    2. Con sovrapposizione: se un dipendente può appartenere a più di una sottoclasse

Si indicano le nostre assunzioni con una parentesi vicino alla freccia della generalizzazione.

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.

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.

Esercizio 2

Untitled