Traccia esercitazione in aula: Testate giornalistiche

Si progetti la base di dati per conto di un insieme di testate giornalistiche con inserzioni gratuite e non, tenendo conto delle informazioni riportate nel seguito. Ciascuna delle testate trattate nella base di dati è identificata attraverso il nome (ad esempio Secondamano, ilCercaTrova, ecc...). Inoltre è noto il comitato di redazione della testata stessa, la città in cui questa viene pubblicata, ed eventualmente l'indirizzo della pagina web, se disponibile. Il contenuto dei giornali è organizzato in categorie. Ciascuna categoria è identificata da un nome. Per ogni categoria sono note le sottocategorie in cui questa è strutturata (ad esempio affitti e vendite per la categoria case). Si noti che ogni sottocategoria può a sua volta essere ulteriormente suddivisa (ad esempio, vendita case nell'area nord-ovest di Torino). Il numero finale di livelli in cui è organizzata la gerarchia di categorie non è noto a priori. Inoltre per ogni categoria sono note le testate in cui essa è presente. Ciascuna inserzione può essere un annuncio di un privato o un messaggio pubblicitario, entrambi possono essere gratuiti o a pagamento, l’annuncio è identificato da un codice numerico e caratterizzato da un testo descrittivo. Per ogni inserzione è nota la categoria di appartenenza. Per ogni privato sono noti il nome, i recapiti telefonici disponibili, il domicilio ed eventualmente l'indirizzo di e-mail. Per le aziende sono noti il nome dell'azienda, il nome di un referente, un recapito telefonico, il luogo in cui l’azienda ha sede. La base di dati tiene traccia di tutte le pubblicazioni fatte per le inserzioni presenti all'interno della base stessa. Ogni annuncio può essere pubblicato su testate diverse e in corrispondenza di più edizioni della stessa testata. La redazione è composta da persone che possono essere inserzionisti, inoltre è composta da un direttore editoriale, un direttore responsabile, diverse persone che compongono la redazione, un impaginatore, un responsabile per l’amministrazione. Per ogni testata giornalistica c’è un azienda che cura la realizzazione grafica, di questa si vuole memorizzare denominazione, la persona di riferimento, recapiti telefonici, sede (includendo via e città).

Realizzare la base di dati in modo da permettere di eseguire le seguenti interrogazioni:
- Trovare codice, testo e data di pubblicazione di tutti gli annunci pubblicati negli ultimi 15 giorni e relativi ad una categoria o sottocategoria (per esempio, vendita case), che è passata come parametro dall’applicazione. Ordinare il risultato dell’interrogazione in ordine decrescente di data di pubblicazione;
- Trovare il codice di tutte le inserzioni che sono state pubblicate solo su una testata (e mai su altre diverse);
- Separatamente per ogni testata, trovare il numero complessivo di inserzioni pubblicate per ogni categoria e per tutte le sue sottocategorie, in ordine di categoria e relative sottocategorie;
- Per ogni azienda, trovare il nome ed il numero complessivo di inserzioni diverse pubblicate, indipendentemente dalla testata di pubblicazione. Stampare il risultato in ordine alfabetico di nome dell’azienda;
- Di ogni redazione visualizzare le persone che la compongono insieme al loro ruolo;