Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

Problema - Progettazione concettuale - Progettazione logica

informatica



Problema


Si vuole progettare la base di dati del campionato di Serie A di calcio 2006-07. Di ogni squadra interessa il nome, la città, i colori sociali e lo sponsor. Ogni squadra è composta da un determinato numero di giocatori di cui si vuole memorizzare numero di tessera, nome, cognome, data di nascita, nazionalità, ruolo e numero; degli allenatori invece interessa numero di tessera, nome, cognome, data di nascita, nazionalità, modulo preferito e reputazione. Di ogni membro di una squadra inoltre si vuole tenere traccia dei dati relativi alla sua carriera, in particolare presenze in Serie A e gol (solo per i giocatori attuali), aggiornate fino alla stagione 2005-06. Per ogni giocatore, inoltre, interessa memorizzare gli eventuali trofei da lui conquistati in carriera; per le squadre, invece, si vogliono registrare i titoli conquistati e l'anno della relativa vittoria. I giocatori possono trasferirsi da un 818d32i a squadra all'altra durante il campionato, per cui interessa anche fornire l'eventuale costo e data del trasferimento di un calciatore da una squadra ad un'altra. Di ogni partita si vuole memorizzare il codice identificativo, le due squadre che l'hanno disputata, la giornata e il risultato finale. Interessano infine il minuto e il giocatore coinvolto negli eventi salienti di un incontro, oltre alla prestazione di tutti i giocatori in una partita, ovvero voto, ammonizioni ed espulsioni ottenute.




Progettazione concettuale




Il modello E-R scelto per la concettualizzazione del problema è quello riportato in figura 1. Note sulla stesura dello schema:


  • gli attributi comuni di giocatori e allenatori suggeriscono di creare una gerarchia totale composta da un'entità padre, chiamata Tesserato, e dalle due entità figlie, Allenatore e Giocatore, che hanno i loro attributi esclusivi;

  • l'attributo presenze di Tesserato indica le presenze in serie A per i giocatori e le partite allenate in serie A per gli allenatori;

  • il Trasferimento può essere modellato come relazione tra squadre e giocatore; tuttavia si è preferito creare un'entità che tenga conto delle possibili ripetizioni (seppur rare) delle parti in causa nel trasferimento;

  • gli eventi salienti di una partita sono stati concettualizzati come un'entità avente come chiave Giocatore, Partita e minuto; l'attributo tipo identifica il tipo di evento (gol,  occasione da rete o autogol).



Progettazione logica


Eliminazione delle generalizzazioni


L'unica gerarchia presente è stata eliminata attraverso la soluzione separatista, che semplifica tutte le operazioni relative alle entità figlie, le cui relazioni sono maggiori rispetto a quelle dell'entità padre. Per questo motivo la relazione tra Tesserato e Squadra viene sdoppiata in due relazioni con le entità figlie (Fig. 2).

Fig. 1


Ridondanze, attributi multivalore, accoppiamenti o separazioni


Non sono stati riscontrati ridondanze, attributi multivalore e accoppiamenti o separazioni.



Fig. 2


Schema relazionale


GIOCATORE (TESSERA, DATA_NASCITA, NOME, COGNOME, SQUADRA, NAZIONALITA, RUOLO, NUMERO, PRESENZE, GOL_TOTALI);

ALLENATORE (TESSERA, DATA_NASCITA, NOME, COGNOME, SQUADRA, NAZIONALITA, MODULO, REPUTAZIONE, PRESENZE);

SQUADRA (NOME, COLORI_SOCIALI, CITTA, SPONSOR);

TROFEO (NOME, IMPORTANZA);

CARRIERA (GIOCATORE, TROFEO, NUMERO_VITTORIE);

TRASFERIMENTO (GIOCATORE, DATA, DA_SQUADRA, A_SQUADRA, COSTO);

PARTITA (ID, SQ_CASA, SQ_TRASFERTA, GIORNATA, GOL_CASA, GOL_TRASFERTA, PUNTI_CASA, PUNTI_TRASFERTA);

TITOLO (TROFEO, ANNO, SQUADRA);

EVENTO (GIOCATORE, PARTITA, MINUTO, TIPO);

PRESTAZIONE (GIOCATORE, PARTITA, VOTO, AMMONIZIONE, ESPULSIONE);


GIOCATORE(SQUADRA) C SQUADRA(NOME)

ALLENATORE(SQUADRA) C SQUADRA(NOME)

CARRIERA(GIOCATORE) C GIOCATORE(TESSERA)

CARRIERA(TROFEO) C TROFEO(NOME)

TRASFERIMENTO(GIOCATORE) C GIOCATORE(TESSERA)

TRASFERIMENTO(DA_SQUADRA) C SQUADRA(NOME)

TRASFERIMENTO(A_SQUADRA) C SQUADRA(NOME)

PARTITA(SQ_CASA) C SQUADRA(NOME)

PARTITA(SQ_TRASFERTA) C SQUADRA(NOME)

TITOLO(TROFEO) C TROFEO(NOME)

TITOLO(SQUADRA) C SQUADRA(NOME)

EVENTO(GIOCATORE) C GIOCATORE(TESSERA)

EVENTO(PARTITA) C PARTITA(ID)

PRESTAZIONE(GIOCATORE) C GIOCATORE(TESSERA)

PRESTAZIONE(PARTITA) C PARTITA(ID)


Note:

  • Gli attributi GIOCATORE(SQUADRA) e ALLENATORE(SQUADRA) derivano dall'assorbimento della relazione Appartenenza.
  • Le relazioni Carriera e Prestazione diventano due tabelle.
  • Le entità Trasferimento e Partita assorbono le relative relazioni con Squadra e Giocatore.



Traduzione in SQL


create table Squadra


nome varchar(20) primary key,

citta varchar(20),

sponsor varchar(20),

colori_sociali varchar(20)



create table Giocatore


tessera char(5) primary key,

squadra varchar(20) references Squadra(nome),

numero int check (numero>=1 and numero<=99),

nome varchar(20),

cognome varchar(20),

data_nascita date,

ruolo char,

nazionalita char(3),

presenze int,

gol_totali int



create table Allenatore


tessera char(5) primary key,

squadra varchar(20) references Squadra(nome),

nome varchar(20),

cognome varchar(20),

data_nascita date,

modulo varchar(10),

nazionalita char(3),

presenze int,

reputazione varchar(20)



create table Trofeo


nome varchar(20) primary key,

importanza int check (importanza>=1 and importanza<=18)



create table Carriera


giocatore char(5) references Giocatore(tessera) on delete cascade,

trofeo varchar(20) references Trofeo(nome),

numero_vittorie int check (numero_vittorie>=1),

primary key (giocatore, trofeo)



create table Trasferimento


giocatore char(5) references Giocatore(tessera),

data date,

da_squadra varchar(20) references Squadra(nome) not null,

a_squadra varchar(20) references Squadra(nome) not null,

costo numeric (4,2), /* in milioni di euro */

primary key (giocatore, data)



create domain punti as int check (value=0 or value=1 or value=3);


create table Partita


ID char(3) primary key,

giornata int check (giornata>=1 and giornata<=38),

sq_casa varchar(20) references Squadra(nome),

sq_trasferta varchar(20) references Squadra(nome),

gol_casa int,

gol_trasferta int,

punti_casa punti,

punti_trasferta punti



create table Titolo


trofeo varchar(20) references Trofeo(nome),

anno int,

squadra varchar(20) references Squadra(nome),

primary key (trofeo, anno)




create table Evento


partita char(3) references Partita(ID),

minuto int check (minuto>=1 and minuto<=100),

giocatore char(5) references Giocatore(tessera),

tipo varchar(20),

primary key (partita, minuto, giocatore)



create table Prestazione


giocatore char(5) references Giocatore(tessera),

partita char(3) references Partita(ID),

voto int check (voto>=1 and voto<=10),

ammonizione boolean default false,

espulsione boolean default false,

primary key (giocatore, partita)



insert into Squadra values('Juventus','Torino','Tamoil','Bianconero');

insert into Giocatore values('J0001','Juventus',1,'Gianluigi','Buffon','21-JAN-1978','P','ITA',251,0);

insert into Giocatore values('J0003','Juventus',3,'Giorgio','Chiellini','14-AUG-1984','D','ITA',23,1);

