M03 ud04.qxd:M03 ud04 - Rizzoli...

28
MODULO 3 Unità 4 - Database In moltissime attività nasce l’esigenza di avere a disposizione informazioni di vario tipo; se pensiamo, per esempio, a una scuola ci rendiamo conto che ogni giorno vengono trattati dati relativi a persone (studenti, docenti, personale di segreteria, tecnici, bidelli), a documenti (circolari, orari, registri, certificati ecc.), ad attività didattiche (verifiche, assenze, progetti ecc.). Quando la mole di dati è rilevante nasce inevitabilmente la necessità di archiviarli in modo tale che ri- sultino disponibili in ogni momento. L’insieme dei dati, archiviati secondo criteri funzionali all’attività svolta, prende il nome di Raccolta dati o Database (base di dati ). Affinché un insieme di dati possa considerarsi un database deve godere delle seguenti proprietà: tra le informazioni esiste un nesso logico (sono per esempio relative a un medesimo argomento); i dati sono registrati su un supporto che consente di scrivere e leggere dati; i dati sono organizzati per consentire una loro rapida consultazione. 4.1 Database relazionali I modelli organizzativi delle raccolte di dati possono essere diversi, tuttavia, nel campo della loro gestione informatiz- zata, quello di gran lunga più affermato è il database relazionale che consiste nel raccogliere i dati in una o più ta- belle. Consideriamo le seguenti descrizioni: il prof. Fortuna Alessandro insegna Matematica al Liceo Scientifico; il prof. Peron Stefano insegna Chimica all’I.T.I.; la prof.ssa Valentini Valeria insegna Spagnolo al Liceo Linguistico; esse contengono una serie di informazioni omogenee relative ad alcuni attributi di diversi docenti (Cognome, Nome, Ma- teria d’insegnamento, Istituto) che vogliamo organizzare; la strada più intuitiva da seguire è quella di costruire una ta- bella nella cui intestazione siano indicati gli attributi da memorizzare; si ottiene quanto riportato in figura 4.1 dove viene descritta anche la nomenclatura della tabella. Di fondamentale importanza sono i due concetti di record e di campo; il primo è formato dalla serie di dati che si riferiscono allo stesso soggetto e corrisponde fisicamente alla riga della tabella (nella figura 4.1 la prima riga contiene tutti dati diversi relativi allo stesso docente: il suo cognome, il suo nome ecc.). Il campo è l’elemento della tabella che contiene lo stesso tipo di dato; esso corrisponde alla colonna della tabella. Un insieme di record costituisce la tabella; più tabelle costituiscono il database. Il termine relazionale discende dal fatto che le tabelle possono essere messe in relazione tra loro come accade nel- l’esempio riportato in figura 4.2, dove la tabella Dipendenti è stata divisa in due parti per tenere separati dati di tipo di- verso; l’elemento che consente di creare una relazione è il campo N°Mat che, essendo presente in entrambe le tabelle, permette di far corrispondere, per ciascun N°Mat, i dati contenuti nei record della seconda tabella con quelli della prima. Il campo N°Mat assume il nome di chiave primaria. La struttura illustrata nelle figure 4.1 e 4.2 chiarisce anche come sia concettualmente semplice la gestione del database, infatti è possibile: inserire nuovi record, modificarli, eliminarli, metterli secondo un certo ordine o cercarli; per queste ultime operazioni un database informatico costituisce un efficace strumento per poter creare un indice per ogni campo. Ovviamente per gestire queste operazioni, quindi per impiegare convenientemente il database, è necessario l’uso di uno specifico software. A questo punto possiamo meglio comprendere la seguente definizione: un database è una raccolta di dati correlati disposti in modo altamente organizzato così da poter essere fa- cilmente e rapidamente resi disponibili tramite un programma di ricerca e gestione. © 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione Modulo 3 - Unità 4 Database 1 figura 4.1

Transcript of M03 ud04.qxd:M03 ud04 - Rizzoli...

Page 1: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

MODULO 3Unità 4 - DatabaseIn moltissime attività nasce l’esigenza di avere a disposizione informazioni di vario tipo; se pensiamo, per esempio, auna scuola ci rendiamo conto che ogni giorno vengono trattati dati relativi a persone (studenti, docenti, personale disegreteria, tecnici, bidelli), a documenti (circolari, orari, registri, certificati ecc.), ad attività didattiche (verifiche, assenze,progetti ecc.). Quando la mole di dati è rilevante nasce inevitabilmente la necessità di archiviarli in modo tale che ri-sultino disponibili in ogni momento. L’insieme dei dati, archiviati secondo criteri funzionali all’attività svolta, prende ilnome di Raccolta dati o Database (base di dati).Affinché un insieme di dati possa considerarsi un database deve godere delle seguenti proprietà:

◗ tra le informazioni esiste un nesso logico (sono per esempio relative a un medesimo argomento);◗ i dati sono registrati su un supporto che consente di scrivere e leggere dati;◗ i dati sono organizzati per consentire una loro rapida consultazione.

4.1 Database relazionaliI modelli organizzativi delle raccolte di dati possono essere diversi, tuttavia, nel campo della loro gestione informatiz-zata, quello di gran lunga più affermato è il database relazionale che consiste nel raccogliere i dati in una o più ta-belle. Consideriamo le seguenti descrizioni:

◗ il prof. Fortuna Alessandro insegna Matematica al Liceo Scientifico;◗ il prof. Peron Stefano insegna Chimica all’I.T.I.;◗ la prof.ssa Valentini Valeria insegna Spagnolo al Liceo Linguistico;

esse contengono una serie di informazioni omogenee relative ad alcuni attributi di diversi docenti (Cognome, Nome, Ma-teria d’insegnamento, Istituto) che vogliamo organizzare; la strada più intuitiva da seguire è quella di costruire una ta-bella nella cui intestazione siano indicati gli attributi da memorizzare; si ottiene quanto riportato in figura 4.1 dove vienedescritta anche la nomenclatura della tabella. Di fondamentale importanza sono i due concetti di record e di campo; ilprimo è formato dalla serie di dati che si riferiscono allo stesso soggetto e corrisponde fisicamente alla riga della tabella(nella figura 4.1 la prima riga contiene tutti dati diversi relativi allo stesso docente: il suo cognome, il suo nome ecc.).

Il campo è l’elemento della tabella che contiene lo stesso tipo di dato; esso corrisponde alla colonna della tabella. Uninsieme di record costituisce la tabella; più tabelle costituiscono il database.Il termine relazionale discende dal fatto che le tabelle possono essere messe in relazione tra loro come accade nel-l’esempio riportato in figura 4.2, dove la tabella Dipendenti è stata divisa in due parti per tenere separati dati di tipo di-verso; l’elemento che consente di creare una relazione è il campo N°Mat che, essendo presente in entrambe le tabelle,permette di far corrispondere, per ciascun N°Mat, i dati contenuti nei record della seconda tabella con quelli dellaprima. Il campo N°Mat assume il nome di chiave primaria.La struttura illustrata nelle figure 4.1 e 4.2 chiarisce anche come sia concettualmente semplice la gestione del database,infatti è possibile: inserire nuovi record, modificarli, eliminarli, metterli secondo un certo ordine o cercarli; per questeultime operazioni un database informatico costituisce un efficace strumento per poter creare un indice per ogni campo.Ovviamente per gestire queste operazioni, quindi per impiegare convenientemente il database, è necessario l’uso di unospecifico software. A questo punto possiamo meglio comprendere la seguente definizione:

un database è una raccolta di dati correlati disposti in modo altamente organizzato così da poter essere fa-cilmente e rapidamente resi disponibili tramite un programma di ricerca e gestione.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 1

figura 4.1

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 1

Page 2: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.2 Il DBMSIl software per la gestione di un database prende il nome di DBMS (Data Base Management System) ed è costituito daun insieme complesso di programmi che controllano l’organizzazione, la memorizzazione, il reperimento dei dati non-ché la sicurezza e l’integrità del database. Tra questi programmi assumono particolare importanza:

◗ il DDL (Data Definition Language) cui è affidato il compito di definire la struttura del database, ovvero degli og-getti che lo costituiscono, e dei dati in esso contenuti;

