2015 – Stabilimenti balneari

PROGETTO SIRIO

Un gruppo di stabilimenti balneari si costituisce in consorzio allo scopo di informatizzare la gestione degli stessi per incentivare il turismo locale.
La stagione balneare apre il 1 aprile e termina il 30 ottobre di ogni anno.
Gli stabilimenti possono offrire numerosi servizi quali fornitura di lettini, ombrelloni, cabine, ristorazione, attività programmate di diverso tipo (spettacoli musicali, serate con animazione, elezione “miss/mister mare”, attività ludico-sportive, ecc.).

Di ogni stabilimento sono noti: denominazione, indirizzo, categoria, tariffe per i servizi offerti.
Riguardo alle attività che in essi si svolgono vanno tenuti in considerazione il calendario (periodo di svolgimento e orario), una breve descrizione, se si tratta di attività a pagamento.
Alcune attività possono essere sponsorizzate; in tal caso si vuole registrare il nome dello sponsor ed il tipo di finanziamento (monetario o fornitura di beni).
Agli stabilimenti accedono sia clienti occasionali che quelli forniti di abbonamento ai vari servizi.

Il candidato, fatte le opportune ipotesi aggiuntive, realizzi:

  1. un’analisi della realtà di riferimento individuando le possibili soluzioni e scelga quella che a suo motivato giudizio è la più idonea a rispondere alle specifiche indicate
  2. uno schema concettuale della base di dati
  3. uno schema logico della base di dati
  4. la definizione in linguaggio SQL di un sottoinsieme delle relazioni della base di dati in cui siano presenti alcune di quelle che contengono vincoli di integrità referenziale e/o vincoli di dominio, laddove presenti
  5. le seguenti interrogazioni espresse in linguaggio SQL:
    1. elencare i servizi offerti da uno specifico stabilimento;
    2. elencare i clienti con abbonamento ai servizi di uno specifico stabilimento;
    3. elencare in ordine di stabilimento le attività che iniziano in un periodo specificato;
    4. visualizzare per ogni stabilimento il numero di clienti occasionali in una specifica giornata;
    5. visualizzare lo stabilimento che organizza il maggior numero di attività nella stagione balneare;
    6. visualizzare lo sponsor che ha finanziato il maggior numero di attività
  6. l’architettura del sito web sviluppato per presentare al pubblico gli stabilimenti del consorzio e la loro offerta
  7. la codifica in un linguaggio a scelta di un segmento significativo dell’applicazione Web che consente l’interazione con la base di dati.

2015 – Eventi dal vivo

Il candidato svolga la prima parte della prova e risponda a due tra i quesiti proposti nella seconda parte.

PRIMA PARTE

Si vuole realizzare una web community per condividere dati e commenti relativi a eventi dal vivo di diverse categorie, ad esempio concerti, spettacoli teatrali, balletti, ecc. che si svolgono in Italia.

Gli eventi vengono inseriti sul sistema direttamente dai membri stessi della community, che si registrano sul sito fornendo un nickname, nome, cognome, indirizzo di e-mail e scegliendo una o più categorie di eventi a cui sono interessati.

Ogni membro iscritto riceve periodicamente per posta elettronica una newsletter, emessa automaticamente dal sistema, che riporta gli eventi delle categorie da lui scelte, che si svolgeranno nella settimana seguente nel territorio provinciale dell’utente.
I membri registrati possono interagire con la community sia inserendo i dati di un nuovo evento, per il quale occorre specificare categoria, luogo di svolgimento, data, titolo dell’evento e artisti coinvolti, sia scrivendo un post con un commento ed un voto (da 1 a 5) su un evento.

Il sito della community offre a tutti, sia membri registrati sia utenti anonimi, la consultazione dei dati on line, tra cui:

  • visualizzazione degli eventi di un certo tipo in ordine cronologico, con possibilità di filtro per territorio di una specifica provincia
  • visualizzazione di tutti i commenti e voti relativi ad un evento.