insert into Giocatore values('J0014','Juventus',14,'Federico','Balzaretti','06-DEC-1981','D','ITA',9,0);

insert into Giocatore values('J0027','Juventus',27,'Jonathan','Zebina','19-JUL-1978','D','FRA',58,2);

insert into Giocatore values('J0030','Juventus',30,'Nicola','Legrottaglie','20-OCT-1976','D','ITA',39,0);

insert into Giocatore values('J0009','Juventus',9,'Cristiano','Zanetti','10-APR-1977','C','ITA',95,3);

insert into Giocatore values('J0008','Juventus',8,'Giuliano','Giannichedda','21-SEP-1974','C','ITA',144,2);

insert into Giocatore values('J0011','Juventus',11,'Pavel','Nedved','30-AUG-1972','C','CZE',212,43);

insert into Giocatore values('J0016','Juventus',16,'Mauro German','Camoranesi','04-OCT-1976','C','ITA',113,19);

insert into Giocatore values('J0010','Juventus',10,'Alessandro','Del Piero','09-NOV-1974','A','ITA',381,201);

insert into Giocatore values('J0017','Juventus',17,'David','Trezeguet','15-OCT-1977','A','FRA',115,77);

insert into Giocatore values('J0012','Juventus',12,'Antonio','Mirante','15-MAY-1979','P','ITA',11,0);

insert into Giocatore values('J0013','Juventus',13,'Marco','Marchionni','25-OCT-1981','C','ITA',45,12);

insert into Giocatore values('J0019','Juventus',19,'Valeri','Bojinov','15-SEP-1987','A','BUL',85,41);


insert into Squadra values('Milan','Milano','Bwin','Rossonero');

insert into Giocatore values('M0001','Milan',1,'Nelson','Dida','07-OCT-1973','P','BRA',134,0);

insert into Giocatore values('M0002','Milan',2,'Marcos','Cafu','07-JUN-1970','D','BRA',134,0);

insert into Giocatore values('M0003','Milan',3,'Paolo','Maldini','26-JUN-1968','D','ITA',522,26);

insert into Giocatore values('M0013','Milan',13,'Alessandro','Nesta','19-MAR-1976','D','ITA',322,6);

insert into Giocatore values('M0018','Milan',18,'Marek','Jankulovski','09-MAY-1977','D','CZE',98,8);

insert into Giocatore values('M0008','Milan',8,'Gennaro','Gattuso','09-JAN-1978','C','ITA',222,2);

insert into Giocatore values('M0010','Milan',10,'Clarence','Seedorf','01-APR-1976','C','OLA',182,31);

insert into Giocatore values('M0021','Milan',21,'Andrea','Pirlo','19-MAY-1979','C','ITA',143,30);

insert into Giocatore values('M0022','Milan',22,'Ricardo','Kaka','22-APR-1982','C','BRA',119,41);

insert into Giocatore values('M0011','Milan',11,'Alberto','Gilardino','05-JUL-1982','A','ITA',156,77);

insert into Giocatore values('M0012','Milan',12,'Marco','Storari','22-SEP-1974','P','ITA',100,0);

insert into Giocatore values('M0099','Milan',99,NULL,'Ronaldo','22-SEP-1976','A','BRA',164,81);

insert into Giocatore values('M0025','Milan',25,'Stefano','Brocchi','22-JUL-1986','C','ITA',64,1);

insert into Giocatore values('M0007','Milan',7,'Ricardo','Oliveira','2-Jan-1980','A','BRA',14,2);


insert into Squadra values('Inter','Milano','Pirelli','Neroazzurro');

insert into Giocatore values('I0012','Inter',12,'Julio','Cesar','03-SEP-1979','P','BRA',47,0);

insert into Giocatore values('I0016','Inter',16,'Nicolas','Burdisso','12-APR-1981','D','ARG',43,1);

insert into Giocatore values('I0002','Inter',2,'Ivan','Cordoba','11-AUG-1976','D','COL',112,4);

insert into Giocatore values('I0023','Inter',23,'Marco','Materazzi','19-AUG-1973','D','ITA',178,29);

insert into Giocatore values('I0004','Inter',4,'Javier','Zanetti','10-AUG-1973','D','ARG',278,6);

insert into Giocatore values('I0019','Inter',19,'Esteban','Cambiasso','18-AUG-1980','C','ARG',69,5);

insert into Giocatore values('I0007','Inter',7,'Luis','Figo','04-NOV-1972','C','POR',40,3);

insert into Giocatore values('I0005','Inter',5,'Dejan','Stankovic','11-SEP-1978','C','SER',100,20);

insert into Giocatore values('I0014','Inter',14,'Patrick','Vieira','23-JUN-1976','C','FRA',31,3);

insert into Giocatore values('I0010','Inter',10,'Leite','Adriano','17-FEB-1982','A','BRA',81,45);

insert into Giocatore values('I0008','Inter',8,'Zlatan','Ibrahimovic','03-OCT-1981','A','SWE',61,23);

insert into Giocatore values('I0001','Inter',1,'Francesco','Toldo','03-MAY-1971','P','ITA',261,0);

insert into Giocatore values('I0015','Inter',15,NULL,'Maicon','03-OCT-1982','D','BRA',0,0);

insert into Giocatore values('I0009','Inter',9,'Julio','Cruz','13-FEB-1975','A','ARG',61,33);


insert into Squadra values('Udinese','Udine','Gaudi','Bianconero');

insert into Giocatore values('U0001','Udinese',1,'Morgan','Desantis','26-MAR-1977','P','ITA',37,0);

insert into Giocatore values('U0019','Udinese',19,'Da Silva','Felipe','31-JUL-1984','D','BRA',12,1);

insert into Giocatore values('U0014','Udinese',14,'Cesare','Natali','05-APR-1979','D','ITA',37,0);

insert into Giocatore values('U0002','Udinese',2,'Cristian','Zapata','30-SEP-1986','D','BRA',1,0);

insert into Giocatore values('U0003','Udinese',3,'Damiano','Zenoni','23-APR-1977','D','ITA',37,0);

insert into Giocatore values('U0011','Udinese',11,'Sulley','Muntari','27-AUG-1984','C','GHA',56,3);

insert into Giocatore values('U0005','Udinese',5,'Christian','Obodo','11-MAY-1984','C','NIG',45,0);

insert into Giocatore values('U0008','Udinese',8,'Gianpiero','Pinzi','11-MAR-1981','C','ITA',37,0);

insert into Giocatore values('U0018','Udinese',18,'Gyan','Asamoah','22-NOV-1985','A','GHA',0,0);

insert into Giocatore values('U0010','Udinese',10,'Antonio','Di Natale','13-OCT-1977','A','ITA',37,10);

insert into Giocatore values('U0009','Udinese',9,'Vincenzo','Iaquinta','21-NOV-1979','A','ITA',47,20);


insert into Squadra values('Roma','Roma',NULL,'Giallorosso');

insert into Giocatore values('R0001','Roma',32,NULL,'Doni','03-SEP-1979','P','BRA',45,0);

insert into Giocatore values('R0002','Roma',77,'Marco','Cassetti','29-MAY-1977','D','ITA',49,0);

insert into Giocatore values('R0003','Roma',21,'Matteo','Ferrari','12-MAY-1979','D','ITA',49,0);

insert into Giocatore values('R0004','Roma',13,'Cristian','Chivu','26-OCT-1980','D','ROM',49,4);

insert into Giocatore values('R0005','Roma',5,'Philippe','Mexes','30-MAR-1982','D','FRA',32,0);

insert into Giocatore values('R0006','Roma',7,'David','Pizarro','09-NOV-1979','C','CHI',69,9);

insert into Giocatore values('R0007','Roma',20,'Simone','Perrotta','17-SEP-1977','C','ITA',149,14);

insert into Giocatore values('R0008','Roma',16,'Daniele','De Rossi','24-JUL-1983','C','ITA',49,7);

insert into Giocatore values('R0009','Roma',11,'Rodrigo','Taddei','06-MAR-1980','C','BRA',49,4);

insert into Giocatore values('R0010','Roma',10,'Francesco','Totti','27-SEP-1976','A','ITA',249,112);

insert into Giocatore values('R0011','Roma',30,'Amantino','Mancini','08-JAN-1980','A','BRA',116,46);

insert into Giocatore values('R0012','Roma',27,'Marco','Tonetto','08-JAN-1980','D','ITA',116,6);

