Gentilmente offerto da Kevin Speranza.

Progettazione

gerarchie entità

dette anche ISA (x is a y)

  • “t” totale: ogni istanza del padre deve appartenere ad una delle figlie
  • “nt” non totale: ogni istanza del padre può non appartenere ad una delle figlie
  • “e” esclusiva: ogni istanza del padre può appartenere ad una solo delle figlie
  • “ne” non esclusiva: ogni istanza del padre può appartenere a più istanze

Esercizi

ridondanza

assioma

  • S = operazione di scrittura
  • L = operazione di lettura
  • costo scrittura: 1 scrittura = 2 letture (legge e scrive)
Dipartimento(id, nome, direttore, numero_dipendenti, citta) 
Dipendente(id, ruolo, dipartimento) 
SalarioMensileDipendente(id, salario, data) 
AnagraficaDipendente(id, cf, nome, cognome, data_nascita)

conviene mantenere “numero_dipendenti” in Dipartimento?

si supponga:

  • 10 dipartimenti
  • 5000 dipendenti

operazioni:

  1. Inserimento di un dipendente in un dipartimento. Frequenza 10 al giorno;
  2. Calcolo del numero di dipendenti di un dipartimento. Frequenza 1 al giorno
  • con ridondanza
    O1:
    1 lettura dipartimento
    1 scrittura dipendente
    1 scrittura dipartimento

quindi avremo:

O2:
1 lettura in dipartimento

in conclusione con la ridondanza avremo un costo:

  • senza ridondanza
    O1:
    1 scrittura in dipendente

O2:
assumendo ci siano 500 persone in ogni dipartimento, occore fare 500 letture di dipendenti

non conviene eliminare la ridondanza