Lezione 06/11/2009 CHI DATABASE APPLICATIONS Dal punto di vista pratico le interfacce mettono in comunicazione la macchina con il database, permettendo dunque di scegliere cosa andare a prendere e come visualizzarlo. Vi sono diversi tipi di interfacce a seconda del tipo di accesso al database. Un’importanza rilevante nella progettazione dei database è assunta dalle Interfacce CHI (Computer Human Interface), vale a dire le interfacce uomo/macchina che determinano l’efficacia di una soluzione. Un DB (Database) è un contenitore di dati. L’architettura predominante nello sviluppo di alcune applicazioni è quella a livelli, in cui i componenti sono raggruppati in livelli separati, ciascuno dei quali svolge un compito ben definito: PRESENTATION LAYER BUSINESS RULES DATA LAYER PRESENTATION LAYER: è responsabile della visualizzazione dell’interfaccia grafica e della gestione dell’input utente. Desktop INTERFACCE per applicazioni Web Applications Web Web Services BUSINESS RULES: contengono tutta la logica dell’applicazione ovvero i processi che tale applicazione può eseguire, recupera e salva dati. Si riassumono nel modo seguente: Visibilità ( per il DBMS sono i diritti di accesso) Estrazione Elaborazione Aggregazione Stato = evoluzione dei dati DATA LAYER: consiste di un relational database management system INTERFACCE A LINEA DI COMANDO L'interfaccia a linea di comando, è la modalità di interazione tra utente ed elaboratore che avviene inviando comandi tramite tastiera e ricevendo risposte alle elaborazioni tramite testo scritto. Questo tipo di approccio deriva dalla modalità di interazione con i primi calcolatori che avveniva attraverso terminali testuali non in grado di compiere alcuna elaborazione e connessi ad un elaboratore centrale. Attualmente un'interfaccia a linea di comando si ottiene per mezzo di un programma che permette all'utente di interagire digitando opportuni comandi su un emulatore di terminale testuale: esempio tipico sono le shell, ma anche altri programmi utilizzano questo approccio. c : \ > DIR /s Input stream …… …… Output stream “ DIR ” = Directory “ /s ” = il DIR è ricorsivo; sfoglia cioè tutte le cartelle della Directory Il computer infatti è visto come una black box al cui interno entrano “comandi” ed “informazioni” Comando Output Informazione INTERFACCE WIMP ( Windows Icons Menu Pointers) Windows = finestre che permettono l'interazione con l'utente mostrando i risultati o l'oggetto dell'elaborazione in corso e accettando i comandi che questo vorrà impartire. Icons = rappresentazioni simboliche degli oggetti, un'immagine (di solito un disegno stilizzato) di dimensioni ridotte il cui scopo è rappresentare un programma, un'azione o un tipo di file o, più in generale, per trasmettere informazioni in forma estremamente sintetica Menu = raccolta di tutti i comandi che possono essere immessi in una finestra “shell” o “dos”. Pointers = Il puntatore del mouse, ad esempio, è di solito una piccola freccia con la quale puntare gli oggetti sullo schermo. Premendo un pulsante su tale dispositivo si esegue una particolare azione sull'oggetto su cui è situato il puntatore; l'azione dipende dal pulsante premuto. INTERFACCE PER APPLICAZIONI WEB INTERFACCE NAVIGAZIONALI (utilizzate prevalentemente nel web) L'interfaccia navigazionale permette di reperire le informazioni desiderate in modo semplice ed immediato. BW >> 0; BW = band weight Le interfacce WIMP sono più ricche in termini di oggetti ma i “data layer” sono piccoli rispetto alle applicazioni di tipo navigazionale. DATA (desktop) << DATA (navigazionale) BW (desktop) >> BW (navigazionale) Sul web si può solo cliccare su specifici oggetti (su link e su pulsanti o caselle), digitare testi, scorrere con barre di scorrimento. Sul desktop, invece, sono possibili queste azioni assieme a molte altre. Ad esempio, vi è il doppio click per lanciare un’applicazione. Il click e lo scorrimento , il posizionamento e il rilascio per lanciare funzioni da un menu, e così via. La larghezza di banda per le applicazioni desktop è nettamente superiore a quella delle applicazioni web. Le interfacce WIMP sono più ricche in termini di oggetti ma i “data layer” sono piccoli rispetto alle applicazioni di tipo navigazionale. Le interfacce che permettono l’accesso al DB sono costituite da due caratteristiche: VISTE DETTAGLIO DI OGGETTI ELENCHI DI OGGETTI (ad esempio il desktop) VISTE DI DETTAGLIO ELENCHI DI DI OGGETTI OGGETTI CREA NUOVO : si parte da zero nella realizzazione dell’oggetto READ DETAIL (lettura dettagliata dell’oggetto) UPDATE DELETE CREA PER COPIA (viene copiato un oggetto già esistente) READ PREVIEW DELETE ORDINAMENTO FILTRAGGIO OPERAZIONI ESEGUITE SUL DATABASE ORDINAMENTO : permette di visualizzare i dati in ordine basandosi su un certo criterio, senza modificare il modo in cui tali dati sono memorizzati FILTRAGGIO : viene dato un criterio che permette di selezionare alcuni oggetti RICERCA DATI DESTRUTTURATI DATI STRUTTURATI Tenendo sempre presente la PIRAMIDE DI ANTHONY che rappresenta al meglio i vari livelli di un’azienda, (la DIREZIONE che impartisce le direttive ai livelli sottostanti, il MANAGER addetto al controllo del lavoro del personale operativo e impartisce loro le direttive provenienti dal livello superiore, l’OPERATORE che interagisce direttamente con la clientela); DIREZIONE MANAGER OPERATORI analizziamo un’applicazione del tipo: CLIENTE ACQUISTA PRODOTTO CATEGORIA MERCEOLOGICA SCHEMA DI NAVIGAZIONE Si individuano i “GOAL” del CLIENTE e del MANAGER. CLIENTE ACQUISTO INTERFACCIA CLIENTE VE = viste elenco VD = viste di dettaglio HOMEPAGE PROPRI DATI VD PROPRI ACQUISTI VISTA DI DETTAGLIO ASCQUISTO VE CATALOGO DEI PRODOTTI SOTTOCATEGORIE MERCI ELENCO PRODOTTI VISTA DETTAGLIO PRODOTTI VE VE VE MANAGER CONTROLLO OPERATORI PIANIFICARE ACQUISTI E VENDITE INTERFACCIA MANAGER HOMEPAGE VE CLIENTE CLIENTE SINTETICO VE ACQUISTI ACQUISTO SINTETICO VE PRODOTTO VD PRODOTTO CATEGORIA MERCEOLOGICA CATEGORIA MERCEOLOGICA VE VD BUSINESS INTELLIGENCE Con il termine BUSINESS INTELLIGENCE (BI) ci si riferisce all’insieme di tutti quei processi aziendali che permettono di raccogliere ed analizzare informazioni utili per gli scopi direzionali interni delle organizzazioni e per il controllo di gestione. Tali dati vengono opportunamente elaborati ed utilizzati per supportare concretamente, sulla base di dati attuali, le decisioni di chi occupa ruoli direzionali, (capire l'andamento delle performance dell'azienda, generare stime previsionali, ipotizzare scenari futuri e future strategie di risposta ). ESERCIZIO 1: GESTIONE DI UN HOTEL NOME COGNOME DATA DI NASCITA INDIRIZZO USER ID PASSWORD CLIENTE INCONTRA GRUPPO PRENOTA STANZA DESCRIZIONE FOTO NUM. POSTI VISTA MARE ESERCIZIO 2: Creare un database in cui vengono raccolti i dati degli studenti , le facoltà che frequentano e la loro residenza. MATRICOLA FREQUENTA STUDENTE INDIRIZZO VIA CAP COMUNE PROVINCIA REGIONE NOME COGNOME E-MAIL NICKNAME PASSWORD FACOLTA’ ESATTO APPARTIENE A RISIEDE IN UNIVERSITA’ DATA INIZIO DATA FINE E’ DOMICILIATO IN TIPO DI APPARTAMENTO N. STANZE N. SERVIZI RISCALDAMENTO APPROSSIMATO GOAL DIAGRAM STUDENTE RICERCA APPARTAMENTO INSERIMENTO DATI ISTITUZIONI OTTIMIZZAZIONI TRASPORTI LOTTA ALL’EVASIONE EDILIZIA UNIVERSITARIA SCHEMA NAVIGAZIONE HOMEPAGE MIEI DATI VD UNIVERSITA’ E FACOLTA’ VE STATISTICHE PER UNIVERSITA’ E FACOLTA’ VD VE TIPO DI APPARTAMENTO MAPPE ELENCO Sandra Toma Giorgio De Matteis