Access Parte p ri m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e’ un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e’ basato sui concetti di tabella e relazioni tra tabelle 3 Elementi fondamentali Tabelle Query Maschere Report 4 Tabelle I luoghi dove il DataBase memorizza i dati vengono chiamati tabelle. In una singola base di dati, vi sono generalmente numerose tabelle. Ogni tabella raccoglie dati simili, aventi cioè tutti la medesima struttura. 5 Query L’analisi dei dati viene fatta effettuando delle domande a cui il DataBase produce delle risposte, dette interrogazioni o Query. 6 Query (2) Le domande che si possono esprimere nelle query possono essere domande di ricerca, ordinamento, calcolo, modifica, cancellazione … Le risposte a queste domande sono nuove tabelle, eventualmente anche vuote o contententi una unica riga. 7 Query (3) Le Query vengono espresse attraverso appositi linguaggi, detti linguaggi d’interrogazione. SQL e’ i linguaggio d’interrogazione piu’ comune. Access permette di esprimere le query anche in modo grafico. 8 Le maschere Le maschere disegnano le interfacce grafiche con cui gli utenti interagiscono per inserire i dati nelle tabelle, modificarli, effettuare delle query, etc. 9 Le maschere (2) Maschere di immissione, per popolare la base di dati Maschere di interrogazione, per velocizzare il processo di esecuzione di una Query. Maschere di stampa, per inviare i dati ad una stampante. Maschere di comando, per collegare le varie maschere tra di loro. 10 I Report I report costituiscono il modo con cui i risultati calcolati dalle Query possono essere formattati in modo da poter essere stampati in modo leggibile. 11 Tabelle in dettaglio attributi record Ogni riga identifica un record. I record devono essere unici all’interno della tabella 12 Unicità dei Record i casi di righe identiche devono essere gestiti in qualche modo: aggiungendo campi specifici al soggetto della tabella che rendano unico il record (e.g., codice fiscale per persone, codice ISBN per libri) aggiungendo identificatori appositamente definiti 13 Chiave primaria Ogni tabella deve avere una chiave primaria, ossia un attributo o un insieme di attributi che identifichino univocamente un record 14 DB di esempio DATABASE DI CINEMA 15 DB di esempio CREAZIONE TABELLA 16 DB di esempio nome attributo, tipo attributo (numerico, testo, data, ...) proprieta’ attributo scelta chiave primaria 17 DB di esempio SCELTA CHIAVE PRIMARIA 18 DB di esempio TIPI DI DATI IN ACCESS 19 DB di esempio Testo Utilizzare per il testo o le combinazioni di testo e numeri, ad esempio gli indirizzi, o per numeri che non richiedono calcoli, ad esempio i numeri telefonici, i numeri di serie o i codici di avviamento postale. Memorizza fino a 255 caratteri. La proprietà Dimensione campo definisce il numero massimo di caratteri che possono essere digitati. 20 DB di esempio Memo Utilizzare per testo lungo e numeri, ad esempio note o descrizioni. Memorizza fino a 65.536 caratteri. 21 DB di esempio Numerico Utilizzare per i dati numerici da inserire in calcoli matematici, ad eccezione dei calcoli con valuta. In tal caso, utilizzare il tipo di dati Valuta. Memorizza 1, 2, 4 o 8 byte e 16 byte solo per l'ID replica (GUID). La proprietà Dimensione campo definisce il tipo numerico specifico. 22 DB di esempio Data/Ora Utilizzare per la data e l'ora. Memorizza 8 byte. Valuta Utilizzare per i valori di valuta e per evitare gli arrotondamenti per difetto nei calcoli. Memorizza 8 byte. 23 DB di esempio Contatore Utilizzare per i numeri univoci sequenziali (con incremento di una unità alla volta) o per i numeri assegnati in modo casuale inseriti automaticamente quando si aggiunge un record. Memorizza 4 byte e 16 byte solo per l'ID replica (GUID). 24 DB di esempio Sì/No Utilizzare per i dati ai quali può essere assegnato solo uno di due valori, ad esempio Sì/No, Vero/Falso, On/Off. I valori Null non sono consentiti. Memorizza 1 bit. 25 DB di esempio Oggetto OLE Utilizzare per gli oggetti OLE, ad esempio documenti di Microsoft Word, fogli di calcolo di Microsoft Excel, immagini, effetti sonori o altri dati binari creati in altri programmi tramite il protocollo OLE. Memorizza fino a 1 GB (se lo spazio disponibile sul disco è sufficiente). 26 DB di esempio Collegamento ipertestuale: URL o email.. Ricerca guidata: per selezionare il tipo di attributi di altre tabelle 27 DB di esempio INSERIRE DATI IN UNA TABELLA quando abbiamo finito di definire la tabella la chiudiamo e le assegnamo un nome per l’inserimento dati clicchiamo due volte sul nome della tabella 28 DB di esempio Una volta definite le varie tabelle, bisogna arricchire il database tramite il collegamento tra le stesse 29 DB di esempio ATTENZIONE ALLE ANOMALIE I problemi di ridondanza che si verificano quando si cerca di raggruppare troppe informazioni in una singola tabella sono detti anomalie: 1. ridondanza:informazioni ripetute in modo non necessario 2. anomalie di aggiornamento 3. anomalie di cancellazione 30 DB di esempio Come porre rimedio alle anomalie? regola di buon senso: cercare di mantenere tabelle piccole. un’alternativa consiste nel dividere le informazioni in tabelle diverse e poi legare le tabelle tramite relazioni 31 DB di esempio Access fornisce la posssibilita’ di creare relazioni tra tabelle in modo da collegare i dati provenienti da diverse tabelle. Due tipi di relazione che si possono creare direttamente in Access: 1 a 1 1 a molti 32 DB di esempio RELAZIONE 1:1 a ogni record di una tabella corrisponde un solo record dell’altra 33 DB di esempio RELAZIONE 1:N a un record della tabella (tabella primaria) possono corrispondere piu’ record dell’altra. sono le relazioni piu’ comuni 34 DB di esempio RELAZIONE N:N 35 DB di esempio RELAZIONE N:N in Access la modelliamo come una concatenazione tra due relazioni 1 a molti e l’aggiunta di una tabella di giunzione La chiave primaria della tabella di giunzione e’ l’unione delle chiavi primarie delle tabelle che mette in relazione 36 DB di esempio Le query: creazione guidata strumento utile per accedere alle informazioni contenute nel database in modo efficace Le istruzioni che compongono la query sono scritte in una variante del linguaggio SQL (Structured Query Language) 37 DB di esempio Le query: creazione guidata Access fornisce 3 modi per creare query: 1. 2. 3. creazione guidata (wizard) che permette di selezionare attributi da una tabella creazione tramite visualizzazione della struttura creazione diretta con comandi SQL 38 DB di esempio 39 DB di esempio I criteri nelle query 40 DB di esempio Le maschere: creazione guidata Le maschere (o form) sono uno strumento utile come interfaccia al database possono servire come comodo ausilio all’inserimento dati o per la consultazione dei risultati ottenuti da query analizzeremo solo la modalita’ di design automatica 41 DB di esempio Le maschere: creazione guidata 42 DB di esempio Le maschere: creazione guidata 43 DB di esempio Le maschere: creazione guidata 44 DB di esempio Maschere con sottomaschere per inserire automaticamente dati relativi a due tabelle collegate 45 DB di esempio Maschere con sottomaschere 46