Il candidato, fatte le opportune ipotesi aggiuntive, sviluppi

  1. un’analisi della realtà di riferimento individuando le possibili soluzioni e scelga quella che a suo motivato giudizio è la più idonea a rispondere alle specifiche indicate
  2. uno schema concettuale della base di dati
  3. uno schema logico della base di dati
  4. la definizione in linguaggio SQL di un sottoinsieme delle relazioni della base di dati in cui siano presenti alcune di quelle che contengono vincoli di integrità referenziale e/o vincoli di dominio, laddove presenti
  5. le seguenti interrogazioni espresse in linguaggio SQL:
    1. elenco degli eventi già svolti, in ordine alfabetico di provincia
    2. elenco dei membri che non hanno mai inserito un commento
    3. per ogni evento il voto medio ottenuto in ordine di categoria e titolo
    4. i dati dell’utente che ha registrato il maggior numero di eventi
  6. il progetto della pagina dell’interfaccia WEB che permetta ad un utente registrato di svolgere le operazioni specificate
  7. la codifica in un linguaggio a scelta di un segmento significativo dell’applicazione Web che consente l’interazione con la base di dati.

SECONDA PARTE

Il candidato (che potrà eventualmente avvalersi delle conoscenze e competenze maturate attraverso esperienze di alternanza scuola-lavoro, stage o formazione in azienda) risponda a due quesiti a scelta tra quelli sotto riportati:

  1. In relazione al tema proposto nella prima parte, descriva in che modo è possibile integrare lo schema concettuale sopra sviluppato in modo da poter gestire anche inserzioni pubblicitarie. Ogni inserzione è costituita da un testo e un link e può essere correlata a una o più categorie di eventi in modo da essere visualizzata in funzione dei contenuti visitati e delle preferenze degli utenti.
  2. In relazione al tema proposto nella prima parte, progetti un layout di pagina idoneo a garantire un aspetto grafico comune a tutte le pagine dell’applicazione e ne codifichi alcuni elementi in un linguaggio per la formattazione di pagine Web a sua scelta.
  3. Si consideri la seguente tabella:
    Cognome Nome Telefono Livello Tutor Tel-tutor Anticipo versato
    Verdi Luisa 345698741 avanzato Bianca 334563215 100
    Neri Enrico 348523698 avanzato Carlo 369852147 150
    Rosi Rosa 347532159 base Alessio 333214569 120
    Bianchi Paolo 341236547 base Carlo 369852147 150
    Rossi Mario 349567890 base Carlo 369852147 90
    Neri Enrico 348523698 complementi Dina 373564987 100

    Il candidato verifichi le proprietà di normalizzazione e proponga uno schema equivalente che rispetti la 3° Forma Normale, motivando le scelte effettuate.

  4. Nella formalizzazione di uno schema concettuale, le associazioni tra entità sono caratterizzate da una cardinalità: esponga il significato e la casistica che si può presentare.

1995 – Notiziario settimanale

Il problema

Il diagramma E/R viene costruito passo passo.

Gli articoli e le lettere

1995_1ARTICOLO

  • Un articolo può essere pubblicato in un numero della rivista

NUMERO

  • Un numero della rivista contiene uno o più articoli

LETTERA

  • Una lettera è inviata da un abbonato

ABBONATO

  • Un abbonato può inviare una o più lettere

Le lettere pubblicate

1995_2Un numero settimanale contiene anche alcune lettere

ARTICOLO

  • Un articolo può essere pubblicato in un numero della rivista

NUMERO

  • Un numero della rivista contiene uno o più articoli
  • Un numero della rivista può contenere una o più lettere

LETTERA

  • Una lettera è inviata da un abbonato
  • Una lettera può essere pubblicata in un numero

ABBONATO

  • Un abbonato può inviare una o più lettere

Autore?

1995_3Anche gli articoli hanno un autore (o più di uno?)

AUTORE

  • Un autore può scrivere uno o più articoli

ARTICOLO

  • Un articolo può essere pubblicato in un numero della rivista
  • Un articolo è stato scritto da un autore

NUMERO

  • Un numero della rivista contiene uno o più articoli
  • Un numero della rivista può contenere una o più lettere

LETTERA

  • Una lettera è inviata da un abbonato
  • Una lettera può essere pubblicata in un numero

ABBONATO

  • Un abbonato può inviare una o più lettere