◗ il DML (Data Manipulation Language) che fornisce gli strumenti per leggere, inserire, modificare o eliminare i dati;◗ il DCL (Data Control Language) che assegna i permessi necessari all’utente per agire sulla struttura del database e

sui dati.

Attualmente il linguaggio più utilizzato per la realizzazione dei DBMS relazionali è l’SQL (Structured Query Language).Tra i DBMS proprietari presenti sul mercato per l’ambiente PC citiamo:

◗ FileMaker Pro® della FileMaker;◗ Informix® dell’IBM;◗ Microsoft SQL Server® e Microsoft Access® della Microsoft;◗ Oracle® della Oracle Corporation;◗ Paradox® della Corel.

Il più diffuso DBMS open source è invece MySQL sviluppato dalla Sun Microsystems presente all’interno della suiteOpenOffice.org.Negli esempi di questa unità si utilizza il DBMS Access© che fa parte del pacchetto Microsoft Office.

La struttura del databaseIn un database possono essere definite almeno quattro categorie di oggetti a ognuna delle quali è affidato un compitospecifico:

◗ Tabelle: costituiscono il sistema per la memorizzazione dei dati. ◗ Query: sono utilizzate per interrogare il database, ovvero per selezionare, tra tutti i dati contenuti, solo quelli che

soddisfano le condizioni fissate dall’utente; possono essere viste come sottotabelle. Per il loro sfruttamento devonoessere preventivamente definite le relazioni tra le tabelle.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 2

figura 4.2Esempio di relazione.

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 2

Page 3: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

◗ Maschere: sono finestre grafiche che facilitano la let-tura e l’aggiornamento dei dati (inserimento, modificae cancellazione di record).

◗ Report: consentono la stampa dei dati secondo le ri-chieste dell’utente.

Le modalità con le quali gli oggetti appena definiti intera-giscono nella gestione del database sono sinteticamentedescritte in figura 4.3. È possibile sintetizzare quanto dettofino a questo punto affermando che un DBMS consente di:

◗ inserire, correggere ed eliminare dati dalle tabelle, at-traverso l’impiego di appositi strumenti, le maschere;

◗ ricercare dati che soddisfano determinate condizioniservendosi delle query;

◗ produrre documenti dettagliati sui dati, per mezzo dei report.

4.3 La progettazione del databaseLa prima operazione da effettuare per la produzione di un database è la sua progettazione; questa deve essere la piùcompleta possibile prevedendo i possibili sviluppi nonché le modalità con le quali verrà utilizzato. In particolare oc-corre stabilire:

◗ quanti e quali dati devono essere trattati;◗ come classificare i dati ovvero in quante e quali tabelle conservarli;◗ quali campi inserire per ciascuna tabella;◗ come mettere in relazione le tabelle scegliendo i campi chiave,◗ di quante e quali maschere servirsi;◗ come interrogare il database con le query; ◗ quali report preparare per la stampa dei dati.

Le regole di normalizzazioneSappiamo che ogni tabella deve contenere un certo tipo di informazioni che caratterizzano un oggetto o un evento; maquando si progetta un database come si fa a stabilire quante tabelle servono e quali campi dovranno essere previsti?Un aiuto importante ci viene fornito dalle regole di normalizzazione; queste stabiliscono infatti una serie di criteri checi guidano nella costruzione delle singole tabelle in modo tale da realizzare un database che sia il più efficiente possi-bile. La teoria dei database prevede diversi livelli di normalizzazione, uno successivo all’altro. Una base di dati che sod-disfa il terzo livello di normalizzazione già raggiunge un elevato grado di efficienza e ci sono buone probabilità chesoddisfi anche alcuni livelli successivi.Il primo livello di normalizzazione 1NF (first Normal Form) richiede che tutti i valori di ogni campo siano in-divisibili.Mettere, per esempio, in un unico campo nome e cognome di un soggetto non soddisfa il primo livello di normalizza-zione in quanto il valore può essere suddiviso in nome e cognome.

Il motivo che sta alla base di questa regola è il seguente: se un campo contiene più valori non è possibile riutiliz-zarli in maniera semplice e immediata.

Nel caso già menzionato di nome e cognome il problema è limitato, ma pensiamo a un database che gestisce gli ordinidi un commerciante all’ingrosso di frutta; se gli ordini di ogni cliente vengono inseriti tutti in un campo (10 kg di ba-nane, 20 kg di mele, e così via per tutti gli altri tipi di frutta ordinati) il problema dell’estrazione e dello sfruttamentodei dati diventa notevole.

La prima regola impone che i dati devono essere suddivisi in più campi in modo tale che ognuno di essi con-tenga solamente una singola informazione.

Tuttavia occorre prestare attenzione a come si mette in pratica questa regola; infatti, tornando all’esempio del com-merciante, se nella stessa tabella ordini mettiamo tanti campi quanti sono i possibili prodotti ordinati, commettiamo l’er-rore di dover prestabilire un numero massimo di tipi di frutta che ogni cliente può ordinare; le conseguenze di questascelta sono:

◗ non poter gestire un ordine più grande di quelli previsti;◗ lasciare molti campi vuoti per tutti gli ordini con pochi tipi di frutta.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 3

figura 4.3Schema d’impiego del database.

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3

Page 4: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

La corretta strutturazione del database per risolvere un problema di questo tipo può essere quella di assegnare un re-cord a ogni ordine e inserendo il dettaglio di ogni singolo ordine (il tipo e la quantità di frutta ordinata) in un’altra ta-bella messa in relazione con la prima. La seconda tabella deve contenere in ogni record il riferimento all’ordineprincipale e un solo prodotto tra quelli acquistati.

Il secondo livello di normalizzazione 2NF si ha quando una tabella soddisfa il livello 1NF e contemporanea-mente ogni campo è totalmente dipendente dall’intera chiave primaria.

La parola intera è necessaria in quanto la chiave primaria può essere formata da più di un campo. In questi casi va ve-rificato se tutti i campi dipendono dall’intera chiave primaria o ci sono alcuni di essi che invece dipendono solo da unodei campi che formano la chiave stessa. Se si verificasse quest’ultimo caso, per ricondurre la tabella al secondo livellodi normalizzazione, sarebbe necessario scomporla in più tabelle messe in relazione tra loro.Per comprendere la seconda regola torniamo all’esempio del commerciante di frutta ipotizzando una tabella comequella fornita in figura 4.4 nella quale la chiave primaria è composta dai due campi che contengono il numero dell’or-dine e quello del prodotto ordinato.La tabella è 1NF perché ogni campo contiene valori indivisibili; il problema dell’acquisto di più prodotti da parte di unostesso cliente è stato risolto unendo il numero dell’ordine con il codice del prodotto e assegnando una riga per ogni coppiaOrdine Prodotto. La tabella non è invece 2NF perché i campi Cliente e Data ordine non dipendono dall’intera chiave prima-ria ma solo dal campo Ordine; in altre parole possiamo anche dire che ci sono dei valori (la Data e il Cliente) che si ripetonoper ogni riga dell’ordine: il loro inserimento multiplonon serve a niente se non a occupare spazio. Anchein questo caso la soluzione può essere quella di di-videre la tabella in due: la prima deve contenere glielementi essenziali dell’ordine e quindi il numero, ladata e il cliente; la seconda deve contenere il detta-glio dell’ordine e quindi, per esempio, i prodotti or-dinati e le quantità. Le due tabelle saranno poi messein relazione tra loro attraverso il campo ordine.

Il terzo livello di normalizzazione 3NF si ha quando una tabella soddisfa il livello 2NF e contemporaneamentetutti i campi diversi dalla chiave primaria sono indipendenti l’uno dall’altro.