insert into Giocatore values('R0013','Roma',9,'Mirko','Vucinic','08-MAR-1984','A','SER',46,16);


insert into Squadra values('Palermo','Palermo',NULL,'Rosanero');

insert into Giocatore values('P0001','Palermo',32,'Alberto','Fontana','23-JAN-1967','P','ITA',98,1);

insert into Giocatore values('P0002','Palermo',2,'Cristian','Zaccardo','21-DEC-1981','D','ITA',98,1);

insert into Giocatore values('P0003','Palermo',43,'Andrea','Barzagli','05-MAY-1981','D','ITA',78,1);

insert into Giocatore values('P0004','Palermo',21,'Giuseppe','Biava','08-MAY-1977','D','ITA',58,1);

insert into Giocatore values('P0005','Palermo',32,'Ciro','Capuano','10-JUL-1981','D','ITA',18,1);

insert into Giocatore values('P0006','Palermo',4,'Giovanni','Tedesco','13-MAY-1972','C','ITA',98,1);

insert into Giocatore values('P0007','Palermo',5,'Eugenio','Corini','30-JUL-1970','C','ITA',118,1);

insert into Giocatore values('P0008','Palermo',8,'Aimo','Diana','02-JAN-1978','C','ITA',98,12);

insert into Giocatore values('P0009','Palermo',23,'Mark','Bresciano','11-FEB-1980','C','AUS',78,12);

insert into Giocatore values('P0010','Palermo',11,'Carvalho','Amauri','03-JUN-1980','A','BRA',49,15);

insert into Giocatore values('P0011','Palermo',17,'David','Di Michele','06-JAN-1976','A','ITA',98,19);

insert into Giocatore values('P0012','Palermo',9,'Andrea','Caracciolo','06-JAN-1986','A','ITA',48,19);


insert into Squadra values('Ajax','Amsterdam',NULL,'BiancoArancio');

insert into Squadra values('Real Madrid','Madrid','Banca Espana','Bianchi');


insert into Allenatore values('J000A','Juventus','Didier','Deschamps','21-JAN-1968','4-4-2','FRA',0,'Nazionale');

insert into Allenatore values('M000A','Milan','Carlo','Ancelotti','21-MAY-1967','4-4-2','ITA',269,'Mondiale');

insert into Allenatore values('I000A','Inter','Roberto','Mancini','21-SEP-1966','4-4-2','ITA',117,'Nazionale');

insert into Allenatore values('U000A','Udinese','Giovanni','Galeone','11-JAN-1948','4-4-2','ITA',201,'Locale');

insert into Allenatore values('R000A','Roma','Luciano','Spalletti','21-FEB-1964','4-2-3-1','ITA',104,'Nazionale');

insert into Allenatore values('P000A','Palermo','Francesco','Guidolin','26-JAN-1968','4-4-2','ITA',197,'Nazionale');


insert into Trofeo values ('Coppa dei Campioni',16);

insert into Trofeo values ('Scudetto',9);

insert into Trofeo values ('Coppa Italia',2);

insert into Trofeo values ('Coppa UEFA',5);

insert into Trofeo values ('Mondiale',18);


insert into Titolo values ('Scudetto',1905,'Juventus');

insert into Titolo values ('Scudetto',1926,'Juventus');

insert into Titolo values ('Scudetto',1931,'Juventus');

insert into Titolo values ('Scudetto',1932,'Juventus');

insert into Titolo values ('Scudetto',1933,'Juventus');

insert into Titolo values ('Scudetto',1934,'Juventus');

insert into Titolo values ('Scudetto',1935,'Juventus');

insert into Titolo values ('Scudetto',1950,'Juventus');

insert into Titolo values ('Scudetto',1952,'Juventus');

insert into Titolo values ('Scudetto',1958,'Juventus');

insert into Titolo values ('Scudetto',1960,'Juventus');

insert into Titolo values ('Scudetto',1961,'Juventus');

insert into Titolo values ('Scudetto',1967,'Juventus');

insert into Titolo values ('Scudetto',1972,'Juventus');

insert into Titolo values ('Scudetto',1973,'Juventus');

insert into Titolo values ('Scudetto',1975,'Juventus');

insert into Titolo values ('Scudetto',1977,'Juventus');

insert into Titolo values ('Scudetto',1978,'Juventus');

insert into Titolo values ('Scudetto',1981,'Juventus');

insert into Titolo values ('Scudetto',1982,'Juventus');

insert into Titolo values ('Scudetto',1986,'Juventus');

insert into Titolo values ('Scudetto',1995,'Juventus');

insert into Titolo values ('Scudetto',1997,'Juventus');

insert into Titolo values ('Scudetto',1998,'Juventus');

insert into Titolo values ('Scudetto',2002,'Juventus');

insert into Titolo values ('Scudetto',2003,'Juventus');

insert into Titolo values ('Scudetto',1984,'Juventus');

insert into Titolo values ('Scudetto',1901,'Milan');

insert into Titolo values ('Scudetto',1906,'Milan');

insert into Titolo values ('Scudetto',1907,'Milan');

insert into Titolo values ('Scudetto',1951,'Milan');

insert into Titolo values ('Scudetto',1955,'Milan');

insert into Titolo values ('Scudetto',1957,'Milan');

insert into Titolo values ('Scudetto',1959,'Milan');

insert into Titolo values ('Scudetto',1962,'Milan');

insert into Titolo values ('Scudetto',1968,'Milan');

insert into Titolo values ('Scudetto',1979,'Milan');

insert into Titolo values ('Scudetto',1988,'Milan');

insert into Titolo values ('Scudetto',1992,'Milan');

insert into Titolo values ('Scudetto',1993,'Milan');

insert into Titolo values ('Scudetto',1994,'Milan');

insert into Titolo values ('Scudetto',1996,'Milan');

insert into Titolo values ('Scudetto',1999,'Milan');

insert into Titolo values ('Scudetto',2004,'Milan');

insert into Titolo values ('Scudetto',1910,'Inter');

insert into Titolo values ('Scudetto',1920,'Inter');

insert into Titolo values ('Scudetto',1930,'Inter');

insert into Titolo values ('Scudetto',1938,'Inter');

insert into Titolo values ('Scudetto',1940,'Inter');

insert into Titolo values ('Scudetto',1953,'Inter');

insert into Titolo values ('Scudetto',1954,'Inter');

insert into Titolo values ('Scudetto',1965,'Inter');

insert into Titolo values ('Scudetto',1966,'Inter');

insert into Titolo values ('Scudetto',1963,'Inter');

insert into Titolo values ('Scudetto',1971,'Inter');

insert into Titolo values ('Scudetto',1980,'Inter');

insert into Titolo values ('Scudetto',1989,'Inter');

insert into Titolo values ('Scudetto',2006,'Inter');

insert into Titolo values ('Scudetto',1983,'Roma');

insert into Titolo values ('Scudetto',2001,'Roma');

insert into Titolo values ('Coppa dei Campioni',1964,'Inter');

insert into Titolo values ('Coppa dei Campioni',1965,'Inter');

insert into Titolo values ('Coppa dei Campioni',1985,'Juventus');

insert into Titolo values ('Coppa dei Campioni',1996,'Juventus');

insert into Titolo values ('Coppa dei Campioni',1963,'Milan');

insert into Titolo values ('Coppa dei Campioni',1969,'Milan');

insert into Titolo values ('Coppa dei Campioni',1989,'Milan');

insert into Titolo values ('Coppa dei Campioni',1990,'Milan');

insert into Titolo values ('Coppa dei Campioni',1994,'Milan');

insert into Titolo values ('Coppa dei Campioni',2003,'Milan');

insert into Titolo values ('Coppa UEFA',1991,'Inter');

insert into Titolo values ('Coppa UEFA',1994,'Inter');

insert into Titolo values ('Coppa UEFA',1998,'Inter');

insert into Titolo values ('Coppa UEFA',1977,'Juventus');

insert into Titolo values ('Coppa UEFA',1990,'Juventus');

insert into Titolo values ('Coppa UEFA',1993,'Juventus');

insert into Titolo values ('Coppa UEFA',1961,'Roma');

insert into Titolo values ('Coppa Italia',1938,'Juventus');

insert into Titolo values ('Coppa Italia',1942,'Juventus');

insert into Titolo values ('Coppa Italia',1959,'Juventus');

