Maturità 2015: traccia e soluzione di Informatica. Ecco la soluzione della seconda prova della maturità 2015 per Informatica.

E’ iniziata oggi la seconda prova per la maturità 2015. Le tracce sono state tutte sorteggiate in base alle diverse scuole e sono le seguenti:

Per lo Scientifico Fra le materie per gli altri indirizzi ci sono Matematica allo Scientifico,Economia Aziendale negli Istituti tecnici ad indirizzo Amministrazione, Finanza e Marketing, Scienza e Cultura dell’Alimentazione nei Professionali dove si studiano Servizi per l’Enogastronomia e l’Ospitalità alberghiera, Tecniche della danza al Liceo Coreutico e Teoria, analisi e composizione al Musicale.

Dopo aver pubblicato qui la traduzione della seconda prova di latino valida per il liceo classico, quella per economia aziendale, quella per Sistemi automatici e per Progettazione, costruzione e impianti eccovi quella di Informatica:

Soluzione Query di Informatica:
Query 1:
SELECT * FROM evento INNER JOIN luogo ON evento.id_luogo = luogo.id WHERE evento.data_creazione < NOW() ORDER by luogo.provincia ASC
Query 2:
SELECT * FROM utente WHERE NOT EXISTS (SELECT null FROM voto WHERE voto.id_utente =utente.id)
Query 3:
SELECT ROUND(AVG(voto.voto), 1) as ‘voto’, categoria.nome, evento.nome FROM evento LEFT JOIN voto ON evento.id = voto.id_evento INNER JOIN categoria ON evento.id_categoria =categoria.id GROUP BY evento.nome, categoria.nome
Query 4:
SELECT
count(evento.id_utente) as ‘Numero Eventi’,
utente.id, utente.nome, utente.email, utente.nickname
FROM evento INNER JOIN utente ON evento.id_utente = utente.id GROUP BY utente.idORDER BY ‘Numero Eventi’ DESC LIMIT 1
<strong>Soluzione Struttura definitiva di Informatica</strong>:
CREATE TABLE `utente` (
`id` int NOT NULL AUTO_INCREMENT,
`nickname` varchar(50) NOT NULL,
`nome` varchar(50) DEFAULT NULL,
`cognome` varchar(50) DEFAULT NULL,
`email` varchar(255) NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE `categoria` (
`id` int NOT NULL AUTO_INCREMENT,
`nome` varchar(50) DEFAULT NULL,
PRIMARY KEY(id)
);
CREATE TABLE `utente_categoria` (
`id` int NOT NULL AUTO_INCREMENT,
`id_utente` int NOT NULL,
`id_categoria` int NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY (id_utente) REFERENCES utente(id),
FOREIGN KEY (id_categoria) REFERENCES categoria(id)
);
CREATE TABLE `luogo` (
`id` int NOT NULL AUTO_INCREMENT,
`nome` varchar(255) DEFAULT NULL,
`latitudine` varchar(50) DEFAULT NULL,
`longitudine` varchar(50) DEFAULT NULL,
`provincia` varchar(2),
PRIMARY KEY(id)
);
CREATE TABLE `evento` (
`id` int NOT NULL AUTO_INCREMENT,
`nome` varchar(50) NOT NULL,
`data_creazione` datetime DEFAULT NULL,
`id_luogo` int NOT NULL,
`id_categoria` int NOT NULL,
`id_utente` int NOT NULL,
PRIMARY KEY(id),
FOREIGN KEY (id_luogo) REFERENCES luogo(id),
FOREIGN KEY (id_categoria) REFERENCES categoria(id),
FOREIGN KEY (id_utente) REFERENCES utente(id)
);
CREATE TABLE `artista`(
`id` int NOT NULL AUTO_INCREMENT,
`nome` varchar(50),
`cognome` varchar(50),
`alias` varchar(50),
PRIMARY KEY(id)
);
CREATE TABLE `evento_artista` (
`id` int NOT NULL AUTO_INCREMENT,
`id_evento` int NOT NULL,
`id_artista` int NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (id_evento) REFERENCES evento(id),
FOREIGN KEY (id_artista) REFERENCES artista(id)
);
CREATE TABLE `voto` (
`id` int NOT NULL AUTO_INCREMENT,
`id_utente` int NOT NULL,
`id_evento` int NOT NULL,
`commento` text,
`voto` tinyint(4) DEFAULT NULL,
PRIMARY KEY(id),
FOREIGN KEY (id_utente) REFERENCES utente(id),
FOREIGN KEY (id_evento) REFERENCES evento(id)
);

Per restare sempre aggiornato sul tema di questo articolo, puoi seguirci su Twitter, aggiungerci su Facebook o Google+ e leggere i nostri articoli via RSS.

Image Credits