Un esempio di dipendenza è un campo calcolato (per esempio il costo ottenuto moltiplicando la quantità per il prezzounitario); il database è molto più efficiente se il calcolo viene eseguito da una query, o da un report; infatti, così facendosi occupa meno spazio nel database e si evita di dover ricalcolare il valore quando viene modificato uno degli altri va-lori. I campi dipendenti creano problemi quando si decide di modificare, aggiornare o cancellare dei record.Consideriamo una tabella composta dai campi Ordine, Codice prodotto e Descrizione prodotto; il campo Descrizioneprodotto è dipendente dal campo codice prodotto. Supponiamo che ci siano 100 ordini per il prodotto uva; dopo averinserito questi ordini si decide di modificare la descrizione dell’articolo uva per distinguere quella proveniente dal vi-gneto A da quella del vigneto B; siamo costretti ad aggiornare tutti i 100 record precedentemente inseriti. Anche in que-sto caso è molto più efficiente dividere la tabella in due parti messe in relazione tra loro; una deve contenere il numerodell’ordine e il codice del prodotto, l’altra il codice del prodotto e la relativa descrizione.

Le relazioni tra tabelleCome risulta evidente da quanto appena detto per rispettare le regole di normalizzazione e progettare un database ef-ficiente si deve ricorrere spesso alla creazione di più tabelle da mettere successivamente in relazione.La relazione tra due tabelle A e B può appartenere a una delle seguenti categorie:

◗ Uno a Uno: un record della tabella A non può avere più di un record corrispondente nella tabella B e viceversa; unesempio è la tabella Anagrafica dipendenti e Assegnazione servizi riportata in figura 4.5.

◗ Uno a Molti: un record della tabella A può avere più di un record corrispondente nella tabella B, ma un record dellatabella B può avere un solo record correlato nella tabella A; un esempio sono le tabelle Categorie prodotti e Ma-gazzino prodotti della figura 4.6; la prima si dice tabella lato uno, la seconda è individuata come tabella lato molti;il campo Categoria della tabella Magazzino prodotti si dice chiave esterna. La relazione uno a molti è la relazionepiù comune nei database relazionali.

◗ Molti a Molti: un record della tabella A può avere più di un record corrispondente nella tabella B e viceversa; unesempio sono le tabelle Ordini e Prodotti: un ordine può contenere più di un prodotto e un prodotto può apparirein più ordini. Normalmente la relazione Molti a Molti non può essere direttamente gestita dai DBMS operanti in am-biente PC; è necessario introdurre una terza tabella C, detta di congiunzione, che divide la relazione molti a moltiin due relazioni uno a molti.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 4

figura 4.4

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 4

Page 5: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

Le regole di integrità

Le regole d’integrità possono essere di due tipi: generali e specifiche del database.Due sono le regole generali: l’integrità dell’entità e l’integrità referenziale. La prima è molto semplice e prevedeche il campo chiave primaria non sia nullo o vuoto. La giustificazione di questa regola è evidente, non potendosi iden-tificare univocamente un record se la chiave primaria può essere nulla. Lo stesso discorso vale anche per le chiavi pri-marie composte; nessuno dei campi che formano la chiave primaria può essere nullo. Generalmente questa regolaviene applicata automaticamente dal DBMS che non accetta chiavi primarie nulle.

La regola d’integrità referenziale prevede che un database non deve contenere nessuna chiave esterna senza un va-lore corrispondente.

Questo significa che se due tabelle sono in relazione fra loro, non può essere aggiunto un record che faccia riferimentoa un altro record nell’altra tabella senza che questo esista realmente; non si può cancellare un record di una tabella col-legato (tramite chiavi esterne) a uno o più record dell’altra tabella.

Le regole d’integrità specifiche del database sono quelle definite dal progettista del database stesso; esse riguardanoi dati che verranno inseriti nelle tabelle e hanno lo scopo di assicurare che essi siano congruenti (la data e l’ora del-l’ordine non possono essere precedenti all’ora corrente, l’ora e la data di consegna devono essere successive alla datadell’ordine, la quantità ordinata non può essere inferiore a 1 ecc.). Come si intuisce tali regole possono essere le piùsvariate poiché dipendono dal tipo di dati da trattare; la loro definizione avviene in fase di determinazione della strut-tura delle tabelle assegnando le proprietà ai campi (in particolare con la proprietà Valido se che vedremo più avanti).

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 5

figura 4.5

figura 4.6

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 5

Page 6: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.4 L’ambiente di lavoro di un DBMSDopo aver aperto un database o averne creato uno nuovo ci si trova in un ambiente di lavoro che, come mostra la fi-gura 4.7, nel software Microsoft Access© è costituito, oltre che dalle solite quattro barre (del titolo, dei menu, degli stru-menti e di stato), da una finestra database che costituisce una sorta di pannello di comando dal quale è possibilecostruire gli oggetti e gestire il database; essa contiene una barra degli strumenti che permette di attivare comandi e sce-gliere tra varie visualizzazioni, un frame grigio con l’elenco delle categorie di oggetti (Tabelle, Query ecc.), un secondoframe grigio, posto sotto al primo, sul quale possono porsi le cartelle contenenti i file di database, un frame bianco dovesono elencati gli oggetti relativi a ogni categoria selezionata (per esempio se selezioniamo la categoria tabelle, in essotroviamo l’elenco delle tabelle del database); al suo interno ci sono anche i comandi per creare gli oggetti del database.

La finestra del database può essere visualizzata ingrandita; in tal caso viene a costituire un blocco unico con la finestradelle applicazioni, tuttavia in alto a destra, come mostrato in figura 4.8, restano presenti i pulsanti di riduzione a icona,ingrandimento e chiusura di entrambe le finestre, quella dell’applicazione e quella del database.

La barra degli strumenti, detta anche barra database, ha la particolarità di essere interattiva, modi-ficandosi in funzione delle situazioni, per rendere disponibili i comandi di volta in volta necessarialle operazioni che si stanno effettuando.

Tutti i comandi del menu File si riferiscono all’oggetto attivo; se, per esempio, è aperta una maschera,il comando Salva con nome… serve per salvare la maschera con il nome assegnato.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 6

figura 4.7Ambiente di lavoro di un DBMS (Microsoft Access).

figura 4.8

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 6

Page 7: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.5 Creazione delle tabelleLe tabelle sono gli oggetti principali del database poiché costituiscono il contenitore dei dati in esso immagazzinati; glierrori eventualmente commessi nella costruzione delle tabelle si riflettono sul comportamento di tutto il database.La costruzione di una tabella comporta la definizione dei campi che dovranno contenere i dati del soggetto cui si rife-risce la tabella stessa; la tabella Impiegati, per esempio, conterrà presumibilmente i campi Nome, Cognome, Indirizzo,Data di nascita, Data di assunzione ecc. Per definire i campi è disponibile un apposito ambiente la cui struttura è mo-strata in figura 4.9. Nella parte superiore (una tabella a tre colonne) vengono inseriti il nome e il tipo del campo, oltrea un commento facoltativo che potrebbe ritornare utile successivamente in fase di rilettura delle caratteristiche dellatabella.

Per quanto riguarda la scelta del nome del campo, l’unica considerazione che si può fare è di assegnare un nome checi dia subito un’idea delle informazioni che vi sono contenute. L’attribuzione del tipo di dato contenuto nel campo siottiene selezionandolo in un elenco di possibilità:

◗ Testo: dati alfanumerici fino a 255 caratteri.◗ Memo: testo che non ha la limitazione dei 255 caratteri.◗ Numerico: vari tipi di dati numerici (byte, intero lungo, decimale ecc.); va utilizzato solo per quei campi su cui de-

vono effettuarsi calcoli, altrimenti conviene impostare il tipo testo. Per esempio il numero di telefono va impostatocome tipo testo perché il tipo numerico, non accettando numeri che iniziano per zero, non consentirebbe di inse-rire correttamente il prefisso.

◗ Data/Ora: tipo numerico particolare che consente di effettuare di operazioni matematiche su date e orari. ◗ Valuta: tipo numerico particolare adatto per i calcoli sulle valute; antepone automaticamente alle cifre il simbolo della

valuta selezionata.◗ Contatore: tipo numerico speciale che assegna automaticamente, in modo sequenziale o casuale, un numero diverso

a ciascun record all’interno della tabella; come vedremo a breve è particolarmente adatto per i campi impiegati comechiavi primarie.

◗ Sì/No: tipo di dato che accetta solo valori booleani (si/no, vero/falso); nella tabella si presenta come una casella dicontrollo dove l’inserimento del segno di spunta equivale all’attribuzione del valore sì, vero.