insert into Titolo values ('Coppa Italia',1960,'Juventus');

insert into Titolo values ('Coppa Italia',1965,'Juventus');

insert into Titolo values ('Coppa Italia',1979,'Juventus');

insert into Titolo values ('Coppa Italia',1983,'Juventus');

insert into Titolo values ('Coppa Italia',1990,'Juventus');

insert into Titolo values ('Coppa Italia',1995,'Juventus');

insert into Titolo values ('Coppa Italia',1939,'Inter');

insert into Titolo values ('Coppa Italia',1978,'Inter');

insert into Titolo values ('Coppa Italia',1982,'Inter');

insert into Titolo values ('Coppa Italia',2005,'Inter');

insert into Titolo values ('Coppa Italia',2006,'Inter');

insert into Titolo values ('Coppa Italia',1967,'Milan');

insert into Titolo values ('Coppa Italia',1972,'Milan');

insert into Titolo values ('Coppa Italia',1973,'Milan');

insert into Titolo values ('Coppa Italia',1977,'Milan');

insert into Titolo values ('Coppa Italia',2003,'Milan');

insert into Titolo values ('Coppa Italia',1964,'Roma');

insert into Titolo values ('Coppa Italia',1969,'Roma');

insert into Titolo values ('Coppa Italia',1980,'Roma');

insert into Titolo values ('Coppa Italia',1981,'Roma');

insert into Titolo values ('Coppa Italia',1984,'Roma');

insert into Titolo values ('Coppa Italia',1986,'Roma');

insert into Titolo values ('Coppa Italia',1991,'Roma');


insert into Carriera values ('J0001','Scudetto',2);

insert into Carriera values ('J0027','Scudetto',1);

insert into Carriera values ('J0009','Scudetto',1);

insert into Carriera values ('J0017','Scudetto',2);

insert into Carriera values ('J0010','Scudetto',5);

insert into Carriera values ('J0010','Coppa dei Campioni',1);

insert into Carriera values ('J0010','Coppa UEFA',1);

insert into Carriera values ('J0010','Mondiale',1);

insert into Carriera values ('J0016','Scudetto',2);

insert into Carriera values ('M0001','Scudetto',1);

insert into Carriera values ('M0002','Scudetto',2);

insert into Carriera values ('M0003','Scudetto',7);

insert into Carriera values ('M0013','Scudetto',2);

insert into Carriera values ('M0008','Scudetto',2);

insert into Carriera values ('M0010','Scudetto',1);

insert into Carriera values ('M0022','Scudetto',1);

insert into Carriera values ('M0001','Coppa dei Campioni',1);

insert into Carriera values ('M0003','Coppa dei Campioni',4);

insert into Carriera values ('M0013','Coppa dei Campioni',1);

insert into Carriera values ('M0010','Coppa dei Campioni',3);

insert into Carriera values ('M0021','Coppa dei Campioni',1);

insert into Carriera values ('M0008','Coppa dei Campioni',1);

insert into Carriera values ('M0099','Coppa UEFA',1);

insert into Carriera values ('I0012','Scudetto',1);

insert into Carriera values ('I0016','Scudetto',1);

insert into Carriera values ('I0002','Scudetto',1);

insert into Carriera values ('I0023','Scudetto',1);

insert into Carriera values ('I0004','Scudetto',1);

insert into Carriera values ('I0019','Scudetto',1);

insert into Carriera values ('I0007','Scudetto',1);

insert into Carriera values ('I0005','Scudetto',1);

insert into Carriera values ('I0010','Scudetto',1);

insert into Carriera values ('I0001','Scudetto',1);

insert into Carriera values ('I0009','Scudetto',1);

insert into Carriera values ('I0007','Coppa dei Campioni',1);

insert into Carriera values ('I0012','Coppa Italia',1);

insert into Carriera values ('I0016','Coppa Italia',1);

insert into Carriera values ('I0002','Coppa Italia',1);

insert into Carriera values ('I0023','Coppa Italia',1);

insert into Carriera values ('I0004','Coppa Italia',1);

insert into Carriera values ('I0019','Coppa Italia',1);

insert into Carriera values ('I0007','Coppa Italia',1);

insert into Carriera values ('I0005','Coppa Italia',2);

insert into Carriera values ('I0010','Coppa Italia',1);

insert into Carriera values ('I0001','Coppa Italia',2);

insert into Carriera values ('I0009','Coppa Italia',1);

insert into Carriera values ('I0004','Coppa UEFA',1);

insert into Carriera values ('R0010','Scudetto',1);

insert into Carriera values ('R0011','Scudetto',1);

insert into Carriera values ('J0001','Mondiale',1);

insert into Carriera values ('J0016','Mondiale',1);

insert into Carriera values ('M0013','Mondiale',1);

insert into Carriera values ('M0008','Mondiale',1);

insert into Carriera values ('M0021','Mondiale',1);

insert into Carriera values ('M0011','Mondiale',1);

insert into Carriera values ('I0023','Mondiale',1);

insert into Carriera values ('U0009','Mondiale',1);

insert into Carriera values ('R0008','Mondiale',1);

insert into Carriera values ('R0010','Mondiale',1);

insert into Carriera values ('P0003','Mondiale',1);

insert into Carriera values ('J0017','Mondiale',1);

insert into Carriera values ('M0001','Mondiale',1);

insert into Carriera values ('M0002','Mondiale',2);

insert into Carriera values ('M0099','Mondiale',2);


insert into Trasferimento values ('J0027','01-JUL-2002','Roma','Juventus',0);

insert into Trasferimento values ('J0009','01-JUL-2001','Roma','Inter',5);

insert into Trasferimento values ('J0009','01-JUL-2006','Inter','Juventus',0);

insert into Trasferimento values ('M0002','01-JUL-2003','Roma','Milan',0);

insert into Trasferimento values ('M0018','01-JUL-2005','Udinese','Milan',9);

insert into Trasferimento values ('I0008','01-JUL-2004','Ajax','Juventus',16);

insert into Trasferimento values ('I0008','01-JUL-2006','Juventus','Inter',25);

insert into Trasferimento values ('M0099','31-JUL-2002','Inter','Real Madrid',38);

insert into Trasferimento values ('M0099','15-JAN-2007','Real Madrid','Milan',7.50);


insert into Partita values('A01',1,'Palermo','Roma',1,1,1,1);

insert into Evento values('A01',23,'P0010','Gol');

insert into Evento values('A01',58,'R0009','Occasione');

insert into Evento values('A01',68,'R0011','Occasione');

insert into Evento values('A01',88,'R0010','Gol');

insert into Prestazione values ('P0001','A01',6);

insert into Prestazione values ('P0002','A01',6);

insert into Prestazione values ('P0003','A01',5,true);

insert into Prestazione values ('P0004','A01',6);

insert into Prestazione values ('P0005','A01',6);

insert into Prestazione values ('P0006','A01',6);

insert into Prestazione values ('P0007','A01',6,true);

insert into Prestazione values ('P0008','A01',5);

insert into Prestazione values ('P0009','A01',6);

insert into Prestazione values ('P0010','A01',7);

insert into Prestazione values ('P0011','A01',6);

insert into Prestazione values ('R0001','A01',6);

insert into Prestazione values ('R0002','A01',6);

insert into Prestazione values ('R0003','A01',5,true);

insert into Prestazione values ('R0004','A01',5);

insert into Prestazione values ('R0005','A01',6);

insert into Prestazione values ('R0006','A01',6);

insert into Prestazione values ('R0007','A01',6);

insert into Prestazione values ('R0008','A01',5);

insert into Prestazione values ('R0009','A01',6);

insert into Prestazione values ('R0010','A01',7,true);

insert into Prestazione values ('R0011','A01',7);


insert into Partita values('A02',1,'Udinese','Milan',3,2,3,0);

insert into Evento values('A02',3,'U0018','Gol');

insert into Evento values('A02',18,'M0099','Occasione');

insert into Evento values('A02',28,'U0009','Occasione');

insert into Evento values('A02',30,'M0099','Gol');

insert into Evento values('A02',44,'M0022','Gol');

insert into Evento values('A02',58,'U0018','Occasione');

insert into Evento values('A02',67,'M0007','Occasione');

insert into Evento values('A02',88,'U0009','Gol');

insert into Evento values('A02',91,'M0001','AutoGol');

