· 6 years ago · Mar 06, 2019, 05:00 PM
1#DDL
2create schema if not exists marte;
3use marte;
4
5create table if not exists torn
6( id INT PRIMARY KEY auto_increment,
7oxigen int default 0,
8temperatura int default 0,
9oceans int default 0
10
11);
12
13create table if not exists tipus
14(nom varchar(45) primary key,
15descripcio varchar(250)
16);
17
18create table if not exists corporacio
19(nom varchar(45) not null primary key,
20tipus varchar(45) not null,
21megacredits int default 0,
22efecte varchar(45),
23foreign key(tipus) references tipus(nom)
24on delete cascade
25on update cascade
26);
27
28create table if not exists jugador
29(corporacio varchar(45) not null,
30torn int not null,
31pv int default 0,
32megacredits int default 0,
33acer int default 0,
34titani int default 0,
35vegetals int default 0,
36energia int default 0,
37calor int default 0,
38primary key (corporacio,torn),
39foreign key(corporacio) references corporacio(nom)
40on delete cascade
41on update cascade,
42foreign key(torn) references torn(id)
43on delete cascade
44on update cascade
45);
46
47create table if not exists projecte
48(identificador int primary key auto_increment,
49nom varchar(45),
50tipus varchar(45) not null,
51cost int default 0,
52oxigen int default 0,
53temperatura int default 0,
54oceans int default 0,
55megacredits int default 0,
56acer int default 0,
57titani int default 0,
58vegetals int default 0,
59energia int default 0,
60calor int default 0,
61pv int default 0,
62foreign key(tipus) references tipus(nom)
63on delete cascade
64on update cascade
65);
66
67create table if not exists juga
68(projecte int not null,
69jugador varchar(45) not null,
70torn int not null,
71primary key (projecte,jugador,torn),
72foreign key(projecte) references projecte(identificador)
73on delete cascade
74on update cascade,
75foreign key(jugador,torn) references jugador(corporacio,torn)
76on delete cascade
77on update cascade
78);
79
80create table if not exists fita
81(nom varchar(45) not null primary key,
82descripcio varchar(250)
83);
84
85create table if not exists aconsegueix
86(fita varchar(45) not null,
87jugador varchar(45) not null,
88torn int not null,
89primary key (fita,jugador,torn),
90foreign key(fita) references fita(nom)
91on delete cascade
92on update cascade,
93foreign key(jugador,torn) references jugador(corporacio,torn)
94on delete cascade
95on update cascade
96);
97#DML
98insert into tipus (nom,descripcio) values("edifici","edifici muy grande");
99insert into tipus (nom,descripcio) values("espai","espai muy grande");
100insert into tipus (nom,descripcio) values("energia","energia mucha");
101insert into tipus (nom,descripcio) values("ciencia","ciencia muy buena");
102insert into tipus (nom,descripcio) values("jovia","ni idea");
103insert into tipus (nom,descripcio) values("terrestre","muy terrestre");
104insert into tipus (nom,descripcio) values("ciutat","ciutat molt gran");
105
106insert into corporacio (nom,tipus,megacredits,efecte) values("credicor","ciencia",57,"tras pagar una carta...");
107insert into corporacio (nom,tipus,megacredits,efecte) values("republica tharsis","energia",40,"Cuando se coloque cualquier...");
108insert into corporacio (nom,tipus,megacredits,efecte) values("thorgate","ciutat",48,"Al jugar una carta de energia...");
109insert into corporacio (nom,tipus,megacredits,efecte) values("unmi","espai",40,"Si tu valor de terraformacion...");
110
111insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
112insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
113insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
114insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
115insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
116insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
117insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
118insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
119insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
120insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
121insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
122insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
123insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
124insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
125insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
126insert into torn (id,oxigen,temperatura,oceans) values(default,default,default,default);
127
128insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("thorgate",1,default,default,default,default,default,default,default);
129insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("thorgate",2,default,default,default,default,default,default,default);
130insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("thorgate",3,default,default,default,default,default,default,default);
131insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("thorgate",4,default,default,default,default,default,default,default);
132
133insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("credicor",1,default,default,default,default,default,default,default);
134insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("credicor",2,default,default,default,default,default,default,default);
135insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("credicor",3,default,default,default,default,default,default,default);
136insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("credicor",4,default,default,default,default,default,default,default);
137
138insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("republica tharsis",1,default,default,default,default,default,default,default);
139insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("republica tharsis",2,default,default,default,default,default,default,default);
140insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("republica tharsis",3,default,default,default,default,default,default,default);
141insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("republica tharsis",4,default,default,default,default,default,default,default);
142
143insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("unmi",1,default,default,default,default,default,default,default);
144insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("unmi",2,default,default,default,default,default,default,default);
145insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("unmi",3,default,default,default,default,default,default,default);
146insert into jugador(corporacio,torn,pv,megacredits,acer,titani,vegetals,energia,calor) values("unmi",4,default,default,default,default,default,default,default);
147
148insert into projecte(identificador,nom,tipus,cost,oxigen,temperatura,oceans,megacredits,acer,titani,vegetals,energia,calor,pv) values(default,"hoteles espaciales","ciutat",default,default,default,default,default,default,default,default,default,default,default);
149insert into projecte(identificador,nom,tipus,cost,oxigen,temperatura,oceans,megacredits,acer,titani,vegetals,energia,calor,pv) values(default,"impresion de viviendas","ciutat",default,default,default,default,default,default,default,default,default,default,default);
150insert into projecte(identificador,nom,tipus,cost,oxigen,temperatura,oceans,megacredits,acer,titani,vegetals,energia,calor,pv) values(default,"reconocimiento marciano","ciencia",default,default,default,default,default,default,default,default,default,default,default);
151insert into projecte(identificador,nom,tipus,cost,oxigen,temperatura,oceans,megacredits,acer,titani,vegetals,energia,calor,pv) values(default,"monumento a sf","espai",default,default,default,default,default,default,default,default,default,default,default);
152
153insert into juga(projecte,jugador,torn) values(2,"republica tharsis",1);
154insert into juga(projecte,jugador,torn) values(3,"thorgate",1);
155insert into juga(projecte,jugador,torn) values(4,"unmi",1);
156insert into juga(projecte,jugador,torn) values(5,"credicor",1);
157
158insert into fita(nom,descripcio) values("EL REY DEL MAMBO","ERES EL REY CHABVAL");
159insert into fita(nom,descripcio) values("INMUNE AL DEFICIT FISCAL","CONTORLAS TAN BIEN LA PASTA QUE ERES INMUNE A UNA CRISIS ECONOMICA");
160insert into fita(nom,descripcio) values("MINCRAFT PROGAMER","MARTE TIENE SUERTE DE SER TU QUIEN ARRASE CON SUS RECURSOS NATURALES");
161insert into fita(nom,descripcio) values("DLC GAME PASS","PAGA 20 EUROS PARA CONOCER EL HISTORIA ADICIONAL");
162insert into fita(nom,descripcio) values("CONOCER EL SENTIDO DE LAS CLASES DE STEPHAN","ERES BENDECIDO CON EL DON DE CONOCER A DONDE LLEVAN LAS CLASES DE STEPHAN");
163insert into fita(nom,descripcio) values("CONSTITUCIONALISTA","ENHORABUENA, ERES INMUNE A CUALQUIER TIPO DE REPRESALIA JUDICIAL PUESTO QUE AL DEFENDER LA CONSTITUCION TIENES PERMITIDO SALTARTELA Y INVENTARTE ARTICULOS");
164
165insert into aconsegueix(fita,jugador,torn) values("EL REY DEL MAMBO","thorgate",1);
166insert into aconsegueix(fita,jugador,torn) values("INMUNE AL DEFICIT FISCAL","thorgate",2);
167insert into aconsegueix(fita,jugador,torn) values("MINCRAFT PROGAMER","thorgate",4);
168
169insert into aconsegueix(fita,jugador,torn) values("CONSTITUCIONALISTA","credicor",2);
170insert into aconsegueix(fita,jugador,torn) values("MINCRAFT PROGAMER","credicor",3);
171insert into aconsegueix(fita,jugador,torn) values("DLC GAME PASS","credicor",4);
172
173insert into aconsegueix(fita,jugador,torn) values("EL REY DEL MAMBO","unmi",1);
174insert into aconsegueix(fita,jugador,torn) values("CONOCER EL SENTIDO DE LAS CLASES DE STEPHAN","unmi",2);
175insert into aconsegueix(fita,jugador,torn) values("DLC GAME PASS","unmi",3);
176
177#DML alteracion de tablas y contenido
178update juga set projecte=2 where jugador="thorgate";
179update projecte set acer=acer+3 where identificador is not null;
180update jugador set calor=20;
181update jugador set energia=30;
182update jugador set energia=calor/2;
183update projecte set oxigen=5 where identificador is not null;
184update projecte set temperatura=temperatura+2 where oxigen=5;
185
186update jugador set pv= case
187 when titani>5 then pv+4
188 when titani<=5 and titani>2 then pv+3
189 else pv+1
190 end;
191
192delete from corporacio where nom="thorgate";
193delete from aconsegueix where jugador="credicor";
194delete from tipus where nom="jovia";
195
196#query
197select nom as "corporaciones" from corporacio;
198select corporacio as "corporaciones con igual o mas de 5 acero" from jugador where acer>=5 group by corporacio;
199select nom from projecte where oxigen>=12 and temperatura>=-12 and oceans>=3 group by nom;
200select corporacio,sum(pv) from jugador group by corporacio order by 2 desc;
201select tipus,sum(pv) from projecte group by tipus;