◗ Oggetto OLE: permette l’inserimento in una tabella di oggetti OLE; per oggetto OLE (Object Linking and Embed-ding) si intende un oggetto, prodotto con un’altra applicazione, che può essere preso e inserito in un altro conte-sto; per esempio può trattarsi di un file audio, di un video, di un’immagine, di un foglio di calcolo ecc. La disponibilitàdi oggetti specifici dipende dal software installato sul PC.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 7

figura 4.9Ambiente per ladefinizione dellastruttura di unatabella (MicrosoftAccess).

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 7

Page 8: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

◗ Collegamento ipertestuale: permette l’inserimento di un URL, come per esempio un sito web o un indirizzo di postaelettronica.

◗ Ricerca guidata: non è un tipo di dati ma una procedura per creare una colonna ricerca nella quale selezionare,tra quelli presenti, il dato da inserire.

L’impostazione del tipo di dato consente al DBMS di effettuare un primo essenziale controllo al momento dell’immis-sione (non è possibile inserire numeri dove è previsto testo ecc.); se il dato inserito non è coerente con quanto impo-stato, viene visualizzato un messaggio di errore.

ESEMPIO 4.1Assegnare il Tipo dati ai campi della tabella Impiegati descritta all’inizio del paragrafo.

SoluzioneIl campo Nome è di tipo testo come anche i campi Cognome e Indirizzo mentre i due campi Data di nascita e Data di assun-zione sono di tipo Data/ora.

Nella parte in basso della finestra è possibile definire altre proprietà per ogni campo; l’elenco di tali proprietà cambialeggermente in funzione del tipo di dati che dovrà contenere il campo; esaminiamo quelle principali relative a un campodi tipo testo:

◗ Dimensione: la prima proprietà che si può impostare è quella relativa alla dimensione del campo, cioè al numeromassimo di caratteri che il campo può accettare; per alcuni tipi di campi come, per esempio il codice fiscale o lapartita IVA, fissare la dimensione pari al numero di caratteri previsto può costituire un semplice controllo all’immis-sione dei dati.

◗ Etichetta: permette di visualizzare il campo con un nome diverso da quello attribuito in fase di creazione; se, peresempio abbiamo chiamato “DataN” il campo che dovrà contenere la data di nascita ma vogliamo che venga visua-lizzato in modo più leggibile, impostiamo la proprietà etichetta con “Data di nascita”.

◗ Valore predefinito: serve per impostare un dato che viene visualizzato automaticamente nel campo al momentodell’inserimento di un nuovo record e può essere modificato o confermato; è utile nel caso in cui il campo contienelo stesso valore per molti record.

◗ Valido se: questa proprietà è molto importante in quanto permette di impostare un criterio di validazione dei datiimmessi; se, per esempio, nel campo Livello professionale di una tabella Dipendenti possono essere immessi solo idati operaio o impiegato o dirigente, basta impostare la condizione:Valido se, operaio OR impiegato OR dirigente per fare in modo che in fase di immissione dei dati vengano accettatisolo valori uguali a quelli predefiniti.

◗ Messaggio di errore: in caso di immissione di valori diversi da quelli definiti nella proprietà Valido se, viene vi-sualizzato il messaggio di errore personalizzato specificato in questa proprietà.

◗ Richiesto: impostando sì o no è possibile specificare se il campo dovrà essere riempito obbligatoriamente o meno. ◗ Indicizzato: questa proprietà, se impostata, fa sì che il programma crei degli indici dove colloca i record; questo

rende più veloce la ricerca dei dati perché il programma non scorre tutti i record ma va direttamente a consultarel’indice ove il record ricercato è stato collocato; per contro l’indicizzazione fa aumentare la dimensione del database.Fra le opzioni di questa proprietà vi è anche quella Sì (duplicati non ammessi) con la quale ci si assicura che nonvi siano due record con lo stesso valore per quel campo.

Le proprietà, che si possono impostare in campi di altro tipo, sono in gran parte le stesse di quelle appena descritte conalcune differenze, dovute alle specifiche caratteristiche del tipo di dati prescelto. Esaminiamo alcune differenze per iltipo dati numerico:

◗ Dimensione: deve essere selezionata tra le possibili opzioni (byte, intero, intero lungo, precisione singola, preci-sione doppia, ecc.).

◗ Formato: permette di assegnare un formato al numero (generico, percentuale, notazione scientifica ecc.).◗ Posizioni decimali: consente di stabilire il numero dei decimali che si vuole vengano presi in considerazione.

Una proprietà interessante, relativa a diversi tipi di dati, è la maschera di input; essa consiste nella definizione di un for-mato per il dato da memorizzare. L’esempio più facilmente comprensibile riguarda le date: se esse devono essere in-serite nella forma xx/xx/xx si definisce la relativa maschera di input che comparirà nel campo al momento della suadigitazione e che si presenterà con i simboli stabiliti dall’utente (per esempio: __/__/__).Anche con gli altri tipi di campo (data, valuta, ecc.) le proprietà che possono essere impostate sono sostanzialmente lestesse. In generale impostare alcune di queste proprietà per ogni campo della tabella assicura una maggiore coerenzadei dati inseriti nel database.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 8

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 8

Page 9: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 9

La scelta della chiave primariaLa chiave primaria serve a individuare univocamente ciascun record della tabella in modo che possa essere messo inrelazione con i dati contenuti in altre tabelle; essa è un campo i cui valori non si ripetono all’interno della stessa tabella.Ci sono sostanzialmente due modi per creare una chiave primaria: individuare un campo della tabella che per sue ca-ratteristiche sia idoneo a questo uso (per esempio il campo codice fiscale è dato unico per ogni persona), oppure cre-arne uno esclusivamente per questa funzione. È vero che una chiave primaria di questo tipo aumenta la dimensionedel database, in quanto vengono inseriti dati non necessari per la definizione dell’oggetto, ma a volte il loro uso è in-dispensabile; normalmente quando si individua una chiave primaria di questo tipo viene usato il tipo dati contatore.

ESEMPIO 4.2Si vuole realizzare un database per la gestione di una piccola agenzia di collocamento alla quale sono iscritti lavoratori con di-verse qualifiche e competenze specifiche (riguardanti l’informatica e l’inglese); per semplicità il database riguarda i soli lavora-tori e non le aziende dove essi possono essere impiegati.SoluzioneLa prima fase è quella della progettazione. Si rendono necessarie almeno tre tabelle: Lavoratori, Competenze, Disponibilità.Nella prima saranno inseriti i dati anagrafici di ciascun lavoratore; nella seconda la qualifica e le altre competenze; la terza si rendenecessaria per inserire i dati relativi alla loro disponibilità nel tempo. Possiamo ipotizzare per le tre tabelle la struttura descrittanella figura 4.10 dalla quale si de-duce che la tabella Lavoratoridovrà essere in relazione uno auno con le altre due tabelle.La seconda fase è quella dell’im-plementazione su un DBMS. Sup-poniamo di utilizzare MicrosoftAccess®. Lanciato il programmaselezioniamo l’opzione Databasedi Access vuoto nella finestra diavvio di Access e clicchiamo suOK; si apre la finestra Salva nuovodatabase; non avviene come inWord o in Excel dove viene apertoun documento o una cartella e sipuò iniziare il lavoro per poi salvareil file con il nome desiderato; in Ac-cess è necessario salvare imme-diatamente il file con il suo nome;ciò deriva dal fatto che i dati ven-gono inseriti in memoria di massaautomaticamente, record per re-cord. L’estensione dei file di Ac-cess è .mdb. Salviamo il file in unacartella personale con il nome Col-locamento. Si apre la finestra prin-cipale del file; a questo puntodobbiamo costruire le tre tabellescegliendo una delle tre modalitàpreviste (Visualizzazione struttura,Creazione guidata, Immissione nelfoglio dati). Scegliamo la primaperché è sicuramente la più flessi-bile. Al termine della digitazione delnome dei campi e del rispettivotipo dati la finestra assumel’aspetto mostrato in figura 4.11.Cliccando su Salva viene aperta lafinestra nella quale è possibile in-serire il nome della tabella: Lavora-

figura 4.10

figura 4.11Tabella in Visualizzazione struttura di Microsoft Access.

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 9

Page 10: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 10

