Modulo 5 - Basi di dati INDICE 1. FONDAMENTI DEI DATA BASE .................................................................... 5 1.1. Data base relazionali ................................................................................................5 1.1.1. Cosa è un database .......................................................................................................5 1.1.2. Il DBMS e i linguaggi per il database..........................................................................5 1.1.2.1. I linguaggi del database (approfondimento) ........................................................6 1.1.2.2. Modalità operative del linguaggio SQL (approfondimento)................................6 1.1.3. Le tabelle di un database..............................................................................................6 1.1.4. Data base relazionale: definizione ed esempio ............................................................6 1.1.4.1. Il database Editrice (esempio)..............................................................................7 1.1.5. Ciclo di vita di una base di dati....................................................................................8 1.1.6. La manutenzione del database .....................................................................................8 1.2. Tabelle e campi di un database.................................................................................9 1.2.1. Attributo, tipo e valore: il nome di un dato.................................................................9 1.2.2. Tipo e valore di un dato .............................................................................................10 1.2.3. Dimensione e formato di un campo ...........................................................................10 1.2.3.1. La dimensione di un campo numerico (approfondimento)................................11 1.2.4. Altre proprietà dei campi ...........................................................................................12 1.2.5. Tabelle, campi e record..............................................................................................12 1.2.5.1. Formulazione matematica di relazione (approfondimento) ...............................13 1.2.6. Schema e istanze del database ...................................................................................13 1.2.6.1. Lo schema del database Editrice (esempio).......................................................13 1.2.7. Valori nulli .................................................................................................................14 1.2.7.1. Valori nulli nel database Editrice (esempio)......................................................14 1.2.8. Chiave primaria..........................................................................................................15 1.2.8.1. Chiavi primarie in Editrice (esempio) ...............................................................15 1.2.9. Gli indici ....................................................................................................................16 1.2.9.1. Indici nel database Editrice (esempio)...............................................................17 1.2.9.2. Ordinamento fisico e logico (approfondimento)................................................17 1.3. Relazioni fra tabelle ................................................................................................17 1.3.1. Chiave esterna ............................................................................................................17 1.3.1.1. Le chiavi esterne di Editrice (esempio) .............................................................18 1.3.2. Relazioni “uno a molti” fra tabelle. L'integrità referenziale ......................................18 1.3.2.1. Relazioni 1 a molti nel database Editrice (esempio)..........................................18 1.3.3. Relazioni uno a uno....................................................................................................19 1.3.3.1. Aggiunta di una relazione uno ad uno ad Editrice (esempio)............................19 1.4. Espressioni logiche..................................................................................................20 1.4.1. Espressioni ed operatori logici...................................................................................20 1.4.2. Operatori di confronto................................................................................................21 1.4.3. Operatori logici ..........................................................................................................21 1.4.4. Operatori Like e di nullità. I caratteri Jolly................................................................21 1.4.4.1. Esempi di Like e Is Null (esempio) ...................................................................22 1.5. Elementi di progetto di un DB relazionale..............................................................22 1.5.1. Progetto concettuale...................................................................................................22 1.5.2. Normalizzazione ........................................................................................................22 1.5.2.1. Quattro o una tabella per il database Editrice? (esempio) .................................23 1.5.3. Progetto logico: definizione del database ..................................................................24 1.5.4. Linguaggi per definire, manipolare e interrogare il database ....................................24 1.5.4.1. Una piccola introduzione a SQL (approfondimento).........................................25 1.5.5. Creazione di una tabella.............................................................................................26 1.5.5.1. Creazione delle tabelle di Editrice (esempio) ....................................................26 1.5.5.2. Creazione delle tabelle di Editrice in SQL (approfondimento) .........................26 1.5.6. Introduzione di relazioni fra tabelle ...........................................................................27 1.6. Elementi di progettazione dell'input-output. Maschere e report ............................27 1.6.1. 1.6.2. 1.6.3. 1.6.4. 1.6.5. 1.6.6. 1.7. Vincoli strutturali dei valori nei campi ......................................................................27 Vincoli di dominio e controlli di validità...................................................................27 Maschera di input.......................................................................................................28 Input-output grezzo e formattato................................................................................28 Le maschere ...............................................................................................................29 I report........................................................................................................................29 Operazioni sulle tabelle...........................................................................................30 1.7.1. Introduzione ...............................................................................................................30 1.7.2. Inserimento e aggiornamento di record .....................................................................30 1.7.2.1. Inserimento e aggiornamento in SQL (approfondimento).................................30 1.7.3. Cancellazione di record..............................................................................................31 1.7.3.1. Cancellazione in SQL (approfondimento) .........................................................31 1.7.4. Modifica dello schema del database ..........................................................................32 1.8. Interrogazione della base di dati (query)................................................................32 1.8.1. Cosa è una query ........................................................................................................32 1.8.2. Query su una tabella: la proiezione............................................................................33 1.8.2.1. Proiezione in SQL (approfondimento)...............................................................33 1.8.2.2. Proiezioni in Editrice (esempio) ........................................................................33 1.8.2.3. Clausola DISTINCT (approfondimento) ...........................................................34 1.8.3. Query su una tabella: la selezione..............................................................................34 1.8.3.1. Selezione in SQL (approfondimento) ................................................................35 1.8.3.2. Qualche selezione nel database Editrice (esempio)...........................................35 1.8.4. Ordinamento dei risultati di una query ......................................................................36 1.8.4.1. Ordinamento in SQL (approfondimento)...........................................................36 1.8.5. Query con valori calcolati ..........................................................................................37 1.8.5.1. Calcolo imponibile e ordinamento (esempio)....................................................37 1.8.5.2. Calcolo imponibile e ordinamento in SQL (approfondimento) .........................37 1.8.6. Query su più tabelle: Join...........................................................................................37 1.8.6.1. Join in SQL (approfondimento) .........................................................................38 1.8.6.2. Join su due tabelle di Editrice (esempio) ...........................................................38 1.8.7. Join su più tabelle.......................................................................................................39 1.8.7.1. Join su più tabelle in SQL (approfondimento)...................................................39 1.8.7.2. Join su 3 tabelle di Editrice (esempio)...............................................................39 1.8.8. Considerazioni finali basate sull'esempio Editrice ...................................................40 1.8.8.1. Join in SQL fra le 4 tabelle di Editrice (esempio) .............................................41 2. OPERARE CON ACCESS................................................................................ 42 2.1. File ed oggetti di Access..........................................................................................42 2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6. I comandi di Access. Comandi per file ed oggetti .....................................................42 Aprire Access con un nuovo database o con uno esistente........................................44 Le funzioni di Help ....................................................................................................46 File Access e suoi "oggetti" .......................................................................................46 Elaborazione e creazione degli oggetti ......................................................................47 Apertura di un oggetto. Modalità di visualizzazione .................................................48 2.1.7. Salvataggio di un oggetto e del file dati di Access ....................................................49 2.1.8. Finestre e barre degli strumenti..................................................................................49 2.1.8.1. Personalizzare le impostazioni di base (approfondimento) ...............................50 2.1.9. Chiusura del database.................................................................................................50 2.2. Creare ed operare con le tabelle. Creare relazioni ................................................50 2.2.1. I comandi per le tabelle..............................................................................................50 2.2.2. Progettare ed avviare la creazione di tabelle..............................................................52 2.2.3. Creare lo schema di una tabella in Visualizzazione struttura ....................................53 2.2.4. Inserire chiave primaria e campi indicizzati ..............................................................55 2.2.4.1. Impostare un indice multicampo (approfondimento).........................................55 2.2.5. Salvataggio della tabella ............................................................................................56 2.2.5.1. Creazione e salvataggio delle tabelle di Editrice (esempio) ..............................56 2.2.6. Relazioni tra tabelle ...................................................................................................59 2.2.6.1. Le relazioni in Editrice (esempio)......................................................................60 2.2.7. Altre modalità di creazione: guidata e per immissione dati.......................................61 2.2.7.1. La creazione guidata (approfondimento) ...........................................................62 2.2.8. Modifica dello schema di una tabella ........................................................................63 2.2.9. L’aspetto "estetico" di una tabella .............................................................................64 2.3. Immissione ed elaborazione dei dati .......................................................................65 2.3.1. 2.3.2. 2.3.3. 2.3.4. 2.3.5. 2.3.6. 2.3.7. 2.4. I comandi per l'elaborazione dei dati .........................................................................65 Navigare tra i dati.......................................................................................................66 Inserire, eliminare e modificare i dati ........................................................................67 Selezione di campi e record .......................................................................................68 Copia, taglia e incolla dati..........................................................................................68 Trovare e sostituire i dati nel database.......................................................................68 Applicare un filtro a selezione ...................................................................................69 Creare ed operare con le query ..............................................................................70 2.4.1. I comandi per le query ...............................................................................................70 2.4.2. Creazione di una query .............................................................................................71 2.4.3. Query a tabella singola creata in visualizzazione struttura ........................................72 2.4.3.1. Creazione di query a tabella singola in Editrice (esempio) ...............................74 2.4.3.2. Query a tabella singola in Editrice in SQL (approfondimento).........................74 2.4.4. Query a più tabelle create in visualizzazione struttura ..............................................74 2.4.4.1. Creazione di query-join in Editrice (esempio)...................................................74 2.4.5. Creazione guidata di una query..................................................................................76 2.5. Creare ed operare con le maschere ........................................................................77 2.5.1. I comandi per le maschere .........................................................................................77 2.5.2. Introduzione alle maschere Access ............................................................................79 2.5.2.1. Il layout di alcune maschere di Editrice (esempio)............................................79 2.5.3. Creazione di una maschera ........................................................................................80 2.5.3.1. Personalizzazione in alcune maschere di Editrice (esempio) ............................82 2.5.4. Creazione guidata di una maschera............................................................................84 2.5.5. La maschera in visualizzazione struttura ...................................................................85 2.5.5.1. Costruzione o modifica di una maschera (esempio) ..........................................86 2.5.5.2. Inserimento di oggetti vari in una maschera (approfondimento).......................89 2.6. Creare ed operare con i Report ..............................................................................91 2.6.1. I comandi per i report.................................................................................................91 2.6.2. Introduzione ai report di Access ................................................................................92 2.6.2.1. Il layout di alcuni report di Editrice (esempio)..................................................93 2.6.3. Creazione di un report................................................................................................94 2.6.3.1. Creazione di un report di Editrice (esempio).....................................................95 2.6.4. 2.6.5. Creazione guidata di un report ...................................................................................96 Modifica report in Visualizzazione struttura .............................................................99