insert into Prestazione values('M0001','A02',4);

insert into Prestazione values('M0002','A02',6);

insert into Prestazione values('M0003','A02',6);

insert into Prestazione values('M0013','A02',6,true);

insert into Prestazione values('M0018','A02',5);

insert into Prestazione values('M0008','A02',6,true);

insert into Prestazione values('M0010','A02',5);

insert into Prestazione values('M0021','A02',6);

insert into Prestazione values('M0022','A02',6);

insert into Prestazione values('M0011','A02',5);

insert into Prestazione values('M0099','A02',7);

insert into Prestazione values('M0025','A02',5);

insert into Prestazione values('U0001','A02',6);

insert into Prestazione values('U0019','A02',6);

insert into Prestazione values('U0014','A02',7);

insert into Prestazione values('U0002','A02',6);

insert into Prestazione values('U0003','A02',6);

insert into Prestazione values('U0011','A02',7,true);

insert into Prestazione values('U0005','A02',6);

insert into Prestazione values('U0008','A02',6);

insert into Prestazione values('U0018','A02',7);

insert into Prestazione values('U0010','A02',7);

insert into Prestazione values('U0009','A02',7);



insert into Partita values('A03',1,'Inter','Juventus',4,2,3,0);

insert into Evento values('A03',3,'I0008','Gol');

insert into Evento values('A03',18,'I0010','Occasione');

insert into Evento values('A03',28,'I0023','Gol');

insert into Evento values('A03',30,'I0008','Gol');

insert into Evento values('A03',44,'J0010','Gol');

insert into Evento values('A03',58,'J0017','Occasione');

insert into Evento values('A03',88,'J0017','Gol');

insert into Evento values('A03',91,'I0005','Gol');

insert into Prestazione values('J0001','A03',6);

insert into Prestazione values('J0003','A03',6);

insert into Prestazione values('J0014','A03',6);

insert into Prestazione values('J0027','A03',5);

insert into Prestazione values('J0030','A03',6);

insert into Prestazione values('J0009','A03',6);

insert into Prestazione values('J0008','A03',6);

insert into Prestazione values('J0011','A03',6);

insert into Prestazione values('J0016','A03',5,true,true);

insert into Prestazione values('J0010','A03',7);

insert into Prestazione values('J0017','A03',6);

insert into Prestazione values('J0013','A03',6);

insert into Prestazione values('J0019','A03',5);

insert into Prestazione values('I0012','A03',6);

insert into Prestazione values('I0016','A03',6,true);

insert into Prestazione values('I0002','A03',7);

insert into Prestazione values('I0023','A03',6);

insert into Prestazione values('I0004','A03',6);

insert into Prestazione values('I0019','A03',7,true);

insert into Prestazione values('I0007','A03',7);

insert into Prestazione values('I0005','A03',7);

insert into Prestazione values('I0014','A03',7);

insert into Prestazione values('I0010','A03',5);

insert into Prestazione values('I0008','A03',8);


insert into Partita values('A04',2,'Inter','Milan',2,1,3,0);

insert into Evento values('A04',33,'M0099','Gol');

insert into Evento values('A04',18,'I0010','Occasione');

insert into Evento values('A04',55,'I0009','Gol');

insert into Evento values('A04',60,'I0008','Gol');

insert into Evento values('A04',70,'I0008','Occasione');

insert into Evento values('A04',85,'M0007','Occasione');

insert into Prestazione values('I0012','A04',6);

insert into Prestazione values('I0016','A04',6);

insert into Prestazione values('I0002','A04',7,true);

insert into Prestazione values('I0023','A04',7,true);

insert into Prestazione values('I0004','A04',6);

insert into Prestazione values('I0019','A04',6);

insert into Prestazione values('I0007','A04',7);

insert into Prestazione values('I0005','A04',7);

insert into Prestazione values('I0014','A04',7,true);

insert into Prestazione values('I0010','A04',7);

insert into Prestazione values('I0008','A04',8);

insert into Prestazione values('M0001','A04',6);

insert into Prestazione values('M0002','A04',6);

insert into Prestazione values('M0003','A04',6,true);

insert into Prestazione values('M0013','A04',6,true);

insert into Prestazione values('M0018','A04',6,true);

insert into Prestazione values('M0008','A04',6);

insert into Prestazione values('M0010','A04',5);

insert into Prestazione values('M0021','A04',6);

insert into Prestazione values('M0022','A04',5);

insert into Prestazione values('M0011','A04',5);

insert into Prestazione values('M0099','A04',7);



insert into Partita values('A05',2,'Juventus','Palermo',0,0,1,1);

insert into Prestazione values('J0001','A05',6);

insert into Prestazione values('J0003','A05',6);

insert into Prestazione values('J0014','A05',6,true);

insert into Prestazione values('J0027','A05',6,true);

insert into Prestazione values('J0030','A05',5);

insert into Prestazione values('J0009','A05',6);

insert into Prestazione values('J0008','A05',5);

insert into Prestazione values('J0011','A05',6,true);

insert into Prestazione values('J0016','A05',5,true);

insert into Prestazione values('J0010','A05',6);

insert into Prestazione values('J0017','A05',6);

insert into Prestazione values('J0013','A05',6);

insert into Prestazione values ('P0001','A05',6);

insert into Prestazione values ('P0002','A05',6);

insert into Prestazione values ('P0003','A05',5);

insert into Prestazione values ('P0004','A05',6);

insert into Prestazione values ('P0005','A05',6);

insert into Prestazione values ('P0006','A05',5);

insert into Prestazione values ('P0007','A05',6);

insert into Prestazione values ('P0008','A05',5);

insert into Prestazione values ('P0009','A05',6);

insert into Prestazione values ('P0010','A05',6);

insert into Prestazione values ('P0011','A05',6);


insert into Partita values('A06',2,'Roma','Udinese',3,0,3,0);

insert into Evento values('A06',33,'R0011','Gol');

insert into Evento values('A06',18,'R0010','Occasione');

insert into Evento values('A06',55,'R0009','Gol');

insert into Evento values('A06',60,'R0010','Gol');

insert into Evento values('A06',70,'U0011','Occasione');

insert into Evento values('A06',85,'R0011','Occasione');

insert into Prestazione values('U0001','A06',5);

insert into Prestazione values('U0019','A06',5);

insert into Prestazione values('U0014','A06',6);

insert into Prestazione values('U0002','A06',5);

insert into Prestazione values('U0003','A06',5);

insert into Prestazione values('U0011','A06',5,false,true);

insert into Prestazione values('U0005','A06',5);

insert into Prestazione values('U0008','A06',5);

insert into Prestazione values('U0018','A06',5);

insert into Prestazione values('U0010','A06',5);

insert into Prestazione values('U0009','A06',5);

insert into Prestazione values ('R0001','A06',6);

insert into Prestazione values ('R0002','A06',6);

insert into Prestazione values ('R0003','A06',6);

insert into Prestazione values ('R0004','A06',6);

insert into Prestazione values ('R0005','A06',7);

insert into Prestazione values ('R0006','A06',7);

insert into Prestazione values ('R0007','A06',7);

insert into Prestazione values ('R0008','A06',7);

insert into Prestazione values ('R0009','A06',7);

insert into Prestazione values ('R0010','A06',8);

insert into Prestazione values ('R0011','A06',7);



insert into Partita values('A07',3,'Palermo','Udinese',0,1,0,3);

insert into Evento values('A07',33,'P0011','Occasione');

insert into Evento values('A07',18,'P0010','Occasione');

insert into Evento values('A07',55,'P0011','Occasione');

insert into Evento values('A07',60,'P0010','Occasione');

insert into Evento values('A07',70,'U0019','Gol');

insert into Evento values('A07',85,'P0011','Occasione');

insert into Prestazione values('U0001','A07',6);

insert into Prestazione values('U0019','A07',7);

insert into Prestazione values('U0014','A07',6);

insert into Prestazione values('U0002','A07',6,true);

insert into Prestazione values('U0003','A07',6);

insert into Prestazione values('U0011','A07',7);

insert into Prestazione values('U0005','A07',6);

insert into Prestazione values('U0008','A07',6);

insert into Prestazione values('U0018','A07',6);

insert into Prestazione values('U0010','A07',6,true);

insert into Prestazione values('U0009','A07',6);

insert into Prestazione values ('P0001','A07',5);