figura 4.12 Tabella in Visualizzazione foglio dati di Microsoft Access.

figura 4.13

figura 4.15

tori; al messaggio “Nessuna chiave primaria definita” rispondere Sì per inserirla automaticamente. Prima di chiudere la tabella ap-pena realizzata andiamo a osservare il suo aspetto cliccando sul pulsante Visualizzazione foglio dati (il primo a sinistra della barra da-tabase); se è stato fatto tutto correttamente otterremo la situazione descritta in figura 4.12.Con lo stesso procedimento si costruiscono le altre due tabelle come mostrato nelle figure 4.13 e 4.14.Al termine del lavoro la finestra principale del database elenca le tabelle presenti al suo interno (fig. 4.15).

figura 4.14

M03_ud04.qxd:M03_ud04 29-01-2010 9:18 Pagina 10

Page 11: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.6 Le mascherePer aggiungere o modificare record, invece di operare direttamente sul foglio dati, è preferibile creare una maschera,ovvero un’interfaccia grafica in grado di visualizzare un solo record per volta e di gestire il passaggio da un record al-l’altro con un dispositivo molto compatto e intuitivo: il selettore di record (fig. 4.16).Pensare alle maschere solo in termini di lettura e aggiornamento del database è tuttavia molto riduttivo per questo stru-mento che, in realtà, consente di realizzare dei veri e propri pannelli di comando (fig. 4.17).Le maschere possono essere realizzate con due procedimenti molto diversi tra loro; il primo prevede una procedura gui-data a ogni passo della quale si effettuano delle scelte tra una serie di opzioni proposte; il secondo metodo è assai piùflessibile perché consiste nell’inserire in una finestra gli oggetti che devono costituire la maschera prelevandoli da unaCasella degli strumenti (fig. 4.18).Tutti gli oggetti che costituiscono la maschera prendono il nome di controlli; le loro proprietà sono gestibili attraversola finestra Proprietà (fig. 4.19); questa è interattiva nel senso che si riferisce al controllo selezionato e cambia in temporeale cambiando selezione.La finestra proprietà può riferirsi, oltre che a ciascun controllo, anche alla maschera in generale oppure a una delle suesezioni componenti che, come mostra la figura 4.20, sono:

◗ il corpo: è la zona in cui vengono visualizzati i dati all’interno delle caselle di testo;

◗ l’intestazione maschera: è la zona dove vengono inserite informazioni generali come, per esempio, il logo del-l’azienda o il titolo della maschera oppure eventuali pulsanti di comando;

◗ il piè di pagina maschera: presente sempre in coppia con l’intestazione, svolge la stessa funzione di contenere in-formazioni generali come, per esempio, istruzioni per l’uso della maschera, data aggiornata automaticamente, ecc.;

◗ l’intestazione pagina: è utile quando si vuole stampare la maschera per riportare all’inizio di ogni pagina stampatail titolo e le altre informazioni aggiuntive;

◗ il piè di pagina pagina: presente sempre in coppia con l’intestazione pagina, consente di stampare informazionigenerali, come per esempio, il numero di pagina.

Come già detto le proprietà delle sezioni e dei controlli in esse contenuti sono gestibili attraverso la finestra Proprietàche dispone di cinque schede, una per ciascun tipo di proprietà:

◗ Formato: contiene le caratteristiche relative all’aspetto della maschera (fig. 4.19);◗ Dati: gestisce le caratteristiche relative alla visualizzazione dei dati;◗ Evento: specifica le macro da eseguire al verificarsi degli eventi specificati;◗ Altro: elenca alcune proprietà aggiuntive non meglio classificabili;◗ Tutte: visualizza tutte le proprietà in un’unica scheda.

All’interno delle sezioni, che costituiscono la maschera, i controlli possono essere posizionati e spostati con la tecnicadel trascinamento.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 11

figura 4.16Selettore di record (Microsoft Access).

figura 4.18Casella degli strumenti di Microsoft Access.

figura 4.17Maschera che realizza un pannello di comando.

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 11

Page 12: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

ESEMPIO 4.3Creare con il metodo dellaCreazione guidata una ma-schera Lavoratori per la ge-stione della tabella Lavoratoridell’esempio 4.2.

SoluzioneAprire il file Collocamento;nella finestra principale deldatabase selezionare l’og-getto Maschere; attivare il co-mando Crea una mascheramediante una creazione gui-data.

Nella prima fase (fig. 4.21) siseleziona la tabella Lavoratorie si inseriscono i campi chedevono essere visualizzatinella maschera; nella se-conda fase (fig. 4.22) si sce-glie il layout della mascheratra quelli proposti; nella fase

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 12

figura 4.19Finestra Proprietà di Microsoft Access aperta sulle proprie-tà dell’etichetta Libro mastro della maschera di figura 4.17.

figura 4.20

figura 4.21

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 12

Page 13: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 13

figura 4.22 figura 4.23

successiva (fig. 4.23) si sceglie lo stile da utilizzare; l’ultimo step (fig. 4.24) consente di assegnare il nome alla maschera e di sce-gliere se aprire la maschera per visualizzare i dati oppure entrare nella struttura della maschera per modificarla. Dopo aver scelto,per esempio, il layout a colonne e lo stile standard, il risultato che si ottiene è quello mostrato in figura 4.25.

L’impiego delle caselle di controllo, dei pulsanti di opzione e degli interruttori (vedi casella degli strumenti) permette direalizzare vere e proprie finestre di dialogo utilissime, insieme ai pannelli di comando, per la gestione del database da parte dipersonale non esperto di informatica in generale e del DBMS impiegato in particolare.

Le maschere possono essere costruite con campi provenienti da diverse tabelle; in tal caso si dicono semplici se vi-sualizzano un solo record di ciascuna tabella oppure complesse se contengono sottomaschere per visualizzare i datidelle tabelle con relazione uno a molti; la maschera principale visualizza il record della tabella lato uno mentre la sot-tomaschera visualizza i record associati contenuti nella tabella lato molti.

figura 4.24 figura 4.25

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 13

Page 14: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.7 La ricerca dei datiLa semplice visualizzazione dell’intera tabella con tutti i dati in essa contenuti non è un metodo efficace per effettuareuna ricerca sui dati archiviati.Per trovare ed estrarre dal database le informazioni che soddisfano determinate condizioni si possono percorrere le duestrade illustrate di seguito.

◗ Impiego dei filtri: i filtri permettono di selezionare nell’ambito di una tabella soltanto una parte dei record, quelliche soddisfano le condizioni poste dall’utente; i filtri possono essere a selezione o in base a maschera e sono uti-lizzabili in modo molto intuitivo.La figura 4.26 mostra la griglia del filtro in base a maschera nella quale devono scriversi le condizioni di ricerca; peresempio, per cercare tutti i record per i quali la data di nascita è posteriore al 01/01/1990 è sufficiente scrivere nelcampo Data di nascita la condizione >01/01/1990.

◗ Impiego delle query: le query sono gli strumenti principali per effettuare qualsiasi tipo di ricerca nel database; unavolta salvate, le query rimangono sempre a disposizione e potranno essere richiamate in qualsiasi momento; di esseci occupiamo diffusamente nelle considerazioni che seguono.

IL DBMS fornisce i seguenti diversi tipi di query:

◗ di selezione: sono quelle più utilizzate e servono per ricercare i dati, presenti su una o più tabelle, che soddisfanole condizioni imposte dall’utente, visualizzandoli su una nuova tabella;

◗ di comando: servono per modificare molti record con una sola operazione che può essere di eliminazione, ag-giornamento, accodamento e creazione tabella;

◗ a campi incrociati: servono per estrarre valori di riepilogo da tabelle a doppia entrata;

◗ con parametri: possono operare in modo diverso in base al parametro che di volta in volta viene inserito durantela loro esecuzione.

Occupiamoci in particolare delle query di selezione; esistono tre modi per costruire query:

◗ usando la creazione guidata;

◗ usando la visualizzazione struttura;

◗ immettendo direttamente istruzioni SQL.

I primi due sono comuni anche alle maschere e ai report; il terzo è caratteristico solo delle query ed è il metodo piùflessibile e potente, ma richiede all’utente la conoscenza del linguaggio SQL.

