1
Fork 0
mirror of https://github.com/Steffo99/alexandria.git synced 2024-11-21 21:34:19 +00:00
bdd-2020-alexandria/4-4-dati-derivati.md

2.9 KiB

Dati derivati

In Alexandria non sono presenti molti dati quantitativi: la maggior parte degli attributi sono infatti qualitativi, e come tali meglio descritti da stringhe.

Si è considerata la possibilità di inserire nella base di dati un attributo contenente il conteggio di Elementi posseduti da un utente, ma dopo un'analisi dei costi l'ipotesi è stata scartata perchè non conveniente.

Si riportano sotto tutti i calcoli effettuati.

Tabella dei volumi

Secondo una stima effettuata, l'utente medio di Alexandria leggerà all'anno 18 libri, ascolterà 6 audiolibri, guarderà 52 film e giocherà a 24 giochi, per un totale di circa 100 Elementi per Utente all'anno.

Si ottiene, dunque, la seguente tabella dei volumi:

Concetto Tipo Volume
Utente Entità 1/utente
Elemento (audiolibri) Entità 6/utente/anno
Elemento (libro) Entità 18/utente/anno
Elemento (film) Entità 52/utente/anno
Elemento (gioco) Entità 24/utente/anno

Tabella delle operazioni

Si stima che ogni utente riceverà circa 500 visite alla suo profilo all'anno.

Si sono valutate due diverse operazioni:

Operazione Descrizione Tipo Frequenza Schema
OP1 Creazione di un nuovo Elemento (di un tipo qualunque) Interattiva 100/utente/anno Elemento
OP2 Visualizzazione del conteggio di Elementi di qualsiasi tipo creati da un Utente specifico Interattiva 500/utente/anno Elemento

Tabella dei costi

Si sono utilizzati i seguenti costi per realizzare la tabella dei costi:

  • read: costo 1
  • write: costo 2
  • update: composta da 1 read e 1 write, costo 3

Senza dato derivato

Operazione Procedura Costi Costo totale
OP1 Si inserisce una nuova tupla nella tabella Elemento corrispondente. 1 write 2
OP2 Si interrogano le tabelle degli Elementi, filtrando quelle che non sono state create dall'utente richiesto, e conteggiando le tuple restituite. 6 read + 18 read + 52 read + 24 read 100

Con dato derivato

Operazione Procedura Costi Costo totale
OP1 Si inserisce una nuova tupla nella tabella Elemento corrispondente e si aggiorna il dato derivato della tupla dell'Utente creatore. 1 write + 1 update 5
OP2 Si va a vedere il dato derivato nella tabella dell'Utente interessato. 1 read 1

Risultato

Metodo Costo OP1 Costo OP2 Costo totale
Senza dato derivato 2 * 100 100 * 500 50200
Con dato derivato 5 * 100 1 * 500 1000