Estratto del documento

Laboratorio di basi di dati

Progettazione concettuale

Dizionario dei termini

Termine Descrizione Sinonimi Collegamenti
Giocatore Persona fisica iscritta al gioco, può possedere zero o più villaggi. Utente Villaggio
Villaggio Elemento fondamentale del gioco, un giocatore può possederne uno o più. Infrastruttura, truppa Giocatore
Infrastruttura Costruzione appartenente ad un villaggio. Può essere militare, civile o di produzione dei beni. Campo di grano, municipio, magazzino, caserma Villaggio
Attacco Combattimento tra due villaggi. Villaggio, truppa
Truppa Unità militare di un villaggio, le singole truppe (legionario, pretoriano, ecc...) Fanteria, cavalleria, armi Attacco, villaggio

Modello E-R realizzato con approccio inside-out, detto anche “a macchia d'olio”. Lo sviluppo è partito dalle entità giocatore e villaggio e dalla loro messa in relazione, in quanto concetti basilari dello schema. In seguito è avvenuto lo sviluppo delle infrastrutture, individuando gli attributi fondamentali e utilizzando una generalizzazione per i tipi specifici richiesti dal gioco. Per il passaggio di livello delle infrastrutture sono state introdotte delle costanti (gli attributi a_up, f_up, g_up, l_up) che, moltiplicate per il livello, restituiscono le quantità richieste di argilla, ferro, grano e legno per il potenziamento desiderato: il fattore di moltiplicazione è diverso per ogni infrastruttura. Lo sviluppo è stato completato con la parte riguardante gli attacchi e le truppe. Per queste ultime è stata introdotta un'entità per rappresentare i vari tipi di truppe con i loro valori di attacco e difesa e le quantità necessarie per produrre un'unità di una specifica truppa: in questo caso i valori a_up, f_up, g_up, l_up non sono dei moltiplicatori, ma le quantità effettivamente richieste. La presenza delle truppe in un villaggio è rappresentata in una relazione tra l'entità del tipo truppa e quella dei villaggi. Per registrare i combattimenti è stata creata un'entità apposita, avente come attributi un id progressivo e la data-ora del combattimento. Le partecipazioni dei villaggi ai combattimenti sono state rese tramite due associazioni tra l'entità Villaggio e quella Combattimento: una per il villaggio che sferra l'attacco ed un'altra per il villaggio che deve difendersi, in entrambi i casi con il numero di truppe impiegate e perse. Queste due associazioni sono ternarie, in quanto viene collegata anche l'entità dei tipi di truppa, in modo da attingere all'elenco dei tipi di truppe esistenti per specificare le truppe impiegate.

Regole di vincolo

  • RV1) Le coordinate di un villaggio devono essere comprese nell'intervallo -375,+375.
  • RV2) Due villaggi diversi non possono avere le stesse coordinate.
  • RV3) Il livello di un'infrastruttura può variare da 1 a 20.
  • RV4) Per ogni villaggio si possono creare fino ad un totale di 6 infrastrutture di produzione beni e fino ad altre 3 infrastrutture per ogni altro tipo.
  • RV5) Le quantità di risorse non possono essere minori di 0.
  • RV6) Un villaggio non può attaccare se stesso.
  • RV7) In un combattimento, il numero di truppe di un tipo perse da un villaggio non può essere superiore al numero di truppe di quel tipo impiegate.

Regole di derivazione

  • RV1) Il numero di abitanti di un villaggio si ottiene sommando la popolazione di tutte le infrastrutture presenti in esso.
  • RV2) Il numero di abitanti di un’infrastruttura si ottiene moltiplicando per 2 il suo livello e sommando 3 al risultato.
  • RV3) Il numero di truppe in un villaggio si ottiene sommando tutte le diverse unità militari presenti in esso.
  • RV4) Le quantità totali di grano, ferro, legno ed argilla di un villaggio si ottengono sommando le rispettive quantità presenti in ogni magazzino di quel villaggio.

Progettazione logica

Analisi delle ridondanze

Abitanti Villaggio. Attributo dell'entità Operazioni che lo coinvolgono:

  1. Registrare un nuovo utente e la creazione di un nuovo villaggio (580 volte /gg).
  2. Registrare il passaggio di livello di un’infrastruttura (40.000 volte /gg).
  3. Trovare i dieci giocatori che hanno il più alto numero di abitanti (300 volte /gg).

L’operazione 3 in cui viene effettuato il passaggio di livello di un’infrastruttura coinvolge anche gli abitanti perché salendo il livello aumenta il numero di abitanti. L’operazione 1 coinvolge l’attributo abitanti perché creando un nuovo villaggio, vengono create da subito infrastrutture con una determinata popolazione e bisogna calcolare il numero di abitanti del nuovo villaggio.

Tavola dei volumi

Concetto Costrutto Volume
Utente E 100.000
Villaggio E 100.000
Composto R 3.900.000
Infrastruttura E 3.900.000

Un villaggio può avere da un minimo 18 infrastrutture (villaggio creato ex-novo) a un massimo di 60 totali, la media è di 39 da cui il volume per l’entità Infrastrutture.

Tavole degli accessi per le operazioni individuate

Operazione 3 con ridondanza

Concetto Costrutto Accessi
Infrastruttura E 1
Composizione R 1
Anteprima
Vedrai una selezione di 4 pagine su 15
Laboratorio di basi di dati I - la progettazione concettuale Pag. 1 Laboratorio di basi di dati I - la progettazione concettuale Pag. 2
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Laboratorio di basi di dati I - la progettazione concettuale Pag. 6
Anteprima di 4 pagg. su 15.
Scarica il documento per vederlo tutto.
Laboratorio di basi di dati I - la progettazione concettuale Pag. 11
1 su 15
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher flaviael di informazioni apprese con la frequenza delle lezioni di Laboratorio di basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Fontana Flavio.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community