insert into Prestazione values ('P0002','A07',5);

insert into Prestazione values ('P0003','A07',5);

insert into Prestazione values ('P0004','A07',5);

insert into Prestazione values ('P0005','A07',5);

insert into Prestazione values ('P0006','A07',5,true);

insert into Prestazione values ('P0007','A07',6);

insert into Prestazione values ('P0008','A07',5);

insert into Prestazione values ('P0009','A07',5);

insert into Prestazione values ('P0010','A07',4,true);

insert into Prestazione values ('P0011','A07',5);


insert into Partita values('A08',3,'Milan','Juventus',3,2,3,0);

insert into Evento values('A08',33,'M0022','Gol');

insert into Evento values('A08',36,'M0022','Occasione');

insert into Evento values('A08',55,'J0016','Gol');

insert into Evento values('A08',66,'J0010','Gol');

insert into Evento values('A08',70,'M0010','Gol');

insert into Evento values('A08',94,'M0022','Gol');

insert into Prestazione values('J0001','A08',6);

insert into Prestazione values('J0003','A08',6);

insert into Prestazione values('J0014','A08',6,true,true);

insert into Prestazione values('J0027','A08',6,true);

insert into Prestazione values('J0030','A08',5);

insert into Prestazione values('J0009','A08',6);

insert into Prestazione values('J0008','A08',6,false,true);

insert into Prestazione values('J0011','A08',6,true);

insert into Prestazione values('J0016','A08',7);

insert into Prestazione values('J0010','A08',5);

insert into Prestazione values('J0017','A08',6);

insert into Prestazione values('J0013','A08',6);

insert into Prestazione values('M0001','A08',5);

insert into Prestazione values('M0002','A08',6);

insert into Prestazione values('M0003','A08',6);

insert into Prestazione values('M0013','A08',5);

insert into Prestazione values('M0018','A08',6,true);

insert into Prestazione values('M0008','A08',7);

insert into Prestazione values('M0010','A08',7);

insert into Prestazione values('M0021','A08',7);

insert into Prestazione values('M0022','A08',8);

insert into Prestazione values('M0011','A08',6);

insert into Prestazione values('M0099','A08',6,true);


insert into Partita values('A09',3,'Inter','Roma',1,4,0,3);

insert into Evento values('A09',33,'R0011','Gol');

insert into Evento values('A09',36,'I0009','Occasione');

insert into Evento values('A09',52,'R0011','Gol');

insert into Evento values('A09',86,'R0010','Gol');

insert into Evento values('A09',70,'R0010','Gol');

insert into Evento values('A09',84,'I0008','Gol');

insert into Evento values('A09',18,'I0010','Occasione');

insert into Prestazione values ('R0001','A09',7);

insert into Prestazione values ('R0002','A09',7);

insert into Prestazione values ('R0003','A09',7);

insert into Prestazione values ('R0004','A09',7,true);

insert into Prestazione values ('R0005','A09',7);

insert into Prestazione values ('R0006','A09',8);

insert into Prestazione values ('R0007','A09',8);

insert into Prestazione values ('R0008','A09',8);

insert into Prestazione values ('R0009','A09',8);

insert into Prestazione values ('R0010','A09',8);

insert into Prestazione values ('R0011','A09',9);

insert into Prestazione values('I0012','A09',5);

insert into Prestazione values('I0016','A09',5);

insert into Prestazione values('I0002','A09',5,true);

insert into Prestazione values('I0023','A09',4,false,true);

insert into Prestazione values('I0004','A09',5);

insert into Prestazione values('I0019','A09',6);

insert into Prestazione values('I0007','A09',5,true);

insert into Prestazione values('I0005','A09',5);

insert into Prestazione values('I0014','A09',5,true);

insert into Prestazione values('I0009','A09',5);

insert into Prestazione values('I0008','A09',5,true);



insert into Partita values('A10',4,'Palermo','Inter',0,1,0,3);

insert into Evento values ('A10',40,'P0003','Autogol');

insert into Prestazione values('I0012','A10',6);

insert into Prestazione values('I0016','A10',6);

insert into Prestazione values('I0002','A10',6);

insert into Prestazione values('I0015','A10',7);

insert into Prestazione values('I0004','A10',7);

insert into Prestazione values('I0019','A10',7);

insert into Prestazione values('I0007','A10',6);

insert into Prestazione values('I0005','A10',6,true);

insert into Prestazione values('I0014','A10',5);

insert into Prestazione values('I0010','A10',5);

insert into Prestazione values('I0008','A10',7);

insert into Prestazione values ('P0001','A10',6);

insert into Prestazione values ('P0002','A10',6);

insert into Prestazione values ('P0003','A10',3,true);

insert into Prestazione values ('P0004','A10',6);

insert into Prestazione values ('P0005','A10',6);

insert into Prestazione values ('P0006','A10',6,true);

insert into Prestazione values ('P0007','A10',6);

insert into Prestazione values ('P0008','A10',6,true);

insert into Prestazione values ('P0009','A10',6,true);

insert into Prestazione values ('P0011','A10',7);

insert into Prestazione values ('P0010','A10',5);


insert into Partita values('A11',4,'Juventus','Udinese',1,1,1,1);

insert into Evento values('A11',23,'J0010','Gol');

insert into Evento values('A11',58,'J0010','Occasione');

insert into Evento values('A11',68,'J0017','Occasione');

insert into Evento values('A11',8,'U0010','Gol');

insert into Prestazione values('U0001','A11',6);

insert into Prestazione values('U0019','A11',5);

insert into Prestazione values('U0014','A11',6);

insert into Prestazione values('U0002','A11',5);

insert into Prestazione values('U0003','A11',6);

insert into Prestazione values('U0011','A11',7);

insert into Prestazione values('U0005','A11',6,true);

insert into Prestazione values('U0008','A11',6);

insert into Prestazione values('U0018','A11',6);

insert into Prestazione values('U0010','A11',6);

insert into Prestazione values('U0009','A11',6,true);

insert into Prestazione values('J0001','A11',6);

insert into Prestazione values('J0003','A11',6);

insert into Prestazione values('J0014','A11',6);

insert into Prestazione values('J0027','A11',5,true,true);

insert into Prestazione values('J0030','A11',6);

insert into Prestazione values('J0009','A11',6);

insert into Prestazione values('J0008','A11',6);

insert into Prestazione values('J0011','A11',6);

insert into Prestazione values('J0016','A11',5);

insert into Prestazione values('J0010','A11',7);

insert into Prestazione values('J0017','A11',6);

insert into Prestazione values('J0013','A11',6);

insert into Prestazione values('J0019','A11',6);


insert into Partita values('A12',4,'Roma','Milan',0,0,1,1);

insert into Evento values('A12',20,'R0010','Occasione');

insert into Evento values('A12',48,'M0010','Occasione');

insert into Evento values('A12',68,'M0099','Occasione');

insert into Evento values('A12',82,'M0022','Occasione');

insert into Prestazione values ('R0001','A12',6);

insert into Prestazione values ('R0002','A12',6);

insert into Prestazione values ('R0003','A12',6);

insert into Prestazione values ('R0004','A12',6);

insert into Prestazione values ('R0005','A12',6);

insert into Prestazione values ('R0006','A12',6);

insert into Prestazione values ('R0007','A12',6);

insert into Prestazione values ('R0008','A12',5);

insert into Prestazione values ('R0009','A12',6);

insert into Prestazione values ('R0010','A12',5,true);

insert into Prestazione values ('R0011','A12',6);

insert into Prestazione values('M0001','A12',6);

insert into Prestazione values('M0002','A12',6);

insert into Prestazione values('M0003','A12',6);

insert into Prestazione values('M0013','A12',6);

insert into Prestazione values('M0018','A12',7);

insert into Prestazione values('M0008','A12',6,true);

insert into Prestazione values('M0010','A12',6);

insert into Prestazione values('M0021','A12',6);

insert into Prestazione values('M0022','A12',7);

insert into Prestazione values('M0011','A12',5);

insert into Prestazione values('M0099','A12',7);


insert into Partita values('A13',5,'Udinese','Inter',0,0,1,1);

insert into Evento values('A13',20,'I0010','Occasione');

insert into Evento values('A13',48,'I0010','Occasione');

insert into Evento values('A13',68,'I0008','Occasione');

insert into Evento values('A13',82,'U0002','Occasione');

