SlideShare a Scribd company logo
Università Degli Studi Di
Salerno
Progetto Basi di Dati
FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI
CORSO DI LAUREA IN INFORMATICA
Anno Accademico 2013/2014
Realizzata Da:
Siciliano Sabatino, Russo Davide, Palumbo Michele, Fabio Santini
Nome Progetto:
" Negozio di Videogames Online "
1.Raccolta delle specifiche della realtà di interesse
I. Descrizione sintetica della realtà di interesse:
Il videogioco è un gioco gestito da un dispositivo elettronico che consente di interagire con le
immagini di uno schermo .Il termine può identificare un software oppure un
dispositivo hardware dedicato a uno specifico gioco,è detto anche videogame.
Colui che utilizza un videogioco viene chiamato "videogiocatore" e si serve di una o più periferiche
di input quali il joystick, la tastiera, joypad.
Come qualsiasi gioco, il videogioco può rappresentare oggetti astratti o riprodurre simbolicamente
determinati contesti culturali, astraendoli dal loro ambito ed applicandoli a contesti e situazioni che
possono andare dalla simulazione fedele fino alla parodia.
I videogiochi si sono costantemente evoluti formando man mano dei generi completamente diversi
tra loro, con meccaniche di gioco differenti e differenti abilità richieste al giocatore. I principali
gruppi nei quali si possono dividere i videogiochi sono due: simulativo o arcade.
Un gioco simulativo è un gioco basato sulla simulazione delle regole del mondo reale,il
gioco arcade invece ne è l'esatto opposto.
Chi sceglie un gioco arcade non ha voglia di cimentarsi nell'apprendimento delle meccaniche di
un gioco troppo complicato, ed il suo unico desiderio è avviare il gioco e divertirsi all'istante.
I generi più comuni dei videogame vanno dai videogiochi di avventura,a quelli di azione,con i
videogiochi di ruolo,simulazioni,sportivi e di strategia.
Il negozio di videogames online nasce intorno all'anno 1994, si riferisce ad una tipologia di
commercio elettronico nella quale il mezzo di realizzazione dell'acquisto è il sito web, e in cui la
transazione economica si svolge interamente via internet.
II. Specifiche complete della realtà di interesse:
Si vuole effettuare la realizzazione di un sistema informativo di supporto alla
gestione di un negozio di videogiochi:
 Il negozio in questione vende solo online i videogiochi, con possibilità di preordinazione. In
particolare, gestisce le informazioni riguardanti i clienti e l'amministratore, gli ordini di
acquisto e i videogiochi.
 Un cliente che vuole effettuare un acquisto deve innanzi tutto identificarsi,fornendo i suoi
dati anagrafici come il nome, il cognome, il codice fiscale e deve indicare anche il metodo
con il quale intende adempiere ai vari pagamenti (esempio: deve specificare se intende
pagare i suoi acquisti utilizzando una carta di credito oppure pagando direttamente con
denaro contante nel momento della consegna del prodotto).
 Il cliente effettua un acquisto compilando un modulo di ordine, identificato da un codice e