Ancora?

Il database potrebbe essere arricchito con ulteriori informazioni

  • Gli accessi degli abbonati agli articoli
  • Il voto, da parte dei lettori, per ogni articolo
  • Un abbonato si abbona più volte, in periodi diversi
  • Un articolo potrebbe avere più di un autore

Schema relazionale

Considera prima i diversi sottoschemi e poi riuniscili.

Gli articoli e le lettere

1995_rivista0

Query

Articoli per titolo

Articoli per settimana

Articoli per titolo e settimana

Lettere per nome dell’autore

Lettere per periodo

Lettere per nome e per periodo

Articoli non pubblicati

Le lettere pubblicate

1995_rivista1

Query

Le lettere di un abbonato, dati nome e cognome

Gli articoli che trattano “arte” nel titolo

Gli articoli che NON trattano “arte” nel titolo

Gli articoli che trattano un certo TESTO nel titolo

Quanti articoli in archivio?

Quanti articoli PUBBLICATI?

oppure

Quante lettere ricevute in un certo periodo?

Gli abbonati che hanno scritto almeno una lettera

oppure

Gli abbonati che hanno scritto almeno X lettere

oppure

…, e quante

Classifica per numero di lettere scritte

Classifica per numero di lettere scritte (i primi 5)

Classifica per numero di lettere scritte, almeno X

Finale

Schema esaustivo delle richieste?

1995_rivista2

1992 – Visitatori di una mostra

Il problema

La richiesta del 1992 si riferisce a un’organizzazione fisica degli archivi… ma oggi è più agile una soluzione tramite database e pagine dinamiche…

1992_1Nell’implementazione seguente sono state apportate alcune modifiche rispetto alle richieste originali

  • solo cittadini italiani, senza regione
  • più di 3 attività (professioni)

Schema relazionale

  • ETA(IDeta, eta)
  • PROFESSIONE(IDprofessione, professione)
  • PROVINCIA(IDprovincia, sigla, provincia)
  • VISITATORE(IDvisitatore, etaID, professioneID, provinciaID, sesso, data)

Le chiavi primarie sono in grassetto
Le chiavi esterne sono in corsivo

Query

Pagine dinamiche

1998 – Galleria d’arte

Il problema

Tratto da: G. Callegarin – INFORMATICA 3 – CEDAM

La soluzione proposta si discosta dal problema originale ma si riporta come spunto di riflessione.

1998_quadri

Schema relazionale

  • PITTORI(IDpittore, Nome, Genere)
  • QUADRI(IDquadro, Titolo, Tecnica, Altezza, Larghezza, Prezzo, pittoreID)
QUADRI.pittoreID è chiave esterna collegata a PITTORI.IDpittore

PITTORI.Genere e QUADRI.Tecnica potrebbero costituire altre due tabelle collegate…

Query

Elencare tutti i QUADRI

Elencare tutti i titoli dei QUADRI presenti

Elencare tutti i titoli diversi dei QUADRI presenti

Elencare i QUADRI di forma quadrata, con la loro superficie

Elencare tutti i QUADRI dei pittori con Nome Verdi

oppure

Elencare tutti i QUADRI di PITTORI del genere paesaggista

Quanti QUADRI ha fatto ciascun pittore?

Aumentare di 10 cm le misure dei QUADRI del pittore x

Cancellare i QUADRI del pittore con codice x

Continua…

  1. Elenco dei quadri con il relativo autore
  2. Elenco dei quadri di “Picasso”
  3. Numero di quadri di “Picasso”
  4. Elenco dei quadri con in più l’informazione sul genere del pittore
  5. Elenco dei quadri che mancano di notizie sull’autore
  6. Elenco dei quadri con nel titolo almeno una tra le parole “natura” e “tramonto”
  7. Elenco dei quadri di “Picasso”, “Monet” e “Cezanne” con prezzo non inferiore a 10000 € e non superiore a 20000 €
  8. Elenco delle tecniche presenti in catalogo
  9. Quanti quadri per ogni tecnica
  10. Valore complessivo dei quadri con tecnica “acquerello”
  11. Altezza minima dei quadri del genere “cubismo”