insert into Prestazione values('U0001','A13',6);

insert into Prestazione values('U0019','A13',6);

insert into Prestazione values('U0014','A13',6);

insert into Prestazione values('U0002','A13',5);

insert into Prestazione values('U0003','A13',6);

insert into Prestazione values('U0011','A13',5,true);

insert into Prestazione values('U0005','A13',6);

insert into Prestazione values('U0008','A13',6,true);

insert into Prestazione values('U0018','A13',6);

insert into Prestazione values('U0010','A13',6);

insert into Prestazione values('U0009','A13',5);

insert into Prestazione values('I0012','A13',6);

insert into Prestazione values('I0015','A13',7);

insert into Prestazione values('I0002','A13',6);

insert into Prestazione values('I0023','A13',6,true);

insert into Prestazione values('I0004','A13',6);

insert into Prestazione values('I0019','A13',6);

insert into Prestazione values('I0007','A13',5);

insert into Prestazione values('I0005','A13',6);

insert into Prestazione values('I0014','A13',6,true);

insert into Prestazione values('I0010','A13',6);

insert into Prestazione values('I0008','A13',6,true);


insert into Partita values('A14',5,'Milan','Palermo',1,0,3,0);

insert into Evento values('A14',11,'M0099','Gol');

insert into Prestazione values('M0001','A14',5);

insert into Prestazione values('M0002','A14',6);

insert into Prestazione values('M0003','A14',7,true);

insert into Prestazione values('M0013','A14',6);

insert into Prestazione values('M0018','A14',6);

insert into Prestazione values('M0008','A14',7,true);

insert into Prestazione values('M0010','A14',5);

insert into Prestazione values('M0021','A14',6);

insert into Prestazione values('M0022','A14',7);

insert into Prestazione values('M0011','A14',6);

insert into Prestazione values('M0099','A14',7);

insert into Prestazione values('M0007','A14',7);

insert into Prestazione values ('P0001','A14',6);

insert into Prestazione values ('P0002','A14',6);

insert into Prestazione values ('P0003','A14',5);

insert into Prestazione values ('P0004','A14',6);

insert into Prestazione values ('P0005','A14',6);

insert into Prestazione values ('P0006','A14',6,true);

insert into Prestazione values ('P0007','A14',6);

insert into Prestazione values ('P0008','A14',6);

insert into Prestazione values ('P0009','A14',5);

insert into Prestazione values ('P0011','A14',6);

insert into Prestazione values ('P0010','A14',6);


insert into Partita values('A15',5,'Roma','Juventus',0,3,0,3);

insert into Evento values('A15',20,'J0010','Gol');

insert into Evento values('A15',48,'J0010','Gol');

insert into Evento values('A15',68,'J0010','Gol');

insert into Evento values('A15',82,'J0017','Gol');

insert into Prestazione values('J0001','A15',6);

insert into Prestazione values('J0003','A15',7);

insert into Prestazione values('J0014','A15',7);

insert into Prestazione values('J0027','A15',6,true);

insert into Prestazione values('J0030','A15',6);

insert into Prestazione values('J0009','A15',6);

insert into Prestazione values('J0008','A15',7);

insert into Prestazione values('J0011','A15',7,true);

insert into Prestazione values('J0016','A15',6,true,true);

insert into Prestazione values('J0010','A15',8);

insert into Prestazione values('J0017','A15',7);

insert into Prestazione values('J0019','A15',6);

insert into Prestazione values ('R0001','A15',5);

insert into Prestazione values ('R0002','A15',5);

insert into Prestazione values ('R0003','A15',5);

insert into Prestazione values ('R0004','A15',5);

insert into Prestazione values ('R0005','A15',5);

insert into Prestazione values ('R0006','A15',5,true);

insert into Prestazione values ('R0007','A15',6);

insert into Prestazione values ('R0008','A15',5);

insert into Prestazione values ('R0009','A15',6);

insert into Prestazione values ('R0010','A15',5,false,true);

insert into Prestazione values ('R0011','A15',6);




Interrogazioni


1) Trovare tutti i giocatori dell'Inter.


select giocatore.nome, giocatore.cognome

from Giocatore

join Squadra on squadra=squadra.nome

where squadra.nome='Inter';


2) Trovare il numero di Coppe dei campioni vinte dal Milan.


select count(*)

from Titolo

join Trofeo on trofeo=nome

where squadra='Milan'

and trofeo='Coppa dei Campioni';



3) Trovare i giocatori che hanno generato delle plusvalenze ad una squadra.


select nome, cognome, t1.a_squadra

from Giocatore

join Trasferimento as t1 on tessera=t1.giocatore

join Trasferimento as t2 on t1.giocatore=t2.giocatore

where t2.data>t1.data and t2.costo>t1.costo;


4) Trovare gli esordienti in serie A.


select nome, cognome, nazionalita, squadra

from Giocatore

where presenze=0;



5) Trovare i campioni del mondo.


select nome, cognome, nazionalita, squadra, numero_vittorie

from Carriera

join Giocatore on giocatore=tessera

where trofeo='Mondiale';


6) Trovare i giocatori che hanno ricevuto un'espulsione diretta.


select nome,cognome,squadra, count(*)

from Prestazione

join Giocatore on giocatore=tessera

where ammonizione=false and espulsione=true

group by nome,cognome,squadra;


7) Trovare la media di tutti i giocatori delle squadre di Milano.


select giocatore.nome, cognome, squadra, avg(voto) as media

from Giocatore

left join Prestazione on tessera=giocatore

join Squadra on squadra=squadra.nome

where citta='Milano'

group by giocatore.nome, cognome, squadra

order by squadra, cognome;


8) Trovare la squadra con più prestigio, ovvero che ha il maggior punteggio per quanto riguarda l'importanza delle sue vittorie.


select squadra.nome, citta, sponsor, colori_sociali, sum(importanza) as Prestigio, count(*) as Trofei_Totali

from Squadra

join Titolo on nome=squadra

join Trofeo on trofeo=trofeo.nome

group by squadra.nome, citta, sponsor, colori_sociali

having sum(importanza) >=all (select sum(importanza)

from Titolo

join Trofeo on trofeo=nome

group by squadra);


9) Contare il numero di squadre che hanno vinto più di 3 trofei.


select count(distinct squadra)

from Titolo

where squadra in (select squadra

from Titolo

group by squadra

having count(*)>=3);





10) Trovare il numero di trofei vinti dal Milan negli anni '90.


select trofeo, anno

from Titolo

where squadra='Milan'

and anno between 1990 and 2000;


11) Trovare tutte le squadre di 5 lettere.


select nome

from Squadra

where nome like '_____';


12) Trovare tutti i calciatori che non hanno mai segnato.


select nome, cognome

from Giocatore

where tessera not in (select giocatore

from Evento

where tipo='Gol');


13) Trovare tutti i giocatori che hanno segnato solo nel secondo tempo.


select nome, cognome

from Giocatore

join Evento on nome=giocatore

where tipo='Gol' and tessera not in (select giocatore

from Evento

where tipo='Gol'

and minuto<=45);


14) Trovare il giocatore che ha realizzato più reti in carriera.


select nome, cognome

from Giocatore

where gol_totali = (select max(gol_totali)

from giocatore);



15) Trovare le squadre che hanno perso una partita avendo avuto più occasioni da gol dell'avversario.


select sq_casa as Squadra, sq_trasferta as Avversario, giornata, count(*) as Occasioni_Mancate, gol_casa as Risultato, gol_trasferta as Finale

from Partita as p1

join Evento on ID=partita

join Giocatore on giocatore=tessera

where gol_casa<gol_trasferta and giocatore.squadra=sq_casa and tipo='Occasione'

group by sq_casa, sq_trasferta, gol_casa, gol_trasferta, giornata

having count(*) > (select count(*)

from Partita

join Evento on ID=partita

join Giocatore on giocatore=tessera

where sq_casa=p1.sq_casa and squadra=p1.sq_trasferta and tipo='Occasione')

union

select sq_trasferta as Squadra, sq_casa as Avversario, giornata, count(*) as Occasioni_Mancate, gol_casa as Risultato, gol_trasferta as Finale

from Partita as p1

join Evento on ID=partita

join Giocatore on giocatore=tessera

where gol_casa>gol_trasferta and giocatore.squadra=sq_trasferta and tipo='Occasione'