una serie di informazioni come il titolo del videogioco (che si vuole acquistare), il numero di
copie, la data in cui si effettua l'ordine, il prezzo totale da pagare e lo stato dell'ordine(per
esempio: se l'ordine è stato spedito o meno).
 Un cliente effettua la ricerca del prodotto desiderato in base al titolo, alla casa produttrice o
alla categoria di appartenenza e ,inoltre,specifica in un ordine di acquisto il numero di copie
che è interessato ad acquistare. Nel momento della scelta del prodotto il cliente viene
informato se esso è direttamente disponibile oppure se non è ancora presente sul mercato.
In tal caso sarà necessario effettuare una preordinazione del videogioco, e nel modulo
comparirà la data di uscita del prodotto.
 Ogni cliente ha la possibilità di ricevere una carta fedeltà che gli garantisce uno sconto sugli
acquisti effettuati; dopo aver ricevuto tale carta verrà applicato uno sconto (per esempio dal
momento in cui il cliente acquista il decimo prodotto, gli viene assegnata la carta di fedeltà,
da quel momento in poi ad ogni altro acquisto verrà applicato uno sconto del 10%).
 I videogiochi venduti possono appartenere a più categorie e sono disposti , all'interno del
negozio , in appositi scaffali e sono identificati tramite il proprio titolo .Il negozio tiene traccia
di altre informazioni importanti quali: il prezzo di vendita, la piattaforma per la quale è stato
sviluppato il prodotto, la sua data di uscita e una sua breve descrizione.
 La descrizione del videogioco contiene dettagli riguardanti la trama, l'ambientazione e, in
generale, le caratteristiche peculiari che lo distinguono dagli altri videogiochi della stessa
categoria.
 La casa produttrice del videogioco avrà il nome, l'indirizzo, il telefono e il fax.
 Infine vi sarà un unico amministratore il cui ruolo consiste nel gestire tutte le informazioni
riguardanti i videogiochi e le case produttrici disponibili nel negozio. Un amministratore del
negozio viene identificato tramite un codice identificativo, il nome, il cognome, l'indirizzo
della posta elettronica, l'indirizzo, il numero di telefono e infine lo stipendio che gli viene
retribuito.
 L'amministratore si occupa della suddivisione dei prodotti in disponibili e non, e nel primo
caso di assegnare a ogni prodotto il codice di ubicazione del cassetto e dello scaffale di
appartenenza.
III. Glossario dei termini
Entità Descrizione entità Sinonimi Collegamenti
Amministratore Amministratore negozio online Responsabile Videogioco
Videogioco Videogioco in vendita Videogame Amministratore
Descrizione
Cassetto
CasaProduttrice
Cliente
Modulo
Cliente Cliente del negozio Acquirente Modulo
MetodoPagamento
Videogioco
Fedele
Occasionale
Fedele Cliente con carta fedeltà Abituale Cliente
Occasionale Cliente saltuario Eventuale Cliente
Modulo Modello di acquisto Modello Cliente
Videogioco
MetodoPagamento Scelta pagamento TipoVersamento Cliente
CartaCredito
Contante
Bonifico
CartaCredito Pagamento con carta Carta MetodoPagamento
Contante Pagamento in contanti Liquido MetodoPagamento
Bonifico Pagamento tramite bonifico
bancario
Accredito MetodoPagamento
Descrizione Descrizione videogioco Spiegazione Videogioco
Cassetto Cassetto dove di trova il
videogioco
Tiretto Scaffale
Videogioco
Scaffale Scaffale dove si trova il
videogioco
Ripiano Cassetto
Casa Produttrice Casa produttrice del videogioco Produttore
2. Progettazione concettuale della base di dati con la
produzione di
uno schema EntityRelationship (ER/EER)
I. Un glossario dei concetti espressi nello schema concettuale l'entità e le
relazioni
Dizionario dei dati(Entità)
Entità Attributo Descrizione Attributo Dominio
Amministratore Codice Chiave identificativa entità Varchar(4)
Nome Nome dell'amministratore Varchar(15)
Cognome Cognome dell'amministratore Varchar(20)
Stipendio Stipendio dell'amministratore Float
NumTelefono Numero di telefono che possiede
l'amministratore
Varchar(15)
Email Indirizzo di posta elettronica
dell'amministratore
Varchar(25)
Indirizzo Indirizzo dell'abitazione
dell'amministratore
Varchar(20)
Videogioco Titolo Chiave identificativa dell'entità
Rappresenta il titolo del prodotto
Varchar(35)
Categoria Categoria di appartenenza del prodotto Varchar(15)
Piattaforma La piattaforma sulla quale gira il
videogioco
Varchar(25)
Prezzo Il prezzo attribuito dal videogioco Float
DataUscita La data di uscita del videogioco Date
Cliente CodFiscale Chiave identificativa dell'entità
Rappresenta il codice fiscale del cliente
Varchar(16)
Nome Nome del cliente Varchar(15)
Cognome Cognome del cliente Varchar(15)
NAcquisti Numero di copie acquistate dal cliente Int
Fedele NCarta Il numero della carta posseduta dal cliente Varchar(32)
Sconto Lo sconto aggiunto all'acquisto del cliente Float
Occasionale
Modulo Codice Chiave identificativa dell'entità Varchar(4)
NCopie Numero di copie del videogioco da
acquistare
Int
Stato Lo stato dell'ordine effettuato Varchar(20)
Data La data dell'ordine effettuato Date
TotPrezzo Il prezzo totale dell'ordine effettuato Float
MetodoPagamento IdPagamento Chiave dell'entità Varchar(4)
CartaCredito NumCarta Numero della carta Varchar(32)
Cvv Codice di sicurezza della carta utilizzata VarChar(3)
Scadenza La data di scadenza della carta utilizzata Date
Contante IdRicevuta Ricevuta del pagamento Varchar(12)
Bonifico Iban Iban del bonifico Varchar(27)
Descrizione Distinzione Chiave identificativa dell'entità
caratteristiche peculiari del videogioco
Text
Ambientazione L'ambientazione del videogioco Text
Trama La trama del videogioco Text
Cassetto IdCassetto Chiave dell'entità Varchar(4)
Scaffale IdScaffale Chiave dell'entità Varchar(4)
CasaProduttrice Nome Chiave identificativa dell'entità Varchar(64)
Rappresenta il nome della casa produttrice
NumTelefono Numero di telefono della casa produttrice Varchar(20)
Indirizzo Indirizzo di risiedenza della casa
produttrice
Varchar(45)
Fax Il numero per il fax della casa produttrice Varchar(20)
Dizionario dei dati(Relazioni)
Relazione
Descrizione
Relazione
Entità
Coinvolte
Ruolo Entità Cardinalità
Gestisce I videogiochi gestiti
dall'amministratore
Amministratore Amministratore che
gestisce il videogioco
(1,1) un amministratore
gestisce un videogioco
Videogioco Videogiochi gestiti
dall'amministratore
(1,N)uno o più
videogiochi sono
gestiti da un
amministratore
Ricerca I videogiochi presenti nel
negozio online
Cliente Il cliente ricerca il
videogioco
(1,N)un cliente
ricerca più
videogiochi
Videogioco Il videogioco
è ricercati da uno o più
clienti
(1,N)un videogioco
può essere ricercato
da uno o più clienti
PrenotatoTramite I videogiochi collegati ai
moduli dei clienti
Modulo Modulo serve a
prenotare videogioco
(1,N) con un modulo
può prenotare uno o
più videogiochi
Videogioco Il videogioco può
essere acquistato da
più clienti
(1,N)un videogioco
può essere acquistato
da uno o più clienti
Ha Le descrizioni dei videogiochi Descrizione La descrizione fa parte
di un solo videogioco
(1,1)una descrizione
appartiene ad un solo
videogioco
Videogioco Il videogioco ha una
solo descrizione
(1,1)un videogioco
ha una sola
descrizione
Creato La casa produttrice che ha
creato il videogioco
CasaProduttrice La casa produttrice
crea il videogioco
(1,N)una casa
produttrice crea uno
o più videogiochi
Videogioco Il videogioco viene
creato da una solo casa
produttrice
(1,1)un videogioco
può essere creato da
una sola casa
produttrice
Posizionato Dove è posizionato il
videogioco nello scaffale
Scaffale Nello scaffale viene
posizionato il
videogioco
(1,N) uno scaffale
può avere uno o più
videogiochi
Videogioco Il videogioco è
posizionato nello
scaffale
(1,1)un videogioco
può essere
posizionato in un
solo scaffale
Possiede In quale cassetto si trova il
videogioco che si trova in uno
scaffale
Cassetto Il cassetto si trova
nello scaffale
(1,1)un cassetto si
trova in uno scaffale
Scaffale Uno scaffale ha più
cassetti
(1,N)uno scaffale ha
uno o più cassetti
Compila I moduli compilati dai clienti
del negozio
Modulo Il modulo viene
compilato dal cliente
(1,1)un modulo è
compilato da un
clienti
Cliente Il cliente compila uno
o più moduli
(1,N)un cliente
compila uno o più
moduli
PagaCon Sceglie il metodo di
pagamento
MetodoPagament
o
Il metodo di
pagamento con cui il
cliente paga
(1,1)un metodo di
pagamento può
essere usato da un
cliente
Cliente (1,N)un cliente può
essere usato da uno o
più clienti
II. Vincoli non esprimibili
Vincoli di integrità sui dati(Regole di vincoli)
(RV1) un cliente che deve effettuare un acquisto deve identificarsi con il negozio
(RV2) un cliente deve indicare il metodo di pagamento
(RV3) ogni videogioco deve avere una descrizione
Vincoli di derivazione
(RD1) il totale prezzo deriva dalla somma dei prezzi dei videogiochi acquistati
meno lo sconto
3.Elenco delle procedure per la gestione dei dati
memorizzati nel db
Tavola dei volumi
Concetto Tipo Volume
Videogioco E 2000
Amministratore E 30
Descrizione E 2000
CasaProduttrice E 500
Cassetto E 100
Scaffale E 10
Cliente E 400
Modulo E 1500
MetodoPagamento E 150
Gestisce R 30
Ha R 2000
Creato R 2000
Posizionato R 1800
Possiede R 100
PrenotatoTramite R 3000
Compila R 1500
Ricerca R 10000
PagaCon R 150
OPERAZIONI
1. Aggiungere un nuovo cliente (4 volte al mese)
2. Aggiungere un nuovo videogioco (30 volte al mese)
3. Aggiungere una descrizione (30 volte al mese)
4. Aggiungere una casa produttrice (2 volte al mese)
5. Aggiungi videogioco allo scaffale (20 volte al mese)
6. Aggiornare lo stipendio dell'amministratore (1 volta al mese)
7. Aggiungi un nuovo acquisto (1 volta al giorno)
8. Stampare le posizioni di tutti i videogiochi che si trovano in uno scaffale (30 al
mese)
9. Aggiornare prezzo videogiochi (2 volte al mese)
10. Stampare il numero di copie acquistate per un cliente (2 volte al giorno)
11. Aggiornare il numero di telefono della casa produttrice (1 volta al mese)
12. Cancellare un cliente (2 volte al mese)
13. Cancellare un videogioco (5 volte al mese)
14.Cancellare una descrizione (5 volte al mese)
15. Stampare i moduli di vendita di ogni cliente(1 volta al giorno)
16. Storico acquisti clienti(2 volte al mese)
17. Stampare la descrizione di un videogioco (4 volte al mese)
18.Stampare tutti i videogiochi che si trovano in uno scaffale (4 volte al mese)
4.Progettazione Logica
I. Ristrutturazione dello schema concettuale
Analisi Delle Ridondanze
All’interno del nostro schema concettuale abbiamo un dato ridondante:
Attributo NAcquisti nell’entità Cliente.
Le operazioni coinvolte sono :
• Operazione 7 : Aggiungere un nuovo acquisto
• Operazione 10: Stampare il numero di copie acquistate per un cliente
• Operazione 16: Storico acquisti clienti
Ristrutturazione Dello Schema:
Tavola Delle Operazioni
Numero Operazione Tipo Frequenza
Operazione 7 I 1/giorno(30/mese)
Operazione 10 I 2/giorno(60/mese)
Operazione 16 B 2/mese
Tavola degli accessi con ridondanza
1.Ridondanza
ABBIAMO IPOTIZZATO CHE UN CLIENTE ACQUISTI IN MEDIA 4 VIDEOGIOCHI:
Mem(NAcquisti) =4 byte * (dato ridondante) =4 *400 = 1600 byte
Un accesso in scrittura vale il doppio di un accesso in lettura.
Operazione 7 : Aggiungere un nuovo acquisto(30 volte al mese)
Nome Costrutto Accesso Tipo
Cliente E 1 S
(1S)* 30/mese = 60 accessi/mese;
Operazione 10 : Aggiornare il numero di copie acquistate per un cliente (60 volte al mese)
Nome Costrutto Accesso Tipo
Modulo E 1 L
Compila R 1 L
Cliente E 1 S
Cliente E 1 L
(1S+3L)*60/mese = 300 accessi/mese;
Operazione 16 : Storico acquisti clienti(2volte al mese)
Nome Costrutto Accesso Tipo
Cliente E 400 L
(400L)*2/mese = 800 accessi/mese
IN TOTALE ABBIAMO: 60+300+800=1160 accessi/mese+1600byte
Tavola degli accessi senza ridondanza
Un accesso in scrittura vale il doppio di un accesso in lettura.
Operazione 7 : Aggiungere un nuovo acquisto(30 volte al mese)
Nome Costrutto Accesso Tipo
Modulo E 1 S
Compila R 1 S
Cliente E 1 S
(3S)* 30/mese = 180 accessi/mese;
Operazione 10 : Aggiornare il numero di copie acquistate per un cliente (60 volte al mese)
Nome Costrutto Accesso Tipo
Modulo E 3 S
Compila R 3 S
Cliente E 1 S
(7S)*60/mese = 840 accessi/mese;
Operazione 16 : Storico acquisti clienti(2volte al mese)
Nome Costrutto Accesso Tipo
Cliente E 400 L
Compila R 400 L
Modulo E 1500 L
(2300L)*2/mese = 4600 accessi/mese
IN TOTALE ABBIAMO: 180+840+4600=5620 accessi/mese
Infine abbiamo che gli accessi alla base di dati col dato ridondante per
mantenerlo aggiornato sono minori rispetto agli accessi senza dato
ridondante. Pertanto utilizzeremo il dato ridondante.
Tavola Delle Operazioni
Numero Operazione Tipo Frequenza
Operazione 15 B 1/giorno(30/mese)
Tavola degli accessi con ridondanza
2.Ridondanza
ABBIAMO IPOTIZZATO CHE UN CLIENTE COMPILI IN MEDIA 3 MODULI QUINDI
AVENDO 400 CLIENTI AVREMO 1200 BYTE ACCUPATI
Mem(TotPrezzo) =3 byte * (dato ridondante) =3 *400 = 1200 byte
Un accesso in scrittura vale il doppio di un accesso in lettura.
Operazione 15 : Stampare i moduli di vendita di ogni cliente (1 volta al giorno)
Nome Costrutto Accesso Tipo
Cliente E 400 L
Compila R 400 L
Modulo E 1200 L
(2000L)* 30/mese = 60000 accessi/mese;
IN TOTALE ABBIAMO: 6000 accessi/mese+1200byte
Tavola degli accessi senza ridondanza
ABBIAMO IPOTIZZATO CHE 1 CLIEJNTE IN MEDIAACQUISTA RICERCA 5
VIDEOGIOCHI
Operazione 15 : Stampare i moduli di vendita di ogni cliente (1 volta al giorno)
Nome Costrutto Accesso Tipo
Cliente E 400 L
Ricerca R 400 L
Videogioco E 8000 L
PrenotatoTramite R 2000 L
Modulo R 7500 L
(18300L) * 30/mese = 69000 accessi/mese;
IN TOTALE ABBIAMO: 69000 accessi/mese
Infine abbiamo che gli accessi alla base di dati col dato ridondante per
mantenerlo aggiornato sono uguali. Pertanto utilizzeremo il dato ridondante per semplicità
di accesso.
Eliminazioni Delle Gerarchie
All'interno del nostro schema abbiamo le seguenti gerarchie:
1.
Eliminiamo questa gerarchia incorporando le entità CartaCredito,Bonifico,Contante e
aggiungiamo i loro attributi al padre MetodoPagamento associando un attributo Tipo_P per
la scelta del tipo di pagamento.
2.
Eliminiamo questa gerarchia incorporando le entità Fedele,Occasionale e aggiungiamo i
loro attributi al padre Cliente associando un attributo Tipo_C per la scelta del tipo di cliente:
Eliminazione degli attributi multi valore
All’interno del nostro schema abbiamo un attributo multi valore:
1.
Eliminando l'attributo multi valore dell’Entità AMMINISTRATORE avremo una nuova
entità debole chiamata INDIRIZZO che sarà collegata ad AMMINISTRATORE tramite la
relazione PRESSO e avrà come chiave parziale Via, gli altri attributi saranno NumeroCivico
e Regione:
2.
Eliminando l'attributo multi valore dell’Entità CASAPRODUTTRICE avremo una nuova
entità debole chiamata INDIRIZZO che sarà collegata a CASAPRODUTTRICE tramite la
relazione PRESSO e avrà come chiave parziale Via, gli altri attributi saranno NumeroCivico
e Regione:
Entità Chiave Decrizione
Videogioco Titolo Ogni videogioco è
identificato univocamente dal
titolo
Amministratore Codice Ogni amministratore è
identificato univocamente dal
codice
Decrizione Distinzione Ogni descrizione è
identificato univocamente dal
distinzione
CasaProduttrice Nome Ogni casa produttrice è
identificato univocamente dal
nome
Cliente CodFiscale Ogni cliente è identificato
univocamente dal codice
fiscale
MetodoPagamento IdPagamento Ogni metodo di pagamento è
identificato univocamente
dall' id pagamento
Modulo Codice Ogni modulo è identificato
univocamente dal codice
Cassetto IdCassetto Ogni cassetto è identificato
univocamente dall' id cassetto
Scaffale IdScaffale Ogni scaffale è identificato
univocamente dall'id scaffale
IndirizzoA Codice Ogni indirizzoA è identificato
parzialmente dall'attributo
Via,ma l'entità, essendo
debole, ha come chiave
primaria Codice
IndirizzoC Nome
Ogni indirizzoC è identificato
parzialmente dall'attributo
Via,ma l'entità, essendo
debole,ha come chiave
primaria Nome
Schema ristrutturato
II. Traduzione dello schema concettuale ristrutturato
(Mapping)
Videogioco ( Titolo, Piattaforma,Prezzo, Categoria,DataUscita, CasaProduttrice ↑, Scaffale↑,
Amministratore↑ )
Descrizione ( Distinzione, Ambientazione, Trama ,Videogioco↑)
CasaProduttrice ( Nome, NumTelefono, Fax )
Cassetto ( IdCassetto, Scaffale ↑)
Scaffale ( IdScaffale )
IndirizzoC (Via, Regione, NumeroCivico, CasaProduttrice ↑ )
Amministratore ( Codice, Nome, Cognome, Stipendio, Email, NumTelefono)
IndirizzoA ( Via, Regione, NumeroCivico, Amministratore ↑ )
Cliente ( CodFiscale, Nome, Cognome, NCarta, Sconto, NAcquisti, Tipo_C )
Ricerca ( Cliente ↑ , Videogioco ↑ )
MetodoPagamento( IdPagamento,NumCarta, Scadenza,Tipo_P, Iban,Ccv, IdRicevuta, Cliente ↑ )
Modulo ( Codice, NCopie, Stato, Data, TotPrezzo, Cliente ↑ )
PrenotatoTramite ( Modulo ↑ , Cliente ↑ )
Vincoli di integrità referenziale( )↑
 CasaProduttrice in Videogioco è la chiave Nome in CasaProduttrice
 Descrizione in Videogioco è la chiave Distinzione in Descrizione
 Cassetto in Videogioco è la chiave IdCassetto in Cassetto
 Scaffale in Cassetto è la chiave IdScaffale in Scaffale
 CasaProduttrice in IndirizzoC è la chiave Nome in CasaProduttrice
 Videogioco in Amministratore è la chiave Titolo in Videogioco
 Amministratore in IndirizzoA è la chiave Codice in Amministratore
 Cliente in Ricerca è la chiave CodFiscale in Cliente
 Videogioco in Ricerca è la chiave Titolo in Videogioco
 Cliente in MetodoPagamento è la chiave CodFiscale in Cliente
 Cliente in Modulo è la chiave CodFiscale in Cliente
 Modulo in PrenotatoTramite è la chiave Codice in Modulo
 Cliente in PrenotatoTramite è la chiave CodFiscale in Cliente
5.Realizzazione della basi di dati utilizzando MySQL
Creazione dello schema
-- -----------------------------------------------------
-- Schema Negozio_Videogiochi
-- -----------------------------------------------------
CREATE SCHEMA Negozio_Videogiochi
USE Negozio_Videogiochi ;
Creazione delle tabelle
-------------------------------------------------------
-- Tabella Cliente --
-------------------------------------------------------
CREATE TABLE Cliente (
CodFiscale VARCHAR(16) NOT NULL,
NCarta VARCHAR(32),
Sconto FLOAT(2,0),
Tipo_C VARCHAR(11) NOT NULL,
Nome VARCHAR(15) NOT NULL,
Cognome VARCHAR(15) NOT NULL,
NAcquisti INT(11) NOT NULL,
PRIMARY KEY (CodFiscale),
)
-------------------------------------------------------
-- Tabella MetodoPagamento --
-------------------------------------------------------
CREATE TABLE MetodoPagamento(
IdPagamento VARCHAR(4) NOT NULL AUTO INCREMENT,
IdRicevuta VARCHAR(12),
Cvv VARCHAR(3),
Iban VARCHAR(27),
Tipo_P VARCHAR(20) NOT NULL,
Scadenza DATE,
NumCarta VARCHAR(15),
CodFiscale_Cliente VARCHAR(45) ,
PRIMARY KEY (IdPagamento),
UNIQUE INDEX IdPagamento (IdPagamento ASC),
INDEX CodFiscale_Cliente_idx ( CodFiscale_Cliente ASC),
CONSTRAINT CodFiscale_Cliente
FOREIGN KEY (CodFiscale_Cliente)
REFERENCES Negozio_Videogiochi.Cliente (CodFiscale)
)
-- -----------------------------------------------------
-- Tabella Modulo --
-- -----------------------------------------------------
CREATE TABLE Modulo(
Codice VARCHAR(4) NOT NULL AUTO INCREMENT,
NCopie INT NOT NULL,
Stato VARCHAR(20) NOT NULL,
Data DATE NOT NULL,
TotPrezzo FLOAT(6,2) NOT NULL,
CodFiscale_Cliente VARCHAR(45),
PRIMARY KEY (Codice),
UNIQUE INDEX Codice (Codice ASC),
INDEX CodFiscale_Cliente_idx (CodFiscale_Cliente ASC),
CONSTRAINT CodFiscale_Cliente
FOREIGN KEY (CodFiscale_Cliente)
REFERENCES Negozio_Videogiochi.Cliente (CodFiscale)
)
-- -----------------------------------------------------
-- Tabella Descrizione --
-- -----------------------------------------------------
CREATE TABLE Descrizione (
Videogioco_Titolo VARCHAR(35) NOT NULL,
Distinzione Text NOT NULL,
Trama Text NOT NULL,
Ambientazione Text NOT NULL,
PRIMARY KEY (Videogioco_Titolo),
INDEX fk_Descrizione_Videogioco1_idx(Videogioco_TitoloASC),
CONSTRAINT fk_Descrizione_Videogioco1
FOREIGN KEY (Videogioco_Titolo)
REFERENCES negozio_videogiochi.videogioco(`Titolo)
)
-- -----------------------------------------------------
-- Tabella CasaProduttrice --
-- -----------------------------------------------------
CREATE TABLE CasaProduttrice(
Nome VARCHAR(64) NOT NULL,
NumTelefono VARCHAR(20) NOT NULL,
Fax VARCHAR(20) NOT NULL,
PRIMARY KEY (Nome),
UNIQUE INDEX Nome (Nome ASC)
)
-- -----------------------------------------------------
-- Tabella Scaffale --
-- -----------------------------------------------------
CREATE TABLE Scaffale (
IdScaffale VARCHAR(4) NOT NULL,
PRIMARY KEY (IdScaffale),
UNIQUE INDEX IdScaffale (IdScaffale ASC)
)
-- -----------------------------------------------------
-- Tabella Cassetto --
-- -----------------------------------------------------
CREATE TABLE Cassetto (
IdCassetto VARCHAR(4), NOT NULL,
IdScaffale_Scaffale VARCHAR(4),
PRIMARY KEY (IdCassetto, IdScaffale_Scaffale),
INDEX IdScaffale_Scaffale_idx (IdScaffale_Scaffale ASC),
CONSTRAINT fkIdScaffale_Scaffale
FOREIGN KEY (IdScaffale_Scaffale)
REFERENCES Negozio_Videogiochi.Scaffale (IdScaffale)
)
-- -----------------------------------------------------
-- Tabella Videogioco --
-- -----------------------------------------------------
CREATE TABLE Videogioco (
Titolo VARCHAR(35) NOTNULL,
Piattaforma VARCHAR(25) NOT NULL,
Prezzo FLOAT NOT NULL,
DataUscita DATE NOT NULL,
Categoria VARCHAR(15) NOT NULL,
Nome_CasaProduttrice VARCHAR(64) ,
IdScaffale_Scaffale VARCHAR(4),
PRIMARY KEY (Titolo),
UNIQUE INDEX Titolo (Titolo ASC),
INDEX Nome_CasaProduttrice_idx (Nome_CasaProduttrice ASC),
INDEX Codice_Amministratore_idx (Codice_Amministratore ASC),
INDEX fk_Videogioco_Scaffale1_idx (Scaffale_IdScaffale ASC),
CONSTRAINT fkCodice_Amministratore
FOREIGN KEY (Codice_Amministratore)
REFERENCES negozio_videogiochi.amministratore (Codice)
CONSTRAINT fkNome_CasaProduttrice
FOREIGN KEY (Nome_CasaProduttrice)
REFERENCES negozio_videogiochi.casaproduttrice (Nome)
CONSTRAINT fk_Videogioco_Scaffale1
FOREIGN KEY (Scaffale_IdScaffale)
REFERENCES negozio_videogiochi.scaffale(IdScaffale)
)
-- -----------------------------------------------------
-- Tabella Amministratore --
-- -----------------------------------------------------
CREATE TABLE Amministratore (
Codice VARCHAR(4) NOT NULL,
NumTelefono VARCHAR(15) NOT NULL,
Stipendio FLOAT NOT NULL,
Email VARCHAR(25) NOT NULL,
Nome VARCHAR(15) NOT NULL,
Cognome VARCHAR(20) NOT NULL,
PRIMARY KEY (Codice),
)
-- -----------------------------------------------------
-- Tabella IndirizzoA --
-- -----------------------------------------------------
CREATE TABLE IndirizzoA (
Via VARCHAR(30) NOT NULL,
Regione VARCHAR(45) NOT NULL,
NumeroCivico VARCHAR(4) NOT NULL,
Codice_Amministratore VARCHAR(4),
PRIMARY KEY (Codice_Amministratore),
CONSTRAINT fk_IndirizzoA_Amministratore1,
FOREIGN KEY (Codice_Amministratore)
REFERENCES Negozio_Videogiochi.Amministratore (Codice)
)
-- -----------------------------------------------------
-- Tabella IndirizzoC --
-- -----------------------------------------------------
CREATE TABLE IndirizzoC (
Via VARCHAR(30) NOT NULL,
Regione VARCHAR(20) NOT NULL,
NumeroCivico INT NOT NULL,
Nome_CasaP VARCHAR(65),
PRIMARY KEY (Nome_CasaP),
CONSTRAINT fk_Nome_CasaP,
FOREIGN KEY (Nome_CasaP)
REFERENCES Negozio_Videogiochi.CasaProduttrice (Nome)
)
-- -----------------------------------------------------
-- Tabella Ricerca --
-- -----------------------------------------------------
CREATE TABLE Ricerca (
Cliente_CodFiscale VARCHAR(16) NOT NULL,
Videogioco_Titolo VARCHAR(20) NOT NULL,
PRIMARY KEY (Cliente_CodFiscale, Videogioco_Titolo),
INDEX Videogioco_Titolo _idx(Videogioco_Titolo ASC),
INDEX Cliente_CodFiscale (Cliente_CodFiscale ASC),
UNIQUE INDEX Cliente_CodFiscale (Cliente_CodFiscale ASC),
UNIQUE INDEX Videogioco_Titolo (Videogioco_Titolo ASC),
CONSTRAINT Cliente_CodFiscale
FOREIGN KEY (Cliente_CodFiscale)
REFERENCES Negozio_Videogiochi.Cliente (CodFiscale)
CONSTRAINT Videogioco_Titolo
FOREIGN KEY (Videogioco_Titolo)
REFERENCES Negozio_Videogiochi.Videogioco (Titolo)
)
-- -----------------------------------------------------
-- Tabelle PrenotatoTramite --
-- -----------------------------------------------------
CREATE TABLE PrenotatoTramite (
Modulo_Codice VARCHAR(4) NOT NULL,
Videogioco_Titolo VARCHAR(20) NOT NULL,
PRIMARY KEY (Modulo_Codice , Videogioco_Titolo),
INDEX Videogioco_Titolo _idx (Videogioco_Titolo ASC),
INDEX Modulo_Codice _idx (Modulo_Codice ASC),
UNIQUE INDEX Modulo_Codice (Modulo_Codice ASC),
UNIQUE INDEX Videogioco_Titolo (Videogioco_Titolo ASC),
CONSTRAINT Modulo_Codice
FOREIGN KEY (Modulo_Codice)
REFERENCES Negozio_Videogiochi.Modulo(Codice)
CONSTRAINT Videogioco_Titolo
FOREIGN KEY (Videogioco_Titolo)
REFERENCES Negozio_Videogiochi.Videogioco(Titolo)
)
-- -----------------------------------------------------
-- Inserimento valori tabella Amministratore --
-- -----------------------------------------------------
INSERT INTO `Amministratore`
(`Codice`,`NumTelefono`,`Stipendio`,`Email`,`Nome`,`Cognome`,`Titolo_Videogioco`)
VALUES (1,'3474572123',2000,'robertomagno@gmail.com','Roberto','Magno',NULL);
-- -----------------------------------------------------
-- Inserimento valori tabella Amministratore --
-- -----------------------------------------------------
7. Implementazione delle interrogazioni SQL
(Query)
 Aggiungere un nuovo cliente
INSERT INTO `cliente`
(`CodFiscale`,`NCarta`,`Sconto`,`Tipo_C`,`Nome`,`Cognome`,`NAcquisti`)
VALUES ('DRGMRA89L17H150S ','O32F',10,'Fedele','Mario','Draghini',3);
 Aggiungere un nuovo videogioco
INSERT INTO `videogioco`
(`Titolo`,`DataUscita`,`Categoria`,`Nome_CasaProduttrice`,`Piattaforma`,`Prezzo`,`Co
dice_Amministratore`,`Scaffale_IdScaffale`)
VALUES ('The Legend of Zelda: The WindWaker HD','2013-10-
29','Avventura','Nintendo','Wii-U',54.99,'1','000A');
 Aggiungere una descrizione
INSERT INTO `Descrizione`
(`Videogioco_Titolo`,`Distinzione`,`Trama`,`Ambientazione`)
VALUES ('The Legend of Zelda: The WindWaker HD','Nel corso del Nintendo Direct
del 23 gennaio 2013, dedicato ai giochi sviluppati da Nintendo in uscita per Wii-U, il
director della saga Eiji Aonuma ha mostrato alcune immagini dell'isola Taura in HD e
i modelli poligonali di Link e Dazel, annunciando che sono in corso i lavori di
sviluppo di un remake HD del gioco per Wii-U. ','Link va per il mondo','Il mondo di
Zelda');
 Aggiungere una casa produttrice
INSERT INTO `casaproduttrice` (`Nome`,`NumTelefono`,`Fax`)
VALUES ('Bungie','410-555-0325','1-410-555-0325');
 Aggiungi un nuovo acquisto
INSERT INTO `modulo`
(`Codice`,`NCopie`,`Stato`,`Data`,`TotPrezzo`,`Cliente_CodFiscale`)
VALUES ('0001',5,'prenotato','2014-06-11',0,'RSSDVD92M10A717C');
 Stampare le posizioni di tutti i videogiochi che si trovano in uno scaffale
SELECT *
FROM Videogioco
WHERE Scaffale_IdScaffale = "000A"
 Aggiornare prezzo videogiochi
UPDATE Videogioco
SET Prezzo = 59.99
WHERE Titolo = “Assassin's Creed IV [PC]” and Titolo = “Halo 4 [X360]”
 Stampare il numero di copie acquistate per un cliente
SELECT NCopie
FROM Modulo, Cliente
WHERE Cliente.CodFiscale = Modulo.Cliente_CodFiscale
AND Cliente.CodFiscale = "RSSDVD92M10A717C"
 Cancellare un cliente
DELETE FROM Cliente
WHERE CodFiscale = “LRTNTN87B56D452N”
 Cancellare un videogioco
DELETE FROM Videogioco
WHERE Titolo = “Mario Kart 8”
 Stampare nome della casa produttrice e titolo, prezzo e data di uscita dei relativi
giochi
SELECT Nome_CasaProduttrice, Titolo, Prezzo, DataUscita
FROM casaproduttrice
INNER JOIN videogioco ON videogioco.Nome_CasaProduttrice = casaproduttrice.Nome;
 Stampare codice fiscale ,nome,cognome dei clienti che hanno ricercato Halo
4[ X360]
SELECT CodFiscale,Nome,Cognome
FROM cliente,videogioco,ricerca
WHERE videogioco.Titolo = 'Halo 4 [X360]'
AND cliente.CodFiscale=ricerca.Cliente_CodFiscale
AND ricerca.Videogioco_Titolo=Videogioco.Titolo
 Stampare titolo e categoria dei videogiochi con prezzo maggiore della media di
tutti i prezzi
SELECT Titolo, Categoria
FROM Videogioco
WHERE Prezzo > (SELECT AVG(Prezzo)
FROM Videogioco)
 Stampare cognome e nome dei clienti che hanno un modulo con all'interno il
numero di copie pari a 5 e 2
SELECT Cognome, Nome
FROM Cliente, Modulo
WHERE Cliente.CodFiscale = Modulo.Cliente_CodFiscale
AND Modulo.Codice IN (SELECT Codice
FROM Modulo
WHERE (NCopie = 5 OR NCopie = 2))
 Stampare nome, cognome, codice fiscale e numero di giochi acquistati
SELECT Nome , Cognome , CodFiscale , count(*)
FROM Ricerca, Cliente
WHERE Ricerca.Cliente_CodFiscale = Cliente.CodFiscale
GROUP BY CodFiscale
 Per ogni gioco acquistato stampare titolo, prezzo e numero di copie acquistate
non infieriori a 2
SELECT Titolo , Prezzo , count(*)
FROM Ricerca, Videogioco
WHERE Ricerca.Videogioco_Titolo = Videogioco.Titolo
GROUP BY Titolo
HAVING count(*) >= 2
 Stampare il prezzo totale per ogni cliente
SELECT CodFiscale, Nome, Cognome, Ncopie, SUM(Prezzo) AS TotPrezzo
FROM Cliente, Modulo, PrenotatoTramite,Videogioco
WHERE Cliente.CodFiscale = Modulo.Cliente_CodFiscale
AND Modulo.Codice = PrenotatoTramite.Modulo_Codice
AND PrenotatoTramite.Videogioco_Titolo = Videogioco.Titolo
GROUP BY CodFiscale
 Stampare nome e cognome dei clienti che hanno comprato Pokemon Y e che
hanno pagato con carta di credito
SELECT Nome , Cognome
FROM Cliente, MetodoPagamento, Modulo, PrenotatoTramite
WHERE MetodoPagamento.Tipo_P = 'Carta di Credito'
AND PrenotatoTramite.Videogioco_Titolo IN
(SELECT Titolo
FROM videogioco
WHERE Videogioco.Titolo ="Pokemon Y")
AND Cliente.CodFiscale = MetodoPagamento.CodFiscale_Cliente
AND Cliente.CodFiscale = Modulo.Cliente_CodFiscale
AND Modulo.Codice = PrenotatoTramite.Modulo_Codice
 Stampare i titoli e data uscita delle case produttrici del Maryland con rispettivi
nome,via,numero civico e il numero di copie vendute
SELECT Titolo, Nome_CasaProduttrice, DataUscita, Via, NumeroCivico , count(*)
as NumCopie
FROM videogioco, casaproduttrice, indirizzoc, prenotatotramite
WHERE YEAR(videogioco.DataUscita) = 2013
AND indirizzoc.Regione = 'Maryland'
AND indirizzoc.Nome_CasaP = casaproduttrice.Nome
AND videogioco.Nome_CasaProduttrice = casaproduttrice.Nome
AND prenotatotramite.Videogioco_Titolo = videogioco.Titolo
GROUP BY prenotatotramite.Videogioco_Titolo

More Related Content

What's hot

Multimedia and Graphics Presentation
Multimedia and Graphics PresentationMultimedia and Graphics Presentation
Multimedia and Graphics Presentation
Md.Naziur Rahman
 
QR Code Based Payment- The most advanced contactless payment
QR Code Based Payment- The most advanced contactless paymentQR Code Based Payment- The most advanced contactless payment
QR Code Based Payment- The most advanced contactless payment
Mahindra Comviva
 
Compass Company Overview Q2 2017
Compass Company Overview Q2 2017Compass Company Overview Q2 2017
Compass Company Overview Q2 2017
smccarthy02127
 
Introduction à la Réalité Augmentée
Introduction à la Réalité AugmentéeIntroduction à la Réalité Augmentée
Introduction à la Réalité Augmentée
Niji
 
Mobile Game Proposal PowerPoint Presentation Slides
Mobile Game Proposal PowerPoint Presentation SlidesMobile Game Proposal PowerPoint Presentation Slides
Mobile Game Proposal PowerPoint Presentation Slides
SlideTeam
 
PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game Engine
Diksha Bhargava
 
Game marketing plan
Game marketing plan Game marketing plan
Game marketing plan
Tom Hughes
 
Process of Game Design
Process of Game DesignProcess of Game Design
Process of Game Design
Vincent Clyde
 
3-Game Graphics (Game Design and Development)
3-Game Graphics (Game Design and Development)3-Game Graphics (Game Design and Development)
3-Game Graphics (Game Design and Development)
Hafiz Ammar Siddiqui
 
4-Game Physics (Game Design and Development)
4-Game Physics (Game Design and Development)4-Game Physics (Game Design and Development)
4-Game Physics (Game Design and Development)
Hafiz Ammar Siddiqui
 
Merchant Presentation
Merchant PresentationMerchant Presentation
Merchant Presentation
Vamsi bhaskar Sadasivuni
 
Fundamentals of Game Design - Ch2
Fundamentals of Game Design - Ch2Fundamentals of Game Design - Ch2
Fundamentals of Game Design - Ch2
Cynthia Marcello
 
Finix Payments Pitch Deck
Finix Payments Pitch DeckFinix Payments Pitch Deck
Finix Payments Pitch Deck
LaytonHughes
 
Payment aggregator registration guide
Payment aggregator registration guide Payment aggregator registration guide
Payment aggregator registration guide
corpzo
 
Multimedia: Making it Happen - Text
Multimedia: Making it Happen - TextMultimedia: Making it Happen - Text
Multimedia: Making it Happen - Text
joelk
 
Loyalty Card Program
Loyalty Card ProgramLoyalty Card Program
Loyalty Card Program
Dr. Syed Masrur
 
Payment Gateway
Payment GatewayPayment Gateway
Payment Gateway
Asif Hussain
 
Multimedia - general lecture
Multimedia - general lectureMultimedia - general lecture
Multimedia - general lecture
Rast Private Institute
 
Magic Mirror For Retail Stores
Magic Mirror For Retail StoresMagic Mirror For Retail Stores
Magic Mirror For Retail Stores
FootfallCam
 
Hardware & software in multimedia
Hardware & software in multimediaHardware & software in multimedia
Hardware & software in multimedia
RiosArt
 

What's hot (20)

Multimedia and Graphics Presentation
Multimedia and Graphics PresentationMultimedia and Graphics Presentation
Multimedia and Graphics Presentation
 
QR Code Based Payment- The most advanced contactless payment
QR Code Based Payment- The most advanced contactless paymentQR Code Based Payment- The most advanced contactless payment
QR Code Based Payment- The most advanced contactless payment
 
Compass Company Overview Q2 2017
Compass Company Overview Q2 2017Compass Company Overview Q2 2017
Compass Company Overview Q2 2017
 
Introduction à la Réalité Augmentée
Introduction à la Réalité AugmentéeIntroduction à la Réalité Augmentée
Introduction à la Réalité Augmentée
 
Mobile Game Proposal PowerPoint Presentation Slides
Mobile Game Proposal PowerPoint Presentation SlidesMobile Game Proposal PowerPoint Presentation Slides
Mobile Game Proposal PowerPoint Presentation Slides
 
PRESENTATION ON Game Engine
PRESENTATION ON Game EnginePRESENTATION ON Game Engine
PRESENTATION ON Game Engine
 
Game marketing plan
Game marketing plan Game marketing plan
Game marketing plan
 
Process of Game Design
Process of Game DesignProcess of Game Design
Process of Game Design
 
3-Game Graphics (Game Design and Development)
3-Game Graphics (Game Design and Development)3-Game Graphics (Game Design and Development)
3-Game Graphics (Game Design and Development)
 
4-Game Physics (Game Design and Development)
4-Game Physics (Game Design and Development)4-Game Physics (Game Design and Development)
4-Game Physics (Game Design and Development)
 
Merchant Presentation
Merchant PresentationMerchant Presentation
Merchant Presentation
 
Fundamentals of Game Design - Ch2
Fundamentals of Game Design - Ch2Fundamentals of Game Design - Ch2
Fundamentals of Game Design - Ch2
 
Finix Payments Pitch Deck
Finix Payments Pitch DeckFinix Payments Pitch Deck
Finix Payments Pitch Deck
 
Payment aggregator registration guide
Payment aggregator registration guide Payment aggregator registration guide
Payment aggregator registration guide
 
Multimedia: Making it Happen - Text
Multimedia: Making it Happen - TextMultimedia: Making it Happen - Text
Multimedia: Making it Happen - Text
 
Loyalty Card Program
Loyalty Card ProgramLoyalty Card Program
Loyalty Card Program
 
Payment Gateway
Payment GatewayPayment Gateway
Payment Gateway
 
Multimedia - general lecture
Multimedia - general lectureMultimedia - general lecture
Multimedia - general lecture
 
Magic Mirror For Retail Stores
Magic Mirror For Retail StoresMagic Mirror For Retail Stores
Magic Mirror For Retail Stores
 
Hardware & software in multimedia
Hardware & software in multimediaHardware & software in multimedia
Hardware & software in multimedia
 

Similar to Negozio_Videogiochi_Online [Esame di Basi di Dati]

Broadband Wireless Forum Rome 2 December
Broadband Wireless Forum Rome 2 DecemberBroadband Wireless Forum Rome 2 December
Broadband Wireless Forum Rome 2 December
Fabio Viola
 
E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE
E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE
E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE
Fabio Viola
 
Agon - A fashion mobile game - Tesi di Laurea
Agon - A fashion mobile game - Tesi di LaureaAgon - A fashion mobile game - Tesi di Laurea
Agon - A fashion mobile game - Tesi di Laurea
EdoardoZuccarelli1
 
eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...
eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...
eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...
Fabrizio Martire
 
Fantagenius arcus multimedia
Fantagenius arcus multimediaFantagenius arcus multimedia
Fantagenius arcus multimedia
Arcus Multimedia
 
Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...
Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...
Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...
Alessandro Sisti
 
Progetto Giochi Web/Mobile Luglio 2007
Progetto Giochi Web/Mobile Luglio 2007Progetto Giochi Web/Mobile Luglio 2007
Progetto Giochi Web/Mobile Luglio 2007
Fabio Cristi
 
Instant win chiavi in mano
Instant win   chiavi in manoInstant win   chiavi in mano
Instant win chiavi in mano
Simona Nespoli
 
Multicanalità Politecnico Nov 15th 2007
Multicanalità   Politecnico Nov 15th 2007Multicanalità   Politecnico Nov 15th 2007
Multicanalità Politecnico Nov 15th 2007guest5f1cea
 
Multicanalità Poli Nov 15th 2007
Multicanalità Poli Nov 15th 2007Multicanalità Poli Nov 15th 2007
Multicanalità Poli Nov 15th 2007Luca Colombo
 

Similar to Negozio_Videogiochi_Online [Esame di Basi di Dati] (10)

Broadband Wireless Forum Rome 2 December
Broadband Wireless Forum Rome 2 DecemberBroadband Wireless Forum Rome 2 December
Broadband Wireless Forum Rome 2 December
 
E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE
E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE
E-GAMMERCE: ENTERTAINMENT AND EMOTIONAL COMMERCE
 
Agon - A fashion mobile game - Tesi di Laurea
Agon - A fashion mobile game - Tesi di LaureaAgon - A fashion mobile game - Tesi di Laurea
Agon - A fashion mobile game - Tesi di Laurea
 
eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...
eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...
eAuction, eShop ed eMall come punto di incontro tra l Economia Virtuale e l E...
 
Fantagenius arcus multimedia
Fantagenius arcus multimediaFantagenius arcus multimedia
Fantagenius arcus multimedia
 
Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...
Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...
Digital Transformation War: retailer tradizionali vs giganti dell'e-commerce ...
 
Progetto Giochi Web/Mobile Luglio 2007
Progetto Giochi Web/Mobile Luglio 2007Progetto Giochi Web/Mobile Luglio 2007
Progetto Giochi Web/Mobile Luglio 2007
 
Instant win chiavi in mano
Instant win   chiavi in manoInstant win   chiavi in mano
Instant win chiavi in mano
 
Multicanalità Politecnico Nov 15th 2007
Multicanalità   Politecnico Nov 15th 2007Multicanalità   Politecnico Nov 15th 2007
Multicanalità Politecnico Nov 15th 2007
 
Multicanalità Poli Nov 15th 2007
Multicanalità Poli Nov 15th 2007Multicanalità Poli Nov 15th 2007
Multicanalità Poli Nov 15th 2007
 

More from Michele Palumbo

Certificato Crevit- Project manager carriera e certificazione accreditata
Certificato Crevit- Project manager carriera e certificazione accreditataCertificato Crevit- Project manager carriera e certificazione accreditata
Certificato Crevit- Project manager carriera e certificazione accreditata
Michele Palumbo
 
Certificato PMI-ACP Michele Palumbo
Certificato PMI-ACP Michele PalumboCertificato PMI-ACP Michele Palumbo
Certificato PMI-ACP Michele Palumbo
Michele Palumbo
 
Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...
Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...
Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...
Michele Palumbo
 
Certificazione Samsung Innovation Camp 2020
Certificazione Samsung Innovation Camp 2020Certificazione Samsung Innovation Camp 2020
Certificazione Samsung Innovation Camp 2020
Michele Palumbo
 
[Michele Palumbo] Attestato Conseguimento 24 CFU
[Michele Palumbo] Attestato Conseguimento 24 CFU[Michele Palumbo] Attestato Conseguimento 24 CFU
[Michele Palumbo] Attestato Conseguimento 24 CFU
Michele Palumbo
 
Augmented Reality Application: CamerotAR
Augmented Reality Application: CamerotAR Augmented Reality Application: CamerotAR
Augmented Reality Application: CamerotAR
Michele Palumbo
 
Social Responsability. Case study: Poste Italiane
Social Responsability. Case study: Poste ItalianeSocial Responsability. Case study: Poste Italiane
Social Responsability. Case study: Poste Italiane
Michele Palumbo
 
Certificate digitaliq 10945_Michele Palumbo
Certificate digitaliq 10945_Michele PalumboCertificate digitaliq 10945_Michele Palumbo
Certificate digitaliq 10945_Michele Palumbo
Michele Palumbo
 
LeaderCheck App
LeaderCheck App LeaderCheck App
LeaderCheck App
Michele Palumbo
 
[Document] SlemApp (Inbound and Outbound)
[Document] SlemApp (Inbound and Outbound)[Document] SlemApp (Inbound and Outbound)
[Document] SlemApp (Inbound and Outbound)
Michele Palumbo
 
[Presentation] La creazione di una Start-Up
[Presentation] La creazione di una Start-Up [Presentation] La creazione di una Start-Up
[Presentation] La creazione di una Start-Up
Michele Palumbo
 
[Document] La creazione di una Start-Up
[Document] La creazione di una Start-Up [Document] La creazione di una Start-Up
[Document] La creazione di una Start-Up
Michele Palumbo
 
Certificazione Samsung Innovation Camp
Certificazione Samsung Innovation CampCertificazione Samsung Innovation Camp
Certificazione Samsung Innovation Camp
Michele Palumbo
 
[Presentation] MultiProject analysis with Critical Path Method
[Presentation] MultiProject analysis with Critical Path Method[Presentation] MultiProject analysis with Critical Path Method
[Presentation] MultiProject analysis with Critical Path Method
Michele Palumbo
 
[Document] MultiProject analysis with Critical Path Method
[Document] MultiProject analysis with Critical Path Method[Document] MultiProject analysis with Critical Path Method
[Document] MultiProject analysis with Critical Path Method
Michele Palumbo
 
Project planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum TourProject planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum Tour
Michele Palumbo
 
Project planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum TourProject planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum Tour
Michele Palumbo
 
Sviluppo di un Framework semantico per la contestualizzazione delle activity
Sviluppo di un Framework semantico per la contestualizzazione delle activitySviluppo di un Framework semantico per la contestualizzazione delle activity
Sviluppo di un Framework semantico per la contestualizzazione delle activity
Michele Palumbo
 
StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]
StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]
StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]
Michele Palumbo
 
MultiStadium Portal [Esame Linguaggio Java]
MultiStadium Portal [Esame Linguaggio Java]MultiStadium Portal [Esame Linguaggio Java]
MultiStadium Portal [Esame Linguaggio Java]
Michele Palumbo
 

More from Michele Palumbo (20)

Certificato Crevit- Project manager carriera e certificazione accreditata
Certificato Crevit- Project manager carriera e certificazione accreditataCertificato Crevit- Project manager carriera e certificazione accreditata
Certificato Crevit- Project manager carriera e certificazione accreditata
 
Certificato PMI-ACP Michele Palumbo
Certificato PMI-ACP Michele PalumboCertificato PMI-ACP Michele Palumbo
Certificato PMI-ACP Michele Palumbo
 
Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...
Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...
Attestato RSPP - Responsabile del servizio di prevenzione e protezione - Mich...
 
Certificazione Samsung Innovation Camp 2020
Certificazione Samsung Innovation Camp 2020Certificazione Samsung Innovation Camp 2020
Certificazione Samsung Innovation Camp 2020
 
[Michele Palumbo] Attestato Conseguimento 24 CFU
[Michele Palumbo] Attestato Conseguimento 24 CFU[Michele Palumbo] Attestato Conseguimento 24 CFU
[Michele Palumbo] Attestato Conseguimento 24 CFU
 
Augmented Reality Application: CamerotAR
Augmented Reality Application: CamerotAR Augmented Reality Application: CamerotAR
Augmented Reality Application: CamerotAR
 
Social Responsability. Case study: Poste Italiane
Social Responsability. Case study: Poste ItalianeSocial Responsability. Case study: Poste Italiane
Social Responsability. Case study: Poste Italiane
 
Certificate digitaliq 10945_Michele Palumbo
Certificate digitaliq 10945_Michele PalumboCertificate digitaliq 10945_Michele Palumbo
Certificate digitaliq 10945_Michele Palumbo
 
LeaderCheck App
LeaderCheck App LeaderCheck App
LeaderCheck App
 
[Document] SlemApp (Inbound and Outbound)
[Document] SlemApp (Inbound and Outbound)[Document] SlemApp (Inbound and Outbound)
[Document] SlemApp (Inbound and Outbound)
 
[Presentation] La creazione di una Start-Up
[Presentation] La creazione di una Start-Up [Presentation] La creazione di una Start-Up
[Presentation] La creazione di una Start-Up
 
[Document] La creazione di una Start-Up
[Document] La creazione di una Start-Up [Document] La creazione di una Start-Up
[Document] La creazione di una Start-Up
 
Certificazione Samsung Innovation Camp
Certificazione Samsung Innovation CampCertificazione Samsung Innovation Camp
Certificazione Samsung Innovation Camp
 
[Presentation] MultiProject analysis with Critical Path Method
[Presentation] MultiProject analysis with Critical Path Method[Presentation] MultiProject analysis with Critical Path Method
[Presentation] MultiProject analysis with Critical Path Method
 
[Document] MultiProject analysis with Critical Path Method
[Document] MultiProject analysis with Critical Path Method[Document] MultiProject analysis with Critical Path Method
[Document] MultiProject analysis with Critical Path Method
 
Project planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum TourProject planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum Tour
 
Project planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum TourProject planning VMT - Virtual Museum Tour
Project planning VMT - Virtual Museum Tour
 
Sviluppo di un Framework semantico per la contestualizzazione delle activity
Sviluppo di un Framework semantico per la contestualizzazione delle activitySviluppo di un Framework semantico per la contestualizzazione delle activity
Sviluppo di un Framework semantico per la contestualizzazione delle activity
 
StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]
StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]
StateOfEmergencyApp + Lo-Fi Prototype [Esame Interazione Uomo-Macchina]
 
MultiStadium Portal [Esame Linguaggio Java]
MultiStadium Portal [Esame Linguaggio Java]MultiStadium Portal [Esame Linguaggio Java]
MultiStadium Portal [Esame Linguaggio Java]
 

Negozio_Videogiochi_Online [Esame di Basi di Dati]

  • 1. Università Degli Studi Di Salerno Progetto Basi di Dati FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI CORSO DI LAUREA IN INFORMATICA Anno Accademico 2013/2014 Realizzata Da: Siciliano Sabatino, Russo Davide, Palumbo Michele, Fabio Santini
  • 2. Nome Progetto: " Negozio di Videogames Online "
  • 3. 1.Raccolta delle specifiche della realtà di interesse I. Descrizione sintetica della realtà di interesse: Il videogioco è un gioco gestito da un dispositivo elettronico che consente di interagire con le immagini di uno schermo .Il termine può identificare un software oppure un dispositivo hardware dedicato a uno specifico gioco,è detto anche videogame. Colui che utilizza un videogioco viene chiamato "videogiocatore" e si serve di una o più periferiche di input quali il joystick, la tastiera, joypad. Come qualsiasi gioco, il videogioco può rappresentare oggetti astratti o riprodurre simbolicamente determinati contesti culturali, astraendoli dal loro ambito ed applicandoli a contesti e situazioni che possono andare dalla simulazione fedele fino alla parodia. I videogiochi si sono costantemente evoluti formando man mano dei generi completamente diversi tra loro, con meccaniche di gioco differenti e differenti abilità richieste al giocatore. I principali gruppi nei quali si possono dividere i videogiochi sono due: simulativo o arcade. Un gioco simulativo è un gioco basato sulla simulazione delle regole del mondo reale,il gioco arcade invece ne è l'esatto opposto. Chi sceglie un gioco arcade non ha voglia di cimentarsi nell'apprendimento delle meccaniche di un gioco troppo complicato, ed il suo unico desiderio è avviare il gioco e divertirsi all'istante. I generi più comuni dei videogame vanno dai videogiochi di avventura,a quelli di azione,con i videogiochi di ruolo,simulazioni,sportivi e di strategia. Il negozio di videogames online nasce intorno all'anno 1994, si riferisce ad una tipologia di commercio elettronico nella quale il mezzo di realizzazione dell'acquisto è il sito web, e in cui la transazione economica si svolge interamente via internet.
  • 4. II. Specifiche complete della realtà di interesse: Si vuole effettuare la realizzazione di un sistema informativo di supporto alla gestione di un negozio di videogiochi:  Il negozio in questione vende solo online i videogiochi, con possibilità di preordinazione. In particolare, gestisce le informazioni riguardanti i clienti e l'amministratore, gli ordini di acquisto e i videogiochi.  Un cliente che vuole effettuare un acquisto deve innanzi tutto identificarsi,fornendo i suoi dati anagrafici come il nome, il cognome, il codice fiscale e deve indicare anche il metodo con il quale intende adempiere ai vari pagamenti (esempio: deve specificare se intende pagare i suoi acquisti utilizzando una carta di credito oppure pagando direttamente con denaro contante nel momento della consegna del prodotto).  Il cliente effettua un acquisto compilando un modulo di ordine, identificato da un codice e una serie di informazioni come il titolo del videogioco (che si vuole acquistare), il numero di copie, la data in cui si effettua l'ordine, il prezzo totale da pagare e lo stato dell'ordine(per esempio: se l'ordine è stato spedito o meno).  Un cliente effettua la ricerca del prodotto desiderato in base al titolo, alla casa produttrice o alla categoria di appartenenza e ,inoltre,specifica in un ordine di acquisto il numero di copie che è interessato ad acquistare. Nel momento della scelta del prodotto il cliente viene informato se esso è direttamente disponibile oppure se non è ancora presente sul mercato. In tal caso sarà necessario effettuare una preordinazione del videogioco, e nel modulo comparirà la data di uscita del prodotto.  Ogni cliente ha la possibilità di ricevere una carta fedeltà che gli garantisce uno sconto sugli acquisti effettuati; dopo aver ricevuto tale carta verrà applicato uno sconto (per esempio dal momento in cui il cliente acquista il decimo prodotto, gli viene assegnata la carta di fedeltà, da quel momento in poi ad ogni altro acquisto verrà applicato uno sconto del 10%).  I videogiochi venduti possono appartenere a più categorie e sono disposti , all'interno del negozio , in appositi scaffali e sono identificati tramite il proprio titolo .Il negozio tiene traccia di altre informazioni importanti quali: il prezzo di vendita, la piattaforma per la quale è stato sviluppato il prodotto, la sua data di uscita e una sua breve descrizione.  La descrizione del videogioco contiene dettagli riguardanti la trama, l'ambientazione e, in generale, le caratteristiche peculiari che lo distinguono dagli altri videogiochi della stessa categoria.  La casa produttrice del videogioco avrà il nome, l'indirizzo, il telefono e il fax.
  • 5.  Infine vi sarà un unico amministratore il cui ruolo consiste nel gestire tutte le informazioni riguardanti i videogiochi e le case produttrici disponibili nel negozio. Un amministratore del negozio viene identificato tramite un codice identificativo, il nome, il cognome, l'indirizzo della posta elettronica, l'indirizzo, il numero di telefono e infine lo stipendio che gli viene retribuito.  L'amministratore si occupa della suddivisione dei prodotti in disponibili e non, e nel primo caso di assegnare a ogni prodotto il codice di ubicazione del cassetto e dello scaffale di appartenenza. III. Glossario dei termini Entità Descrizione entità Sinonimi Collegamenti Amministratore Amministratore negozio online Responsabile Videogioco Videogioco Videogioco in vendita Videogame Amministratore Descrizione Cassetto CasaProduttrice Cliente Modulo Cliente Cliente del negozio Acquirente Modulo MetodoPagamento Videogioco Fedele Occasionale Fedele Cliente con carta fedeltà Abituale Cliente Occasionale Cliente saltuario Eventuale Cliente Modulo Modello di acquisto Modello Cliente Videogioco MetodoPagamento Scelta pagamento TipoVersamento Cliente CartaCredito Contante Bonifico CartaCredito Pagamento con carta Carta MetodoPagamento Contante Pagamento in contanti Liquido MetodoPagamento Bonifico Pagamento tramite bonifico bancario Accredito MetodoPagamento Descrizione Descrizione videogioco Spiegazione Videogioco Cassetto Cassetto dove di trova il videogioco Tiretto Scaffale Videogioco Scaffale Scaffale dove si trova il videogioco Ripiano Cassetto Casa Produttrice Casa produttrice del videogioco Produttore
  • 6. 2. Progettazione concettuale della base di dati con la produzione di uno schema EntityRelationship (ER/EER)
  • 7. I. Un glossario dei concetti espressi nello schema concettuale l'entità e le relazioni Dizionario dei dati(Entità) Entità Attributo Descrizione Attributo Dominio Amministratore Codice Chiave identificativa entità Varchar(4) Nome Nome dell'amministratore Varchar(15) Cognome Cognome dell'amministratore Varchar(20) Stipendio Stipendio dell'amministratore Float NumTelefono Numero di telefono che possiede l'amministratore Varchar(15) Email Indirizzo di posta elettronica dell'amministratore Varchar(25) Indirizzo Indirizzo dell'abitazione dell'amministratore Varchar(20) Videogioco Titolo Chiave identificativa dell'entità Rappresenta il titolo del prodotto Varchar(35) Categoria Categoria di appartenenza del prodotto Varchar(15) Piattaforma La piattaforma sulla quale gira il videogioco Varchar(25) Prezzo Il prezzo attribuito dal videogioco Float DataUscita La data di uscita del videogioco Date Cliente CodFiscale Chiave identificativa dell'entità Rappresenta il codice fiscale del cliente Varchar(16) Nome Nome del cliente Varchar(15) Cognome Cognome del cliente Varchar(15) NAcquisti Numero di copie acquistate dal cliente Int Fedele NCarta Il numero della carta posseduta dal cliente Varchar(32) Sconto Lo sconto aggiunto all'acquisto del cliente Float Occasionale Modulo Codice Chiave identificativa dell'entità Varchar(4) NCopie Numero di copie del videogioco da acquistare Int Stato Lo stato dell'ordine effettuato Varchar(20) Data La data dell'ordine effettuato Date TotPrezzo Il prezzo totale dell'ordine effettuato Float MetodoPagamento IdPagamento Chiave dell'entità Varchar(4) CartaCredito NumCarta Numero della carta Varchar(32) Cvv Codice di sicurezza della carta utilizzata VarChar(3) Scadenza La data di scadenza della carta utilizzata Date Contante IdRicevuta Ricevuta del pagamento Varchar(12) Bonifico Iban Iban del bonifico Varchar(27) Descrizione Distinzione Chiave identificativa dell'entità caratteristiche peculiari del videogioco Text Ambientazione L'ambientazione del videogioco Text Trama La trama del videogioco Text Cassetto IdCassetto Chiave dell'entità Varchar(4) Scaffale IdScaffale Chiave dell'entità Varchar(4) CasaProduttrice Nome Chiave identificativa dell'entità Varchar(64)
  • 8. Rappresenta il nome della casa produttrice NumTelefono Numero di telefono della casa produttrice Varchar(20) Indirizzo Indirizzo di risiedenza della casa produttrice Varchar(45) Fax Il numero per il fax della casa produttrice Varchar(20) Dizionario dei dati(Relazioni) Relazione Descrizione Relazione Entità Coinvolte Ruolo Entità Cardinalità Gestisce I videogiochi gestiti dall'amministratore Amministratore Amministratore che gestisce il videogioco (1,1) un amministratore gestisce un videogioco Videogioco Videogiochi gestiti dall'amministratore (1,N)uno o più videogiochi sono gestiti da un amministratore Ricerca I videogiochi presenti nel negozio online Cliente Il cliente ricerca il videogioco (1,N)un cliente ricerca più videogiochi Videogioco Il videogioco è ricercati da uno o più clienti (1,N)un videogioco può essere ricercato da uno o più clienti PrenotatoTramite I videogiochi collegati ai moduli dei clienti Modulo Modulo serve a prenotare videogioco (1,N) con un modulo può prenotare uno o più videogiochi Videogioco Il videogioco può essere acquistato da più clienti (1,N)un videogioco può essere acquistato da uno o più clienti Ha Le descrizioni dei videogiochi Descrizione La descrizione fa parte di un solo videogioco (1,1)una descrizione appartiene ad un solo videogioco Videogioco Il videogioco ha una solo descrizione (1,1)un videogioco ha una sola descrizione Creato La casa produttrice che ha creato il videogioco CasaProduttrice La casa produttrice crea il videogioco (1,N)una casa produttrice crea uno o più videogiochi Videogioco Il videogioco viene creato da una solo casa produttrice (1,1)un videogioco può essere creato da una sola casa produttrice Posizionato Dove è posizionato il videogioco nello scaffale Scaffale Nello scaffale viene posizionato il videogioco (1,N) uno scaffale può avere uno o più videogiochi Videogioco Il videogioco è posizionato nello scaffale (1,1)un videogioco può essere posizionato in un solo scaffale Possiede In quale cassetto si trova il videogioco che si trova in uno scaffale Cassetto Il cassetto si trova nello scaffale (1,1)un cassetto si trova in uno scaffale Scaffale Uno scaffale ha più cassetti (1,N)uno scaffale ha uno o più cassetti
  • 9. Compila I moduli compilati dai clienti del negozio Modulo Il modulo viene compilato dal cliente (1,1)un modulo è compilato da un clienti Cliente Il cliente compila uno o più moduli (1,N)un cliente compila uno o più moduli PagaCon Sceglie il metodo di pagamento MetodoPagament o Il metodo di pagamento con cui il cliente paga (1,1)un metodo di pagamento può essere usato da un cliente Cliente (1,N)un cliente può essere usato da uno o più clienti II. Vincoli non esprimibili Vincoli di integrità sui dati(Regole di vincoli) (RV1) un cliente che deve effettuare un acquisto deve identificarsi con il negozio (RV2) un cliente deve indicare il metodo di pagamento (RV3) ogni videogioco deve avere una descrizione Vincoli di derivazione (RD1) il totale prezzo deriva dalla somma dei prezzi dei videogiochi acquistati meno lo sconto 3.Elenco delle procedure per la gestione dei dati
  • 10. memorizzati nel db Tavola dei volumi Concetto Tipo Volume Videogioco E 2000 Amministratore E 30 Descrizione E 2000 CasaProduttrice E 500 Cassetto E 100 Scaffale E 10 Cliente E 400 Modulo E 1500 MetodoPagamento E 150 Gestisce R 30 Ha R 2000 Creato R 2000 Posizionato R 1800 Possiede R 100 PrenotatoTramite R 3000 Compila R 1500 Ricerca R 10000 PagaCon R 150 OPERAZIONI 1. Aggiungere un nuovo cliente (4 volte al mese) 2. Aggiungere un nuovo videogioco (30 volte al mese) 3. Aggiungere una descrizione (30 volte al mese) 4. Aggiungere una casa produttrice (2 volte al mese) 5. Aggiungi videogioco allo scaffale (20 volte al mese) 6. Aggiornare lo stipendio dell'amministratore (1 volta al mese) 7. Aggiungi un nuovo acquisto (1 volta al giorno) 8. Stampare le posizioni di tutti i videogiochi che si trovano in uno scaffale (30 al mese) 9. Aggiornare prezzo videogiochi (2 volte al mese) 10. Stampare il numero di copie acquistate per un cliente (2 volte al giorno) 11. Aggiornare il numero di telefono della casa produttrice (1 volta al mese) 12. Cancellare un cliente (2 volte al mese) 13. Cancellare un videogioco (5 volte al mese) 14.Cancellare una descrizione (5 volte al mese)
  • 11. 15. Stampare i moduli di vendita di ogni cliente(1 volta al giorno) 16. Storico acquisti clienti(2 volte al mese) 17. Stampare la descrizione di un videogioco (4 volte al mese) 18.Stampare tutti i videogiochi che si trovano in uno scaffale (4 volte al mese) 4.Progettazione Logica I. Ristrutturazione dello schema concettuale Analisi Delle Ridondanze All’interno del nostro schema concettuale abbiamo un dato ridondante: Attributo NAcquisti nell’entità Cliente. Le operazioni coinvolte sono : • Operazione 7 : Aggiungere un nuovo acquisto • Operazione 10: Stampare il numero di copie acquistate per un cliente • Operazione 16: Storico acquisti clienti Ristrutturazione Dello Schema: Tavola Delle Operazioni
  • 12. Numero Operazione Tipo Frequenza Operazione 7 I 1/giorno(30/mese) Operazione 10 I 2/giorno(60/mese) Operazione 16 B 2/mese Tavola degli accessi con ridondanza 1.Ridondanza ABBIAMO IPOTIZZATO CHE UN CLIENTE ACQUISTI IN MEDIA 4 VIDEOGIOCHI: Mem(NAcquisti) =4 byte * (dato ridondante) =4 *400 = 1600 byte Un accesso in scrittura vale il doppio di un accesso in lettura. Operazione 7 : Aggiungere un nuovo acquisto(30 volte al mese) Nome Costrutto Accesso Tipo Cliente E 1 S (1S)* 30/mese = 60 accessi/mese; Operazione 10 : Aggiornare il numero di copie acquistate per un cliente (60 volte al mese) Nome Costrutto Accesso Tipo Modulo E 1 L Compila R 1 L Cliente E 1 S Cliente E 1 L (1S+3L)*60/mese = 300 accessi/mese; Operazione 16 : Storico acquisti clienti(2volte al mese) Nome Costrutto Accesso Tipo Cliente E 400 L (400L)*2/mese = 800 accessi/mese IN TOTALE ABBIAMO: 60+300+800=1160 accessi/mese+1600byte
  • 13. Tavola degli accessi senza ridondanza Un accesso in scrittura vale il doppio di un accesso in lettura. Operazione 7 : Aggiungere un nuovo acquisto(30 volte al mese) Nome Costrutto Accesso Tipo Modulo E 1 S Compila R 1 S Cliente E 1 S (3S)* 30/mese = 180 accessi/mese; Operazione 10 : Aggiornare il numero di copie acquistate per un cliente (60 volte al mese) Nome Costrutto Accesso Tipo Modulo E 3 S Compila R 3 S Cliente E 1 S (7S)*60/mese = 840 accessi/mese; Operazione 16 : Storico acquisti clienti(2volte al mese) Nome Costrutto Accesso Tipo Cliente E 400 L Compila R 400 L Modulo E 1500 L (2300L)*2/mese = 4600 accessi/mese IN TOTALE ABBIAMO: 180+840+4600=5620 accessi/mese Infine abbiamo che gli accessi alla base di dati col dato ridondante per mantenerlo aggiornato sono minori rispetto agli accessi senza dato ridondante. Pertanto utilizzeremo il dato ridondante.
  • 14. Tavola Delle Operazioni Numero Operazione Tipo Frequenza Operazione 15 B 1/giorno(30/mese) Tavola degli accessi con ridondanza 2.Ridondanza ABBIAMO IPOTIZZATO CHE UN CLIENTE COMPILI IN MEDIA 3 MODULI QUINDI AVENDO 400 CLIENTI AVREMO 1200 BYTE ACCUPATI Mem(TotPrezzo) =3 byte * (dato ridondante) =3 *400 = 1200 byte Un accesso in scrittura vale il doppio di un accesso in lettura. Operazione 15 : Stampare i moduli di vendita di ogni cliente (1 volta al giorno) Nome Costrutto Accesso Tipo Cliente E 400 L Compila R 400 L Modulo E 1200 L (2000L)* 30/mese = 60000 accessi/mese; IN TOTALE ABBIAMO: 6000 accessi/mese+1200byte
  • 15. Tavola degli accessi senza ridondanza ABBIAMO IPOTIZZATO CHE 1 CLIEJNTE IN MEDIAACQUISTA RICERCA 5 VIDEOGIOCHI Operazione 15 : Stampare i moduli di vendita di ogni cliente (1 volta al giorno) Nome Costrutto Accesso Tipo Cliente E 400 L Ricerca R 400 L Videogioco E 8000 L PrenotatoTramite R 2000 L Modulo R 7500 L (18300L) * 30/mese = 69000 accessi/mese; IN TOTALE ABBIAMO: 69000 accessi/mese Infine abbiamo che gli accessi alla base di dati col dato ridondante per mantenerlo aggiornato sono uguali. Pertanto utilizzeremo il dato ridondante per semplicità di accesso. Eliminazioni Delle Gerarchie All'interno del nostro schema abbiamo le seguenti gerarchie: 1.
  • 16. Eliminiamo questa gerarchia incorporando le entità CartaCredito,Bonifico,Contante e aggiungiamo i loro attributi al padre MetodoPagamento associando un attributo Tipo_P per la scelta del tipo di pagamento. 2. Eliminiamo questa gerarchia incorporando le entità Fedele,Occasionale e aggiungiamo i loro attributi al padre Cliente associando un attributo Tipo_C per la scelta del tipo di cliente:
  • 17. Eliminazione degli attributi multi valore All’interno del nostro schema abbiamo un attributo multi valore: 1. Eliminando l'attributo multi valore dell’Entità AMMINISTRATORE avremo una nuova entità debole chiamata INDIRIZZO che sarà collegata ad AMMINISTRATORE tramite la relazione PRESSO e avrà come chiave parziale Via, gli altri attributi saranno NumeroCivico e Regione:
  • 18. 2. Eliminando l'attributo multi valore dell’Entità CASAPRODUTTRICE avremo una nuova entità debole chiamata INDIRIZZO che sarà collegata a CASAPRODUTTRICE tramite la relazione PRESSO e avrà come chiave parziale Via, gli altri attributi saranno NumeroCivico e Regione:
  • 19. Entità Chiave Decrizione Videogioco Titolo Ogni videogioco è identificato univocamente dal titolo Amministratore Codice Ogni amministratore è identificato univocamente dal codice Decrizione Distinzione Ogni descrizione è identificato univocamente dal distinzione CasaProduttrice Nome Ogni casa produttrice è identificato univocamente dal nome Cliente CodFiscale Ogni cliente è identificato univocamente dal codice fiscale MetodoPagamento IdPagamento Ogni metodo di pagamento è identificato univocamente dall' id pagamento Modulo Codice Ogni modulo è identificato univocamente dal codice Cassetto IdCassetto Ogni cassetto è identificato univocamente dall' id cassetto Scaffale IdScaffale Ogni scaffale è identificato univocamente dall'id scaffale IndirizzoA Codice Ogni indirizzoA è identificato parzialmente dall'attributo Via,ma l'entità, essendo debole, ha come chiave primaria Codice IndirizzoC Nome Ogni indirizzoC è identificato parzialmente dall'attributo Via,ma l'entità, essendo debole,ha come chiave primaria Nome Schema ristrutturato
  • 20. II. Traduzione dello schema concettuale ristrutturato (Mapping) Videogioco ( Titolo, Piattaforma,Prezzo, Categoria,DataUscita, CasaProduttrice ↑, Scaffale↑, Amministratore↑ ) Descrizione ( Distinzione, Ambientazione, Trama ,Videogioco↑) CasaProduttrice ( Nome, NumTelefono, Fax ) Cassetto ( IdCassetto, Scaffale ↑) Scaffale ( IdScaffale ) IndirizzoC (Via, Regione, NumeroCivico, CasaProduttrice ↑ ) Amministratore ( Codice, Nome, Cognome, Stipendio, Email, NumTelefono) IndirizzoA ( Via, Regione, NumeroCivico, Amministratore ↑ ) Cliente ( CodFiscale, Nome, Cognome, NCarta, Sconto, NAcquisti, Tipo_C ) Ricerca ( Cliente ↑ , Videogioco ↑ ) MetodoPagamento( IdPagamento,NumCarta, Scadenza,Tipo_P, Iban,Ccv, IdRicevuta, Cliente ↑ ) Modulo ( Codice, NCopie, Stato, Data, TotPrezzo, Cliente ↑ ) PrenotatoTramite ( Modulo ↑ , Cliente ↑ )
  • 21. Vincoli di integrità referenziale( )↑  CasaProduttrice in Videogioco è la chiave Nome in CasaProduttrice  Descrizione in Videogioco è la chiave Distinzione in Descrizione  Cassetto in Videogioco è la chiave IdCassetto in Cassetto  Scaffale in Cassetto è la chiave IdScaffale in Scaffale  CasaProduttrice in IndirizzoC è la chiave Nome in CasaProduttrice  Videogioco in Amministratore è la chiave Titolo in Videogioco  Amministratore in IndirizzoA è la chiave Codice in Amministratore  Cliente in Ricerca è la chiave CodFiscale in Cliente  Videogioco in Ricerca è la chiave Titolo in Videogioco  Cliente in MetodoPagamento è la chiave CodFiscale in Cliente  Cliente in Modulo è la chiave CodFiscale in Cliente  Modulo in PrenotatoTramite è la chiave Codice in Modulo  Cliente in PrenotatoTramite è la chiave CodFiscale in Cliente 5.Realizzazione della basi di dati utilizzando MySQL Creazione dello schema -- ----------------------------------------------------- -- Schema Negozio_Videogiochi -- ----------------------------------------------------- CREATE SCHEMA Negozio_Videogiochi USE Negozio_Videogiochi ; Creazione delle tabelle ------------------------------------------------------- -- Tabella Cliente -- ------------------------------------------------------- CREATE TABLE Cliente ( CodFiscale VARCHAR(16) NOT NULL, NCarta VARCHAR(32), Sconto FLOAT(2,0), Tipo_C VARCHAR(11) NOT NULL, Nome VARCHAR(15) NOT NULL, Cognome VARCHAR(15) NOT NULL, NAcquisti INT(11) NOT NULL, PRIMARY KEY (CodFiscale), )
  • 22. ------------------------------------------------------- -- Tabella MetodoPagamento -- ------------------------------------------------------- CREATE TABLE MetodoPagamento( IdPagamento VARCHAR(4) NOT NULL AUTO INCREMENT, IdRicevuta VARCHAR(12), Cvv VARCHAR(3), Iban VARCHAR(27), Tipo_P VARCHAR(20) NOT NULL, Scadenza DATE, NumCarta VARCHAR(15), CodFiscale_Cliente VARCHAR(45) , PRIMARY KEY (IdPagamento), UNIQUE INDEX IdPagamento (IdPagamento ASC), INDEX CodFiscale_Cliente_idx ( CodFiscale_Cliente ASC), CONSTRAINT CodFiscale_Cliente FOREIGN KEY (CodFiscale_Cliente) REFERENCES Negozio_Videogiochi.Cliente (CodFiscale) ) -- ----------------------------------------------------- -- Tabella Modulo -- -- ----------------------------------------------------- CREATE TABLE Modulo( Codice VARCHAR(4) NOT NULL AUTO INCREMENT, NCopie INT NOT NULL, Stato VARCHAR(20) NOT NULL, Data DATE NOT NULL, TotPrezzo FLOAT(6,2) NOT NULL, CodFiscale_Cliente VARCHAR(45), PRIMARY KEY (Codice), UNIQUE INDEX Codice (Codice ASC), INDEX CodFiscale_Cliente_idx (CodFiscale_Cliente ASC), CONSTRAINT CodFiscale_Cliente FOREIGN KEY (CodFiscale_Cliente) REFERENCES Negozio_Videogiochi.Cliente (CodFiscale) )
  • 23. -- ----------------------------------------------------- -- Tabella Descrizione -- -- ----------------------------------------------------- CREATE TABLE Descrizione ( Videogioco_Titolo VARCHAR(35) NOT NULL, Distinzione Text NOT NULL, Trama Text NOT NULL, Ambientazione Text NOT NULL, PRIMARY KEY (Videogioco_Titolo), INDEX fk_Descrizione_Videogioco1_idx(Videogioco_TitoloASC), CONSTRAINT fk_Descrizione_Videogioco1 FOREIGN KEY (Videogioco_Titolo) REFERENCES negozio_videogiochi.videogioco(`Titolo) ) -- ----------------------------------------------------- -- Tabella CasaProduttrice -- -- ----------------------------------------------------- CREATE TABLE CasaProduttrice( Nome VARCHAR(64) NOT NULL, NumTelefono VARCHAR(20) NOT NULL, Fax VARCHAR(20) NOT NULL, PRIMARY KEY (Nome), UNIQUE INDEX Nome (Nome ASC) ) -- ----------------------------------------------------- -- Tabella Scaffale -- -- ----------------------------------------------------- CREATE TABLE Scaffale ( IdScaffale VARCHAR(4) NOT NULL, PRIMARY KEY (IdScaffale), UNIQUE INDEX IdScaffale (IdScaffale ASC) ) -- ----------------------------------------------------- -- Tabella Cassetto -- -- ----------------------------------------------------- CREATE TABLE Cassetto ( IdCassetto VARCHAR(4), NOT NULL, IdScaffale_Scaffale VARCHAR(4), PRIMARY KEY (IdCassetto, IdScaffale_Scaffale), INDEX IdScaffale_Scaffale_idx (IdScaffale_Scaffale ASC), CONSTRAINT fkIdScaffale_Scaffale
  • 24. FOREIGN KEY (IdScaffale_Scaffale) REFERENCES Negozio_Videogiochi.Scaffale (IdScaffale) ) -- ----------------------------------------------------- -- Tabella Videogioco -- -- ----------------------------------------------------- CREATE TABLE Videogioco ( Titolo VARCHAR(35) NOTNULL, Piattaforma VARCHAR(25) NOT NULL, Prezzo FLOAT NOT NULL, DataUscita DATE NOT NULL, Categoria VARCHAR(15) NOT NULL, Nome_CasaProduttrice VARCHAR(64) , IdScaffale_Scaffale VARCHAR(4), PRIMARY KEY (Titolo), UNIQUE INDEX Titolo (Titolo ASC), INDEX Nome_CasaProduttrice_idx (Nome_CasaProduttrice ASC), INDEX Codice_Amministratore_idx (Codice_Amministratore ASC), INDEX fk_Videogioco_Scaffale1_idx (Scaffale_IdScaffale ASC), CONSTRAINT fkCodice_Amministratore FOREIGN KEY (Codice_Amministratore) REFERENCES negozio_videogiochi.amministratore (Codice) CONSTRAINT fkNome_CasaProduttrice FOREIGN KEY (Nome_CasaProduttrice) REFERENCES negozio_videogiochi.casaproduttrice (Nome) CONSTRAINT fk_Videogioco_Scaffale1 FOREIGN KEY (Scaffale_IdScaffale) REFERENCES negozio_videogiochi.scaffale(IdScaffale) ) -- ----------------------------------------------------- -- Tabella Amministratore -- -- ----------------------------------------------------- CREATE TABLE Amministratore ( Codice VARCHAR(4) NOT NULL, NumTelefono VARCHAR(15) NOT NULL, Stipendio FLOAT NOT NULL, Email VARCHAR(25) NOT NULL, Nome VARCHAR(15) NOT NULL, Cognome VARCHAR(20) NOT NULL, PRIMARY KEY (Codice), ) -- ----------------------------------------------------- -- Tabella IndirizzoA --
  • 25. -- ----------------------------------------------------- CREATE TABLE IndirizzoA ( Via VARCHAR(30) NOT NULL, Regione VARCHAR(45) NOT NULL, NumeroCivico VARCHAR(4) NOT NULL, Codice_Amministratore VARCHAR(4), PRIMARY KEY (Codice_Amministratore), CONSTRAINT fk_IndirizzoA_Amministratore1, FOREIGN KEY (Codice_Amministratore) REFERENCES Negozio_Videogiochi.Amministratore (Codice) ) -- ----------------------------------------------------- -- Tabella IndirizzoC -- -- ----------------------------------------------------- CREATE TABLE IndirizzoC ( Via VARCHAR(30) NOT NULL, Regione VARCHAR(20) NOT NULL, NumeroCivico INT NOT NULL, Nome_CasaP VARCHAR(65), PRIMARY KEY (Nome_CasaP), CONSTRAINT fk_Nome_CasaP, FOREIGN KEY (Nome_CasaP) REFERENCES Negozio_Videogiochi.CasaProduttrice (Nome) ) -- ----------------------------------------------------- -- Tabella Ricerca -- -- ----------------------------------------------------- CREATE TABLE Ricerca ( Cliente_CodFiscale VARCHAR(16) NOT NULL, Videogioco_Titolo VARCHAR(20) NOT NULL, PRIMARY KEY (Cliente_CodFiscale, Videogioco_Titolo), INDEX Videogioco_Titolo _idx(Videogioco_Titolo ASC), INDEX Cliente_CodFiscale (Cliente_CodFiscale ASC), UNIQUE INDEX Cliente_CodFiscale (Cliente_CodFiscale ASC), UNIQUE INDEX Videogioco_Titolo (Videogioco_Titolo ASC), CONSTRAINT Cliente_CodFiscale FOREIGN KEY (Cliente_CodFiscale) REFERENCES Negozio_Videogiochi.Cliente (CodFiscale) CONSTRAINT Videogioco_Titolo FOREIGN KEY (Videogioco_Titolo) REFERENCES Negozio_Videogiochi.Videogioco (Titolo) ) -- ----------------------------------------------------- -- Tabelle PrenotatoTramite --
  • 26. -- ----------------------------------------------------- CREATE TABLE PrenotatoTramite ( Modulo_Codice VARCHAR(4) NOT NULL, Videogioco_Titolo VARCHAR(20) NOT NULL, PRIMARY KEY (Modulo_Codice , Videogioco_Titolo), INDEX Videogioco_Titolo _idx (Videogioco_Titolo ASC), INDEX Modulo_Codice _idx (Modulo_Codice ASC), UNIQUE INDEX Modulo_Codice (Modulo_Codice ASC), UNIQUE INDEX Videogioco_Titolo (Videogioco_Titolo ASC), CONSTRAINT Modulo_Codice FOREIGN KEY (Modulo_Codice) REFERENCES Negozio_Videogiochi.Modulo(Codice) CONSTRAINT Videogioco_Titolo FOREIGN KEY (Videogioco_Titolo) REFERENCES Negozio_Videogiochi.Videogioco(Titolo) ) -- ----------------------------------------------------- -- Inserimento valori tabella Amministratore -- -- ----------------------------------------------------- INSERT INTO `Amministratore` (`Codice`,`NumTelefono`,`Stipendio`,`Email`,`Nome`,`Cognome`,`Titolo_Videogioco`) VALUES (1,'3474572123',2000,'robertomagno@gmail.com','Roberto','Magno',NULL); -- ----------------------------------------------------- -- Inserimento valori tabella Amministratore -- -- ----------------------------------------------------- 7. Implementazione delle interrogazioni SQL (Query)  Aggiungere un nuovo cliente INSERT INTO `cliente` (`CodFiscale`,`NCarta`,`Sconto`,`Tipo_C`,`Nome`,`Cognome`,`NAcquisti`) VALUES ('DRGMRA89L17H150S ','O32F',10,'Fedele','Mario','Draghini',3);  Aggiungere un nuovo videogioco INSERT INTO `videogioco` (`Titolo`,`DataUscita`,`Categoria`,`Nome_CasaProduttrice`,`Piattaforma`,`Prezzo`,`Co dice_Amministratore`,`Scaffale_IdScaffale`) VALUES ('The Legend of Zelda: The WindWaker HD','2013-10- 29','Avventura','Nintendo','Wii-U',54.99,'1','000A');
  • 27.  Aggiungere una descrizione INSERT INTO `Descrizione` (`Videogioco_Titolo`,`Distinzione`,`Trama`,`Ambientazione`) VALUES ('The Legend of Zelda: The WindWaker HD','Nel corso del Nintendo Direct del 23 gennaio 2013, dedicato ai giochi sviluppati da Nintendo in uscita per Wii-U, il director della saga Eiji Aonuma ha mostrato alcune immagini dell'isola Taura in HD e i modelli poligonali di Link e Dazel, annunciando che sono in corso i lavori di sviluppo di un remake HD del gioco per Wii-U. ','Link va per il mondo','Il mondo di Zelda');  Aggiungere una casa produttrice INSERT INTO `casaproduttrice` (`Nome`,`NumTelefono`,`Fax`) VALUES ('Bungie','410-555-0325','1-410-555-0325');  Aggiungi un nuovo acquisto INSERT INTO `modulo` (`Codice`,`NCopie`,`Stato`,`Data`,`TotPrezzo`,`Cliente_CodFiscale`) VALUES ('0001',5,'prenotato','2014-06-11',0,'RSSDVD92M10A717C');  Stampare le posizioni di tutti i videogiochi che si trovano in uno scaffale SELECT * FROM Videogioco WHERE Scaffale_IdScaffale = "000A"  Aggiornare prezzo videogiochi UPDATE Videogioco SET Prezzo = 59.99 WHERE Titolo = “Assassin's Creed IV [PC]” and Titolo = “Halo 4 [X360]”
  • 28.  Stampare il numero di copie acquistate per un cliente SELECT NCopie FROM Modulo, Cliente WHERE Cliente.CodFiscale = Modulo.Cliente_CodFiscale AND Cliente.CodFiscale = "RSSDVD92M10A717C"  Cancellare un cliente DELETE FROM Cliente WHERE CodFiscale = “LRTNTN87B56D452N”  Cancellare un videogioco DELETE FROM Videogioco WHERE Titolo = “Mario Kart 8”  Stampare nome della casa produttrice e titolo, prezzo e data di uscita dei relativi giochi SELECT Nome_CasaProduttrice, Titolo, Prezzo, DataUscita FROM casaproduttrice INNER JOIN videogioco ON videogioco.Nome_CasaProduttrice = casaproduttrice.Nome;
  • 29.  Stampare codice fiscale ,nome,cognome dei clienti che hanno ricercato Halo 4[ X360] SELECT CodFiscale,Nome,Cognome FROM cliente,videogioco,ricerca WHERE videogioco.Titolo = 'Halo 4 [X360]' AND cliente.CodFiscale=ricerca.Cliente_CodFiscale AND ricerca.Videogioco_Titolo=Videogioco.Titolo  Stampare titolo e categoria dei videogiochi con prezzo maggiore della media di tutti i prezzi SELECT Titolo, Categoria FROM Videogioco WHERE Prezzo > (SELECT AVG(Prezzo) FROM Videogioco)  Stampare cognome e nome dei clienti che hanno un modulo con all'interno il numero di copie pari a 5 e 2 SELECT Cognome, Nome FROM Cliente, Modulo WHERE Cliente.CodFiscale = Modulo.Cliente_CodFiscale AND Modulo.Codice IN (SELECT Codice FROM Modulo WHERE (NCopie = 5 OR NCopie = 2))
  • 30.  Stampare nome, cognome, codice fiscale e numero di giochi acquistati SELECT Nome , Cognome , CodFiscale , count(*) FROM Ricerca, Cliente WHERE Ricerca.Cliente_CodFiscale = Cliente.CodFiscale GROUP BY CodFiscale  Per ogni gioco acquistato stampare titolo, prezzo e numero di copie acquistate non infieriori a 2 SELECT Titolo , Prezzo , count(*) FROM Ricerca, Videogioco WHERE Ricerca.Videogioco_Titolo = Videogioco.Titolo GROUP BY Titolo HAVING count(*) >= 2  Stampare il prezzo totale per ogni cliente SELECT CodFiscale, Nome, Cognome, Ncopie, SUM(Prezzo) AS TotPrezzo FROM Cliente, Modulo, PrenotatoTramite,Videogioco WHERE Cliente.CodFiscale = Modulo.Cliente_CodFiscale AND Modulo.Codice = PrenotatoTramite.Modulo_Codice AND PrenotatoTramite.Videogioco_Titolo = Videogioco.Titolo GROUP BY CodFiscale
  • 31.  Stampare nome e cognome dei clienti che hanno comprato Pokemon Y e che hanno pagato con carta di credito SELECT Nome , Cognome FROM Cliente, MetodoPagamento, Modulo, PrenotatoTramite WHERE MetodoPagamento.Tipo_P = 'Carta di Credito' AND PrenotatoTramite.Videogioco_Titolo IN (SELECT Titolo FROM videogioco WHERE Videogioco.Titolo ="Pokemon Y") AND Cliente.CodFiscale = MetodoPagamento.CodFiscale_Cliente AND Cliente.CodFiscale = Modulo.Cliente_CodFiscale AND Modulo.Codice = PrenotatoTramite.Modulo_Codice  Stampare i titoli e data uscita delle case produttrici del Maryland con rispettivi nome,via,numero civico e il numero di copie vendute SELECT Titolo, Nome_CasaProduttrice, DataUscita, Via, NumeroCivico , count(*) as NumCopie FROM videogioco, casaproduttrice, indirizzoc, prenotatotramite WHERE YEAR(videogioco.DataUscita) = 2013 AND indirizzoc.Regione = 'Maryland' AND indirizzoc.Nome_CasaP = casaproduttrice.Nome AND videogioco.Nome_CasaProduttrice = casaproduttrice.Nome AND prenotatotramite.Videogioco_Titolo = videogioco.Titolo GROUP BY prenotatotramite.Videogioco_Titolo