Una caratteristica essenziale delle query è la loro interattività; le informazioni che vengono visualizzate dopo la loro ese-cuzione sono modificabili; se si cambia il valore di un campo da una query la modifica si riflette anche sulla tabella cor-rispondente, come se essa fosse stata fatta sulla tabella stessa.La creazione di query in visualizzazione struttura permette una maggiore flessibilità rispetto alla creazione guidata con-sentendoci di impostare più parametri e quindi ottenere query più utili.All’avvio della procedura si aprono due finestre: in primo piano Mostra tabella e in secondo piano la Finestra di strut-tura. Tramite la finestra in primo piano è possibile scegliere la tabella (o le tabelle) interessate dalla query.La finestra di struttura è suddivisa in due parti: quella superiore contiene le tabelle che abbiamo scelto, quella inferiorecontiene la griglia per impostare i comandi della query.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 14

figura 4.26Filtro in base a maschera di Microsoft Access.

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 14

Page 15: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

Analizzando la griglia possiamo osservare che: le colonne servono per impostare i comandi relativi a ogni singolocampo, la prima riga contiene l’indicazione del campo, la seconda il nome della tabella in cui è contenuto il campo, laterza il tipo di ordinamento che deve essere seguito nella presentazione dei dati (crescente, decrescente o nessun or-dinamento), la quarta permette di mostrare o meno i dati di una colonna comunque inclusa nella query e gli ultimi duecontengono i criteri per ricercare solo alcuni dati.

Visualizza foglio dati è il comando che manda in esecuzione la query.La flessibilità delle query è notevole, soprattutto grazie ai vari operatori e comandi che possono essere utilizzati per sce-gliere quali dati mostrare. Nella tabella 4.1 si fornisce un elenco di esempi di alcuni comandi e la relativa spiegazione.Tutti questi comandi vanno inseriti nella riga criteri del campo che si vuol filtrare. L’elenco non è esaustivo, ma soloesemplificativo.

Estrarre i dati da una sola tabella è senz’altro utile ma ci fornisce solo una minima parte delle informazioni contenutein un database; il processo di normalizzazione tende infatti a ripartire i dati tra tante tabelle. È pertanto spesso indi-spensabile interrogare contemporaneamente più tabelle per avere informazioni complesse e più complete. Creare querysu più tabelle è estremamente semplice, l’importante è ricordarsi che per avere dati significativi si devono interrogaretabelle che siano legate tra loro da una relazione. Con le query è possibile estrarre tutti i dati che vengono immagazzinati nel database, riclassificarli e riorganizzarli a no-stro piacimento con estrema facilità.Per chiarire come funzionano le query attraverso un esempio è necessario inserire una serie di dati nel database Col-locamento degli esempi precedenti.Una serie di dati è fornita nelle tabelle 4.2, 4.3 e 4.4.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 15

tabella 4.1

Comando Risultato

Between 01/01/2008 and 31/12/2008 Restituisce i dati compresi tra il 01/01/2008 e il 31/12/2008 inclusi

In (“Roberto”, “Mario”, “Marco”) Restituisce i record che contengono le parole tra virgolette

Is Null Restituisce i record il cui campo controllato da questo comando è vuoto

Is Not Null Restituisce i record il cui campo controllato da questo comando è pieno

????? Cinque caratteri qualsiasi

< 100 Inferiore a 100

100 Uguale a 100

Like “r*” Restituisce i record che iniziano per r (seguita da un qualunque altro carattere)

Like “*r” Restituisce i record che finiscono per r

Like “[a – d]*” Restituisce i record che iniziano per a – b – c – d seguiti da un qualunque altro carattere

Like “[a – d]?” Restituisce i record che iniziano per a – b – c – d seguiti da un solo carattere

Like “Ma?co”Restituisce i record che cominciano per Ma seguiti da un solo carattere e che finisconoper co

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 15

Page 16: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 16

tabella 4.3

tabella 4.4

tabella 4.2

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 16

Page 17: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

ESEMPIO 4.4Dopo aver inserito nel file Collocamento i dati delle tabelle 4.2, 4.3 e 4.4 costruire le query per soddisfare le seguenti esigenze:

1. Estrarre dal database il Nome e il Cognome dei lavoratori iscritti con il loro numero di telefono;2. Elencare, in ordine di età, i lavoratori iscritti e le rispettive date di nascita;3. Elencare i lavoratori nati dopo il 31/12/1983;4. Elencare i magazzinieri iscritti e le rispettive disponibilità;5. Elencare gli iscritti non occupati con il relativo indirizzo;6. Trovare tutti gli iscritti attualmente impiegati.

SoluzionePrima di procedere alla creazione delle query necessarie, occorre mettere in relazione le tabelle. Selezioniamo l’oggetto tabellenella finestra principale e attiviamo il comando Relazioni; dovrebbe apparire la finestra Mostra tabella (fig. 4.27); se ciò non ac-cade clicchiamo sul pulsante Mostra tabella della barra relazione. Selezioniamo una tabella per volta e clicchiamo su aggiungi;dopo aver chiuso la finestra Mostra tabella ci troviamo all’interno della finestra Relazioni (fig. 4.28). Possiamo, con il trascinamento, ridimensionare le icone delle tre tabelle per fare in modo di avere gli elenchi dei campi com-pletamente leggibili; le icone delle tabelle sono trascinabili all’interno della finestra.Procediamo alla creazione della prima relazione uno a uno tra la tabella Lavoratori e la tabella Competenze; clicchiamo sulcampo ID Lavoratore della tabella Lavoratori e trasciniamo sul campo ID Lavoratore della tabella Competenze; appena lasciamoil mouse compare la finestra Modifica relazioni (fig. 4.29) nella quale si osserva che il tipo di relazione è già stabilito; ciò dipendedal fatto di avere impostato la relazione con le due chiavi primarie delle tabelle; non dobbiamo fare altro che cliccare su Crea. Facciamo la stessa operazione per mettere in relazione la tabella Lavoratori con quella Disponibilità; il risultato è quello visibilein figura 4.30 dove è riportato il layout delle relazioni; ora possiamo chiudere la finestra salvando il layout così come lo abbiamocostruito.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 17

figura 4.27 figura 4.28

figura 4.29 figura 4.30

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 17

Page 18: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

Passiamo alla risoluzione dei di-versi problemi:

1. Nella finestra del database se-lezioniamo l’oggetto query eclicchiamo due volte su Creauna query in visualizzazionestruttura; si apre ancora unavolta la finestra Mostra tabelladalla quale selezioniamo la ta-bella Lavoratori e clicchiamosu aggiungi; per entrare nelsottostante ambiente cherappresenta la struttura dellaquery da realizzare chiudiamola finestra Mostra tabella por-tandoci nella situazione de-scritta in figura 4.31 dove si èusato il trascinamento per ri-dimensionare le parti compo-nenti in modo da avere tutto ilnecessario a disposizione(i campi della tabella e la ta-bella sottostante per la defini-zione della struttura dellaquery). Trasciniamo il campoCognome all’incrocio tra laprima colonna e la prima rigadella tabella struttura; trasci-niamo il campo Nome sull’in-testazione della secondacolonna; trasciniamo il campoTelefono sulla terza colonnaottenendo quanto mostra lafigura 4.32. Cliccando su Vi-sualizza foglio dati si ottiene ilrisultato cercato (fig. 4.33);salviamo la query con il nomeElenco iscritti.

2. Procediamo come nel punto1 fino ad arrivare nella situa-zione descritta in figura 4.34;per ordinare la tabella perdata di nascita occorre sele-zionare crescente nella terzariga (Ordinamento) della co-lonna data di nascita (fig.4.35); salviamo la query con ilnome Età iscritti e la man-diamo in esecuzione otte-nendo quanto mostrato infigura 4.36.

3. Possiamo usare la query già realizzata di nome Età iscritti; sul pannello principale selezioniamo la pagina delle query e fac-ciamo doppio clik su età iscritti; compare di nuovo la situazione della figura 4.36; passiamo in Visualizzazione struttura e nellacolonna data di nascita in corrispondenza della riga Criteri: scriviamo la condizione >31/12/1983 (fig. 4.37); mandando inesecuzione la query otteneniamo il risultato visibile in figura 4.38 da cui si deduce che solo quattro record soddisfano la con-dizione posta.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 18

