MODULO 5: Database Lezione 2 ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Tabelle /1 5.2.2.1 Aprire, salvare e chiudere una tabella 5.2.2.2 Cambiare modalità di visualizzazione di una Tabella 5.2.2.3 Eliminare una tabella 5.2.2.4 Navigare tra i record di una tabella 5.2.2.5 Ordinare i record di una tabella in ordine numerico crescente o decrescente, e in ordine alfabetico crescente o decrescente. 5.3.1.1 Inserire, eliminare record in una tabella. 5.3.1.2 Inserire, modificare, eliminare dati in un record. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Tabelle /2 5.3.2.1 Creare e assegnare un nome a una tabella e specificarne i campi con i relativi tipi di dati, quali: testo, numero, data/ora, sì/no. 5.3.2.2 Applicare le proprietà dei campi, quali: dimensioni del campo, formato numerico, formato data/ora, valore predefinito. 5.3.2.3 Creare una regola di validazione per numeri, data/ora, valuta. 5.3.2.4 Comprendere le conseguenze quando si modificano i tipi di dati, le proprietà dei campi di una tabella. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi • Dimensione campo TESTO: max 255 Chr, predefinito 50 Chr • Dimensione campo NUMERICO: Byte = Intero Intero lungo = = 1 byte (da 0 a 255) 2 byte (da -32.768 a 32.768) 4 byte (da -2.147.483.648 a 2.147.483.648) Precisione singola e doppia (4 e 8 byte) ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi • Formato campo Numerico: Numero generico Nessun separatore ne simbolo di valuta Valuta Simbolo di valuta e 2 cifre decimali Fisso Almeno una cifra intera e 2 decimali Standard 2 cifre decimali e punti di separazione per le migliaia Percentuale Valore percentuale Notazione scientifica Notazione scientifica (es.:1,05x1038) ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi • Formato campo Data/Ora: Data generica 19/09/64 14.00.00 (predefinito) Data estesa Sabato 19 settembre 1964 Data breve 19/set/64 Data in cifre 19/09/64 Ora estesa 14.00.00 Ora breve 24h 14.00 Ora breve 12h 2.00 PM ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi •Cifre decimali: Predefinito è ‘Automatiche’ e cioè: 2 cifre decimali per i formati Valuta, Fisso, Standard, Percentuale e il numero necessario di decimali per mostrare la precisione corrente del formato numerico Generico. Si può richiedere una visualizzazione fissa di decimali da 0 a 15 ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi •Maschera di Input: Per i tipi Testo, Numerico e Data si può specificare una maschera di input che l’utente vede quando immette i dati. Esempi: preimpostare i separatori per la data (__/__/__ ) o il prefisso per i numeri di telefono (###)-00-00000 ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi •Etichetta: Assegnare al campo una etichetta che descrive per intero il nome nelle maschere e nel foglio dati • Valore predefinito: Per i numerici è 0 per Testo e Memo è Null. Non è possibile impostare un valore predefinito per i tipi Contatore e Oggetto OLE. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi •Valido se: Si può immettere una espressione che deve essere VERA tutte le volte che si immettono dati in quel campo. Esempio: <100 significa che il campo non accetta valori uguali o maggiori a 100 oppure: “Bari” or “Foggia” or “Lecce” significa che nel campo possono essere accettati solo i valori tra virgolette. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi •Messaggio di errore: Se si è impostata una regola di convalida, in questo campo si imposta un messaggio di errore che verrà visualizzato nel caso in cui nel campo venga inserito un valore diverso da quelli richiesti. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi •Richiesto: se non si ammette un valore Null in questo campo, impostare a SI •Consenti lunghezza zero: per Testo e Memo si può impostare il campo pari ad una stringa di lunghezza zero “” •Indicizzato: per costruire un indice e per stabilire che il valore dell’indice sia duplicabile o no ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Proprietà dei campi Stringhe Null e di lunghezza Zero Entrambe esprimono un campo vuoto ma mentre il valore NULL è un valore vuoto sconosciuto il valore lunghezza Zero è un valore vuoto ma conosciuto. Due stringhe NULL confrontate non sono mai uguali, due stringhe lunghezza Zero confrontate risultano uguali. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Regole di convalida < minore di <= minore di o uguale a > maggiore di >= maggiore di o uguale a = uguale a <> diverso da ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Regole di convalida IN Controlla la uguaglianza con un qualunque elemento di una lista racchiusa tra parentesi (es.:IN(“Bari”;”Lecce”;”Foggia”)) Between Controllo di un intervallo di valori.Il confronto avviene tra due valori (min e max) divisi dall’operatore AND (es.:Between 10 and 50) Like Controlla la corrispondenza di una stringa ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Like ? Qualsiasi carattere singolo * Più caratteri in testa, coda o incorporati # Qualsiasi cifra singola ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Esempi : Like Like “Rossi*” Like “*Rossi##” Like “[!0-9BMQ]*####” inizia con Rossi Like “[A-F]#” inizia con una lettera compresa tra A ed F più un numero inizia con due carattere poi due 0 e quattro numeri Like “??00####” comprenda Rossi seguito da 2 numeri nella prima posizione un carattere che non sia un numero da 0 a 9 e non sia una lettera B, M o Q e finisca con 4 numeri ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” JOIN Join Interno: Vengono visualizzati solo i record delle due tabelle in cui i campi correlati esistono. Join Esterno: Vengono visualizzati tutti i record delle due tabelle anche quelli della seconda tabella dove non esiste un valore di campo correlato. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Tabelle /3 5.3.2.5 Definire un campo come chiave primaria. 5.3.2.6 Indicizzare un campo con, senza duplicati. 5.3.2.7 Inserire un campo in una tabella esistente. 5.3.2.8 Modificare l’ampiezza delle colonne di una tabella. 5.4.1.1 Usare il comando di ricerca per trovare una parola, un numero, una data specificati in un campo. 5.4.1.2 Applicare un filtro ad una tabella 5.4.1.3 Eliminare l’applicazione di un filtro da una tabella ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Indici L’indice è una tabella interna (non visibile) che contiene due colonne: il valore nel campo o nei campi indicizzati e la posizione di ogni record che contiene quel valore nella tabella. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Indici Indici su un solo campo Indici su più campi ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Limiti di un database Una tabella può contenere fino a 255 campi Una tabella può avere fino a 32 indici Un indice multicampo può avere max 10 colonne e non può superare 255 bytes Un database di Access non può essere più grande di 1 Gb ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Foglio dati E’ lo strumento più semplice da utilizzare per la Visualizzazione, l’Aggiornamento, l’Inserimento e la Cancellazione dei dati. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Foglio dati Proprietà Ricerca Casella di riepilogo Casella combinata ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Foglio dati Formattare un foglio dati Voci del menù Formato ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Foglio dati Ordinare e cercare i dati. •Ordinare i dati •TROVA •Filtro in base a Selezione •Filtro in base a maschera ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Progettazione In questa fase, partendo dall’analisi dei requisiti, si devono definire le tabelle, stabilire i campi di ogni tabella e le caratteristiche di ogni campo. Infine si devono definire le relazioni esistenti tra le tabelle. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Ottimizzare il Database E’ fondamentale evitare gli sprechi con alcune regole: NORMALIZZAZIONE ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Le 4 regole della normalizzazione 1. Univocità dei dati 2. Chiavi primarie 3. Dipendenza funzionale 4. Indipendenza dei campi ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Univocità dei campi • Ogni campo in una tabella deve rappresentare un solo tipo di informazione. • Si devono spezzare i campi composti complessi e ci si deve liberare dei gruppi di informazioni ripetitive. • Quando si creano tabelle separate per dati ripetitivi (esmpio: Dettaglio Ordini e Libri) si include un qualche tipo di informazione chiave ricavata dalla tabella principale per creare un collegamento fra le nuove tabelle e quella originale ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Chiavi primarie • Ciascuna tabella deve avere un identificatore univoco o chiave primaria, composto da uno o più campi della tabella. • Ciascun record all'interno di ogni tabella deve essere identificato univocamente. Un buon progetto di DB relazionale non può esimersi dall'aver questo presupposto. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Dipendenza funzionale • Per ciascun valore univoco della chiave primaria, i valori delle colonne dei dati devono essere rilevanti per l'argomento della tabella e devono descriverlo completamente. • Verificare se ciascun campo è funzionalmente dipendente dalla chiave primaria che definisce l'argomento della tabella. • Non devono esserci dati che non riguardano l'argomento della tabella • I dati nella tabella devono descrivere completamente ITCG l'argomento. “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Indipendenza dei campi Deve essere possibile modificare i dati di qualsiasi campo (che non sia uno di quelli contenuti nella chiave primaria) senza influenzare i dati di qualunque altro campo. •Esempio: se immettiamo un valore sbagliato nel campo NomeNegozio saremmo costretti a cambiare non solo il nome del negozio sbagliato ma anche indirizzo, cap, città. •Questi campi non sono indipendenti tra loro ma sono funzionalmente dipendenti da NomeNegozio che può quindi rappresentare una chiave primaria di una nuova tabella per l'argomento NomeNegozio. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Relazioni Una relazione è un legame tra due tabelle basato sul valore di uno o più campi di ciascuna delle due tabelle. Di solito i campi di almeno una delle due tabelle sono campi chiave. I due principali tipi di relazioni sono: •Relazione uno-a-uno: in questo caso ad ogni riga della prima tabella corrisponde una sola riga nella seconda. •Relazione uno-a-molti: in questo caso ad ogni riga della prima tabella corrispondono più righe nella seconda. •Le relazioni molti-a-molti possono sempre essere decomposte in termini di relazioni uno-a-molti con l’aggiunta di “tabelle di appoggio”. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Relazioni Per definire le Relazioni fra tabelle è importante prevedere chiavi primarie e chiavi esterne per ciascuna tabella ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Relazioni Per definire le Relazioni fra tabelle è importante prevedere chiavi primarie e chiavi esterne per ciascuna tabella ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Relazioni •Chiavi esterne In ogni tabella viene creata una chiave esterna, cioè una chiave che fa da collegamento con un’altra tabella. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Creazione di Relazioni La procedura più semplice per la creazione di relazioni è la seguente: • Scegliere il comando Strumenti | Relazioni. • Comparirà la finestra Relazioni assieme ad una finestra di dialogo che consente di scegliere le tabelle tra cui creare le relazioni. • Selezionare ogni tabella di interesse e confermarla con Aggiungi poi chiudere la finestra di dialogo con Chiudi. Nella finestra relazioni rimarranno le tabelle selezionate. Le volte successive, per fare comparire la finestra di dialogo per selezionare le tabelle di interesse dare il comando Relazioni | Mostra Tabella (dopo avere dato il comando Strumenti | Relazioni). ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Integrità referenziale Con l’integrità referenziale si richiede in sostanza che non si possa inserire un valore nella seconda tabella se non c’è già il corrispondente valore nella prima e non si possa cancellare un valore dalla prima tabella se esistono righe correlate nella seconda. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Integrità referenziale Aggiorna campi a catena: aggiorna tutti gli eventuali valori delle chiavi esterne delle tabelle figlie (tabella “molti”) se si cambia il valore di una chiave primaria in una tabella genitore (tabella “uno”). Elimina campi a catena : elimina tutte le righe figlie (tabella “molti”) quando si cancella una riga genitore (tabella “uno”) ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” File Access Report Report Macro Form Form Query Table Page Query Table ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Table Architettura di Access • Tabelle - insiemi omogenei di dati • Query - interrogazioni sui dati, per ricerche • Maschere - moduli per inserire e modificare i dati • Pagine - maschere utilizzate in internet • Report - moduli per stampare i dati su carta • Macro - insieme di comandi di access • Moduli - funzioni in linguaggio di programmazione ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Le principali funzioni di Access • ORGANIZZAZIONE DEI DATI: creazione e gestione di tabelle. • COLLEGAMENTO DI TABELLE: collegare le tabelle secondo relazioni stabilite tra i dati. • ESTRAZIONE DI INFORMAZIONI: estrazione dei dati tramite le query. • IMMISSIONE E AGGIORNAMENTO DEI DATI: tramite le maschere e le pagine. • PRESENTAZIONE DEI DATI: creare report per la stampa o l’elaborazione elettronica. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Maschere Sono oggetti che consentono di creare mappe di inserimento dati o di mostrare il risultato di queries in modo personalizzato. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Maschere ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Maschere/1 • 5.2.2.1 Aprire, salvare e chiudere una maschera • 5.2.2.2 Cambiare modalità di visualizzazione di una maschera • 5.2.2.3 Eliminare una maschera • 5.2.2.4 Navigare tra i record di una tabella ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica” Maschere/2 • • • • • • • • • • 5.5.1.1 Capire che una maschera viene usata per visualizzare e gestire i record. 5.5.1.2 Creare e assegnare un nome ad una maschera. 5.5.1.3 Utilizzare una maschera per inserire record. 5.5.1.4 Utilizzare una maschera per eliminare record. 5.5.1.5 Utilizzare una maschera per inserire, modificare, eliminare dati in un record. 5.5.1.6 Inserire, modificare testo nell’intestazione, piè di pagina di una maschera. ITCG “V. De Franchis” - PON FSE Modulo G/1 “Imp@ro l’informatica”