group by sq_casa, sq_trasferta, gol_casa, gol_trasferta, giornata

having count(*) > (select count(*)

from Partita

join Evento on ID=partita

join Giocatore on giocatore=tessera

where sq_trasferta=p1.sq_trasferta and squadra=p1.sq_casa and tipo='Occasione');


16) Trovare la squadra più cattiva della serie A.


select squadra, count(*)

from Prestazione

join Giocatore on giocatore=tessera

where espulsione=true

group by squadra

having count(*) >= all (select count(*)

from Prestazione

join Giocatore on giocatore=tessera

where espulsione=true

group by squadra);


17) Trovare il giocatore più ammonito della serie A.


select nome,cognome,squadra, count(*)

from Prestazione

join Giocatore on giocatore=tessera

where ammonizione=true

group by nome,cognome,squadra

having count(*) >= all (select count(*)

from Prestazione

join Giocatore on giocatore=tessera

where ammonizione=true

group by nome,cognome,squadra);


Trovare il capocannoniere del campionato.


select nome, cognome, count(*)

from Giocatore

join Evento on tessera=giocatore

where tipo='Gol'

group by nome, cognome

having count(*)>=all (select count(*)

from Evento

where tipo='Gol'

group by giocatore);


19) Trovare il giocatore con la media voto più alta nella squadra più prestigiosa.


select g1.nome, g1.cognome, avg(voto)

from Giocatore as g1

join Prestazione on tessera=giocatore

where squadra in (select squadra.nome

from Squadra

join Titolo on nome=squadra

join Trofeo on trofeo=trofeo.nome

group by squadra.nome

having sum(importanza) >=all (select sum(importanza)

from Titolo

join Trofeo on trofeo=nome

group by squadra))

group by g1.nome, g1.cognome, g1.squadra

having avg(voto)>=all (select avg(voto)

from Prestazione

join Giocatore on giocatore=tessera

where g1.squadra=giocatore.squadra

group by giocatore);


20) Trovare i capocannonieri per ogni squadra del campionato. Se 2 o più giocatori hanno lo stesso totale di gol, non devono comparire nel risultato.


select nome, cognome, squadra, count(*)

from Giocatore as g1

join Evento on tessera=giocatore

where tipo='Gol'

group by g1.squadra, nome, cognome, g1.tessera

having count(*)>all (select count(*)

from Evento

join Giocatore on giocatore=tessera

where g1.squadra=giocatore.squadra and g1.tessera!=giocatore.tessera

and tipo='Gol'

group by giocatore);


Trovare i più vincenti per ogni ruolo.


select nome, cognome, ruolo, sum(numero_vittorie)

from Giocatore as g1

join Carriera on tessera=giocatore

group by nome, cognome, ruolo, tessera

having sum(numero_vittorie)>=all (select sum(numero_vittorie)

from Carriera

join Giocatore on giocatore=tessera

where giocatore.ruolo=g1.ruolo

group by nome, cognome);


22) Trovare i giocatori che hanno giocato almeno 3 partite e hanno sempre ottenuto la sufficienza.


select nome,cognome,squadra,avg(voto)

from Prestazione

join Giocatore on giocatore=tessera

where giocatore not in (select giocatore

from Prestazione

where voto<6)

group by nome,cognome,squadra

having count(*)>=3;


23) Trovare la classifica della serie A.


create view Class (squadra,partita,punti) as

select sq_casa,ID,punti_casa

from Partita

union

select sq_Trasferta,ID,punti_trasferta

from Partita;


select class.squadra, count(*) as Giocate, sum(punti) as Punti, cognome as Allenatore

from Class

join Allenatore on class.squadra=allenatore.squadra

group by class.squadra,cognome

order by punti desc;


drop view Class;


24) Trovare i giocatori che hanno ottenuto rispettivamente il voto più alto e più basso del campionato.


select nome,cognome,squadra,voto,giornata

from Prestazione

join Giocatore on giocatore=tessera

join Partita on partita=ID

where voto in (select max(voto)

from Prestazione)

union

select nome,cognome,squadra,voto,giornata

from Prestazione

join Giocatore on giocatore=tessera

join Partita on partita=ID

where voto in (select min(voto)

from Prestazione);


25) Trovare l'allenatore attuale del giocatore che ha segnato più gol contro una sua ex-squadra.


select allenatore.nome as Nome_Allenatore, allenatore.cognome as Cognome_Allenatore,  giocatore.nome as Nome_giocatore, giocatore.cognome as Cognome_Giocatore, da_squadra as Ex_squadra

from Allenatore

join Squadra on allenatore.squadra=squadra.nome

join Giocatore on squadra.nome=giocatore.squadra

join Trasferimento on giocatore.tessera=giocatore

where (giocatore.tessera, da_squadra) in

(select tessera, da_squadra

from Giocatore

join Evento on tessera=giocatore

join Partita on partita=id

join Trasferimento on tessera=trasferimento.giocatore

where (squadra=sq_trasferta and da_squadra=sq_casa)

or (squadra=sq_casa and da_squadra=sq_trasferta)

and Tipo='Gol'

group by tessera, da_squadra

having count(*)>=all

(select count(*)

from Giocatore

join Evento on tessera=giocatore

join Partita on partita=id

join Trasferimento on tessera=trasferimento.giocatore

where (squadra=sq_trasferta and da_squadra=sq_casa)

or (squadra=sq_casa and da_squadra=sq_trasferta)

and tipo='Gol'

group by tessera));


26) Il Milan ha vinto la Coppa dei Campioni 2007. Aggiornare tutti i dati relativi a questa vittoria.


insert into Titolo values ('Coppa dei Campioni',2007,'Milan');


update Carriera

set numero_vittorie=numero_vittorie + 1

where trofeo='Coppa dei Campioni' and giocatore in (select tessera

from Giocatore

where squadra='Milan');


insert

into Carriera

select tessera, 'Coppa dei Campioni', 1

from Giocatore

where squadra='Milan' and tessera not in (select giocatore

from Carriera

where trofeo='Coppa dei Campioni');









Modifica della base di dati


1) Ridondanza


Nell'anno 2007-08 vengono forniti i volumi relativi ad alcuni concetti della base di dati:


Concetto

Tipo

Volume

Squadra

E


Partita

E

380 (max)


e vengono definite le operazioni:

  • 1: inserire una partita (FREQUENZA = 10/sett);
  • 2: guardare i punti di una squadra (FREQUENZA = 20/sett).

Si vuole ora valutare l'inserimento della ridondanza punti in Squadra.


Tavole degli accessi in assenza di ridondanza.


Operazione 1

Concetto

Costr.

Acc.

Tipo

Partita

E


S

Operazione 2

Concetto

Costr.

Acc.

Tipo

Partita

E

n° giornata

L


10 * 3L + 20 * (n° giornata)L = 10L + 20 * (n° giornata)L (a settimana)


Tavole degli accessi in presenza di ridondanza.


Operazione 1

Concetto

Costr.

Acc.

Tipo

Partita

E


S

Squadra

E


L

Squadra

E


S

Squadra

E


L

Squadra

E


S

Operazione 2

Concetto

Costr.

Acc.

Tipo

Squadra

E


L


10 * 11L + 20 * L = 130L  (a settimana)


Dopo appena 6 giornate di campionato la ridondanza diventa vantaggiosa, per cui si lo schema andrebbe modificato come segue:


SQUADRA (NOME, COLORI_SOCIALI, CITTA, SPONSOR, PUNTI_CLASSIFICA).






2) Normalizzazione


Dalla stagione 2007-08 in un trasferimento si vuole anche memorizzare le rate previste per il pagamento, il cui numero è solitamente legato ad intervalli di costo predefiniti. Modificando lo schema in questo modo


TRASFERIMENTO (GIOCATORE, DATA, DA_SQUADRA, A_SQUADRA, COSTO, RATE)


la tabella non sarebbe più in BCNF perché si è creata una dipendenza funzionale

COSTO → RATE

che non ha a sinistra una chiave.

Per riportare lo schema in forma normale si decompone la tabella nel seguente modo:


TRASFERIMENTO (GIOCATORE, DATA, DA_SQUADRA, A_SQUADRA, COSTO);

TABELLA_RATE (COSTOMIN_INT, COSTOMAX_INT, NUMERO_RATE);








Privacy




Articolo informazione


Hits: 2171
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024