figura 4.31

figura 4.32

figura 4.33

figura 4.34

figura 4.35

figura 4.36

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 18

Page 19: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4. Dal pannello principale, dopo aver selezionato Crea una query in visualizzazione struttura aggiungiamo tutte e tre le tabelledovendo prendere dati da ognuna di esse; inseriamo nella query i campi, Cognome, Nome, Qualifica, Impiego attuale, Datainizio rapporto, Data fine rapporto.Per selezionare i magazzinieri è necessario scrivere magazzinieri nella riga dei criteri all’incrocio con la colonna qualifica (fig.4.39); dopo aver salvato la query con il nome Magazzinieri la sua esecuzione conduce alla situazione descritta in figura 4.40.

5. Creiamo una nuova query con i campi Cognome, Nome, Indirizzo, Cap, Comune e Impiego attuale; in quest’ultimo campoponiamo la condizione: Nessuno.Salviamo la query con il nome Iscritti non occupati; la sua esecuzione conduce al risultato visibile in figura 4.41. Osservandoil risultato della ricerca si può discutere sulla presenza dell’ultima colonna in termini di informazioni fornite; con questa strut-tura sarà una colonna piena di “nessuno”. Questa ridondanza di dati si supera togliendo il segno di spunta posto nella rigamostra in corrispondenza del campo Impiego attuale; il nuovo risultato è quello illustrato in figura 4.42.

6. Creiamo una nuova query con i campi Cognome, Nome e Impiego attuale e poniamo in quest’ultimo campo il criterio: Notnessuno per ottenere i risultati della figura 4.43.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 19

figura 4.37 figura 4.38 figura 4.39

figura 4.40

figura 4.41

figura 4.42 figura 4.43

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 19

Page 20: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.8 I reportLe tabelle, le query e le maschere possono essere direttamente stampate; tuttavia il ricorso al report come strumento distampa consente di ottenere risultati certamente piu professionali. L’ambiente per la generazione del report è analogoa quello che abbiamo gia visto per le maschere con le medesime funzionalità sia della Casella degli strumenti che dellafinestra Proprietà.Sette sono le sezioni che possono essere presenti in un report:

◗ il corpo: è la parte dove vengono visualizzati i dati;◗ l’intestazione report: ha la stessa funzione dell’intestazione maschera;◗ il piè di pagina report: ha la stessa funzione del piè di pagina maschera;◗ l’intestazione pagina: viene stampata all’inizio di ogni pagina e contiene in genere l’intestazione dei campi;◗ il piè di pagina pagina: è sempre abbinata all’intestazione pagina e ha la stessa funzione del piè di pagina pagina

della maschera;◗ l’intestazione gruppo: compare quando è stato inserito un livello di gruppo e viene utilizzata per inserire il nome

del gruppo;◗ il piè di pagina gruppo: è sempre abbinato all’intestazione gruppo; viene impiegata, per esempio, per effettuare i

totali di gruppo.

Anche i report possono essere creati con le due modalità già viste a proposito delle maschere. Una volta memorizzatoil report la sua struttura può essere ripetutamente impiegata anche dopo gli aggiornamenti del database.

ESEMPIO 4.5Dopo aver aperto il file Collocamento aggiornato con i dati, creare, mediante il metodo della creazione guidata, un report per lastampa dei dati contenuti nella tabella (in particolare i campi Cognome, Nome, Qualifica, Impiego attuale, Data inizio rapporto,Data fine rapporto).

SoluzioneDalla finestra principale del database selezioniamo report eazioniamo il comando Crea un report mediante una creazioneguidata; nella prima fase (fig. 4.44) si scelgono i campi dastampare; non aggiungiamo livelli di gruppo per cui saltiamo laseconda fase e passiamo a quella successiva dove scegliamodi avere i lavoratori in ordine alfabetico per cognome (fig. 4.45).Subito dopo scegliamo il layout da utilizzare, per esempio Ta-bulare con orientamento Orizzontale (fig. 4.46). Nelle ultime duefasi scegliamo lo stile società e assegnamo il nome Lavoratorial report; cliccando su Fine otteniamo il risultato illustrato in fi-gura 4.47.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 20

figura 4.44

figura 4.45 figura 4.46

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 20

Page 21: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

4.9 Esercitazione di informatica: impiego del DBMS Microsoft Access®Si vogliono gestire, per mezzo di Access®, le informazioni relative ai fermi macchina di un impianto produttivo allo scopodi migliorarne la produttività. Le categorie di dati individuate sono: codice identificativo, tipo fermo, reparto, macchina,data, ora, durata. I tipi fermo previsti sono: manutenzione, guasto, allestimento.

Argomento: indagine statistica sui fermimacchina.

Obiettivi: usare un DBMS per gestire undatabase.

Input: dati.Output: dati filtrati e ordinati.

IntroduzioneL’esercitazione è già stata proposta nella sezionecartacea del corso dove si è affrontata per mezzodel foglio di calcolo; riaffrontarla con un DBMSserve a chiarire che è proprio questo il softwarepiù adatto per la gestione delle raccolte di dati.Riportiamo nella figura 4.48 la tabella contenentei dati da elaborare.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 21

figura 4.47

figura 4.48

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 21

Page 22: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

Creazione del databaseProcediamo all’implementazione del database in ambiente Microsoft Access.

1. Aprire il programma Microsoft Access.2. Scegliere l’opzione Database di Access vuoto e cliccare su OK.3. Salvare il nuovo database su una cartella personale con il nome Gestione fermi macchina.4. Azionare Crea una tabella in Visualizzazione struttura.5. Inserire i campi e i corrispondenti tipi dati come indicato in figura 4.49; definire il campo Codice come chiave pri-

maria e salvare la tabella con il nome Fermi macchina.6. Considerata la ripetitività del Tipo fermo e del Reparto conviene associare una colonna ricerca a questi due campi;

allo scopo occorre ridefinire i due tipi dati come Ricerca guidata… (fig. 4.50) e seguire le istruzioni della proce-dura scegliendo nel primo step l’opzione Immissione personalizzata; le due colonne ricerca sono illustrate nelle fi-gure 4.51 e 4.52.

7. Salvare le modifiche apportate alla tabella e chiuderla.8. Aprire la finestra delle maschere e attivare il comando Crea una maschera mediante una creazione guidata; sele-

zionare tutti i campi disponibili; scegliere un layout da applicare alla maschera, per esempio quello a colonne, eavanzare nella procedura; scegliere lo stile da utilizzare, per esempio standard, e andare avanti. Accettare il titoloda assegnare alla maschera proposto dal programma, selezionare l’opzione Modificare la struttura della mascherae cliccare su Fine per avere la situazione descritta in figura 4.53.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 22

figura 4.49

figura 4.50

figura 4.51

figura 4.52 figura 4.53

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 22

Page 23: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

9. Aprire la casella degli strumenti con l’appositopulsante della barra degli strumenti; assegnare1 cm all’intestazione maschera e inserirci un’eti-chetta dal titolo Fermi macchina; allo scopo oc-corre trascinare un’etichetta dalla casella deglistrumenti al punto dell’intestazione nel quale lasi vuole inserire (fig. 4.54).

10. Passare alla visualizzazione maschera e confron-tare il risultato con la figura 4.55; i due zeri visi-bili nella maschera sono dovuti al fatto che i duecampi numerici hanno tra le loro proprietà il va-lore predefinito pari a 0; usare la maschera perinserire i dati della figura 4.48 nel database.In questa fase si devono sfruttare le colonne ri-cerca definite che si aprono cliccando sulla frec-cia posta all’estremità destra dei campi Tipofermo e Reparto (fig. 4.56)

Impiego del database11. Per rispondere alla domanda: quanti fermi abbiamo avuto il 15/05/08? Abbiamo due possibilità: applicare un filtro

oppure creare una query; nel primo caso, aperta la tabella selezioniamo la prima data 15/05/08 che vediamo e poiapplichiamo il filtro in base a selezione ottenendo il risultato mostrato in figura 4.57. Nel secondo caso creiamo laquery della figura 4.58, dove poniamo il criterio Data � 15/05/08, e la salviamo con il nome Fermi del 15/05/08.Una volta eseguita conduce allo stesso risultato della figura 4.57.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 23

figura 4.55 figura 4.56

figura 4.57

figura 4.54

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 23

Page 24: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

12. Ora vogliamo avere l’elenco riscritto in modo crescente rispetto alla durata dei fermi macchina. Dopo aver apertola tabella selezioniamo il campo Data (cliccando sul nome del campo controllando che il suo sfondo sia diventatonero) e attiviamo dalla barra del database il comando Ordinamento crescente ottenendo il risultato mostrato in fi-gura 4.59.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 24

figura 4.58

figura 4.59

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 24

Page 25: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

13. Individuare tutti gli interventi di manutenzione effettuati nel reparto Macchine Utensili. Creiamo una query comemostrato in figura 4.60 che eseguita conduce al risultato mostrato in figura 4.61.

14. Individuare gli interventi nel reparto Macchine utensili di durata superiore a 180 minuti. Sfruttando la query già fattaaggiungiamo la condizione >180 nel campo durata ottenendo quanto illustrato in figura 4.62.

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 25

figura 4.60

figura 4.61

figura 4.62

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 25

Page 26: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

Modulo 3 - Unità 4 Database 26

Esercizi proposti

1. Progettare un database per gestire la biblioteca di famiglia.

2. Progettare un database per gestire il proprio archivio diCD musicali.

3. Creare un database Gestione Alunni contenente una ta-bella Dati anagrafici. Essa deve contenere i campi: IDAlunno (contatore), Cognome, Nome, Data di nascita eindirizzo (via, codice postale, città); dopo averla definitainserire direttamente al suo interno i dati dei compagnidi classe.

4. Aggiungere una seconda tabella al database GestioneAlunni denominata Dati personali che contenga i se-guenti campi: ID Alunno (contatore), Sesso, Statura,Peso. Il campo Sesso deve poter contenere i soli duevalori M o F.

5. Aggiungere una terza tabella al database Gestione Alunnidal nome Dati della segreteria che contenga i seguenticampi: ID Alunno (contatore), Classe, Tasse, Libretto giu-stificazione. Gli ultimi due campi sono di tipo logico e ser-vono per sapere se l’alunno ha pagato le tasse e se haritirato il libretto delle giustificazioni; per default entrambii campi devono contenere un Si.

6. Mettere in relazione uno a uno la tabella Dati anagraficidel database Gestione Alunni con la tabella Dati della se-greteria.

7. Creare una maschera per ciascuna tabella del databaseGestione Alunni e inserire per mezzo di esse i dati man-canti nelle tabelle Dati personali e Dati della segreteria.

8. Nel database Gestione Alunni creare una query per tro-vare tutti gli alunni che non hanno ritirato il libretto dellegiustificazioni; l’elenco deve contenere il Cognome, ilNome e la Classe.

9. Nel database Gestione Alunni creare una query per tro-vare tutti gli alunni nati tra due date; i campi visualizzatidevono essere: Cognome, Nome, Data di nascita, Sta-tura e Peso.

10. Nel database Gestione Alunni creare una query basatasulla tabella Dati personali per individuare altezza e pesomassimi separatamente per maschi e femmine.

11. Creare un report per la stampa dei dati contenuti nellatabella Dati anagrafici del database Gestione Alunni.

12. Implementare il database dell’esercizio 1.

13. Implementare il database dell’esercizio 2.

Verifica di fine unitàRifletti e individua, tra le alternative fornite, l’unica ri-sposta corretta

1. Quando il puntatore del mouse si trova nella zona di edi-tazione di Word assume la forma:

di una freccia rivolta in alto a sinistradi un segno � nerodi una i maiuscola Idi una freccia quadrupla

2. La visualizzazione del documento attivo idonea alla mag-gior parte delle operazioni di editing è quella attivabilecon il comando:

Visualizza-NormaleVisualizza- Layout di stampaVisualizza-StrutturaFile-Anteprima di stampa

3. Il punto d’inserimento in Word è individuato da:una i maiuscola Iuna freccia rivolta in alto a sinistrauna freccia rivolta in alto a destraun trattino verticale lampeggiante

4. Quale, tra le seguenti opzioni, non riguarda la formatta-zione del testo?

allineamentotipo di caratterecontrollo ortograficoelenchi puntati e numerati

5. Con il termine font si indica:il formato del carattereil tipo di caratterela dimensione del carattereil colore del carattere

6. Il primo salvataggio di un documento di Word e di Excelsi effettua con il comando:

SalvaSalva con nomeChiudiNuovo

7. Il metodo della registrazione è utilizzato da Word e daExcel per:

costruire un modelloutilizzare un modello predispostoutilizzare una macropredisporre una macro

8. Quale, tra i seguenti strumenti, è disponibile in Excel enon in Word?

barra del titolomenu principalecampo di riferimentobarre di scorrimento

9. Le basi di dati hanno come scopo principale quello di:effettuare calcoli su dati numericigenerare diagrammi e grafici con i dati a disposizionearchiviare datipubblicare rapporti

10. Indicare quale tra i seguenti non è un oggetto di Access:reportrecordquerytabellad

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 26

Page 27: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

Modulo 3 - Unità 4 Database 27

11. La riga di una tabella rappresentaun recordun campoun reportun dato

12. La colonna di una tabella rappresentaun recordun campoun moduloun dato

13. Una maschera viene utilizzata pereseguire una selezione di datieseguire dei calcoliinserire dati in una tabellainserire dati o comandi

14. Un file di Access può conteneresolo tabellesolo tabelle e reportsolo tabelle e mascheretabelle, query, report e maschere

15. Nella progettazione di un database è indispensabile pre-vedere almeno

una tabellauna tabella e una queryuna tabella e una mascherauna tabella e un report

Rispondi alle seguenti domande

1. Come si definisce una raccolta di dati?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

2. Di quali proprietà deve godere un insieme di dati per po-tersi definire database?

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

3. Descrivi il concetto di database relazionale....................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

4. Qual è il compito delle chiavi primarie nei database rela-zionali?

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

5. Da quali programmi principali è costituito un DBMS?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

6. Qual è la struttura di un DBMS?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

7. Che funzioni svolge la maschera?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

8. Come definisci le query?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

9. A che cosa serve un report?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

10. Che cosa sono le regole di normalizzazione?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

11. Quando si ha il secondo livello di normalizzazione?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

12. Quale vantaggio porta il rispetto delle regole di normaliz-zazione?

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

13. Quanti tipi di relazioni conosci?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

14. A che cosa servono le regole di integrità referenziale?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

15. Descrivi, per grandi linee, l’interfaccia grafica di unDBMS.

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

16. Perché la barra degli strumenti di Access è interattiva?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

17. Quali sono i tipi dati supportati da Microsoft Access?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

d

c

b

a

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 27

Page 28: M03 ud04.qxd:M03 ud04 - Rizzoli Educationauladigitale.rizzolieducation.it/.../4681/54/5280367/mod3/pdf/M03_u… · M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 3 La corretta strutturazione

18. Quali sono le principali proprietà del tipo dati Testo?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

19. Quale funzione svolge un contatore?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

20. Quali vantaggi e svantaggi porta l’indicizzazione di uncampo?

...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

21. Che cos’è una maschera di input?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

22. Da quante parti è costituita una maschera?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

23. Come funziona la finestra Proprietà?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

24. Quanti tipi di query esistono?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

25. A che cosa serve una query di selezione?...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Assegna un significato alle seguenti sigle

1. DBMS...................................................................................................................................................

2. DDL...................................................................................................................................................

3. DML...................................................................................................................................................

4. DCL...................................................................................................................................................

5. SQL...................................................................................................................................................

Crea il tuo glossario

Database...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Record...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Campo...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Chiave primaria...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

Chiave esterna...................................................................................................................................................

...................................................................................................................................................

...................................................................................................................................................

© 2010 RCS Libri S.p.A. - G. Natali, N. Aguzzi - Sistemi e automazione

Modulo 3 - Unità 4 Database 28

M03_ud04.qxd:M03_ud04 29-01-2010 9:03 Pagina 28