1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo,...

63
Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni 1 Microsoft Access Informatica per laurea triennale di area non informatica LEZIONE N. 1

Transcript of 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo,...

Page 1: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

1 Microsoft Access

Informaticaper laurea triennale di area non

informatica

LEZIONE N. 1

Page 2: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

2 Microsoft Access

Obiettivo della lezione

• Definizione, manipolazione ed accesso ai dati nei sistemi basati sul modello relazionale

• Vedremo l’utilizzo dell’interfaccia visuale di Access: ogni operazione crea automaticamente un enunciato SQL che esegue quell’operazione

• In questa lezione, però, non vedremo la parte SQL

Page 3: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

3 Microsoft Access

Costruzione di uno schema di base dati con Access

• Vogliamo costruire una base dati per la gestione di un archivio bibliografico

• L’archivio deve contenere articoli e libri

• Si dovranno poter fare ricerche sulla base di: titolo, autore, anno di pubblicazione, argomenti

• Per ogni articolo/libro saranno presenti anche la casa editrice e un breve riassunto

Page 4: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

4 Microsoft Access

(A1) Fase di analisi: i requisiti

• Vogliamo tabelle relative ad articoli o libri, della forma• Titolo: ……..

• Autori: ……….

• Dati pubblicazione: (anno, editore, ecc.)

• Riassunto: ………

• Vogliamo inserire ed aggiornare i dati• Vogliamo fare delle ricerche per

titolo, autore, anno, argomento

Page 5: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

5 Microsoft Access

Nota• Articoli e Libri sarebbero entità distinte, ma nella

nostra applicazione “ad uso personale” verranno identificate.Ci sarà cioè una sola entità di nome “Articoli o Libri” le cui istanze saranno articoli o libri.

• Editore, rivista, … sarebbero entità, ma nella nostra applicazione saranno rappresentate in un unico attributo di testo dati pubblicazione.

Page 6: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

6 Microsoft Access

(A2) Fase di analisi: entità ed attributi

• La prima entità è: Articolo o Libro.• Altre entità: autori, argomenti• Possiamo considerare come attributi di

Articolo o Libro:• titolo• anno di pubblicazione• altri dati di pubblicazione (editore, rivista, ecc.)• riassunto

Page 7: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

7 Microsoft Access

(A3) Fase di Analisi: relazioni fra entità

• Un Articolo o Libro può avere più autori e un Autore aver scritto più articoli o libri: si ha• una relazione molti-a-molti

• Similmente si ha una relazione molti-a-molti fra Articolo o Libro e Argomenti

• Per questo Autori ed Argomenti non possono essere trattati come attributi di Articolo o Libro

• Si procederà con più tabelle

Page 8: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

8 Microsoft Access

(A4) Realizzazione in Access

Per la realizzazione in Access, occorre:

• (A4.1) Creare le Tabelle

• (A4.2) Collegare le tabelle con creazione delle chiavi secondarie e vincoli di integrità

• (A4.3) Creare delle maschere per l’inserimento di dati da un elenco

Page 9: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

9 Microsoft Access

(A4.1) Creazione tabelle in Access

• All’apertura di Access, selezionare Crea nuovo database (vuoto) (in seguito, la stessa operazione si potrà eseguire dal menù File/Nuovo)

• Si apre la seguente maschera

Page 10: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

10 Microsoft AccessSelezioniamo la directory

Indichiamo il nome della nuova base dati, ad es. DBArticoli

Alla fine clicsu Crea

Page 11: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

11 Microsoft AccessDa qui si possono creare/modificare/visualizzare Tabelle, Query …

Selezioniamo il tipo di oggetti su cui operare Selezioniamo il tipo di operazione

Crea nuovo

Page 12: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

12 Microsoft AccessFacendo clic su Nuovo compare…

Selezioniamo Visualizzazione Struttura

Facciamo clic su OK

Page 13: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

13 Microsoft AccessCompare una finestra in cui inserire i campi e i loro tipi

Nome del campo

Tipo Eventuale descrizione testuale

Ulteriori proprietà del campo

Page 14: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

14 Microsoft AccessEsempio: campo IdArticolo

E’ un contatore

Si autoincrementa

Vogliamo indicizzarlo

Non vogliamo duplicati

Nome del campo

Page 15: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

15 Microsoft Access

Creazione struttura

• Creiamo i campi della tabella Articolo o Libro come indicato nella seguente diapositiva

Page 16: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

16 Microsoft Access

Per il campo Anno aggiungiamo questo vincolo (non accettiamo Pubblicazioni anteriori al 1970 o posteriori al 2100)

Page 17: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

17 Microsoft Access

Andiamo su IdArticolo e facciamo clic sulla chiave (per indicare che quella è la chiave primaria)

Page 18: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

18 Microsoft AccessSelezioniamo File/Chiudi, diamo OK e scegliamo il nome della tabella (Articolo o Libro)

Page 19: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

19 Microsoft Access

Compare la tabella nuova (vuota)

Page 20: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

20 Microsoft AccessFacendo clic su Apri si possono inserire deidati nella tabella

Si può allargare il campo titolo portando il mouse sulla barretta e trascinando

Page 21: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

21 Microsoft Access

Il contatore si autoincrementaNon viene accettato: l’anno non soddisfa i vincoli

Page 22: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

22 Microsoft AccessMettiamo 2099 come anno (questo è valido)

Salviamo i dati con File/Chiudi

Page 23: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

23 Microsoft Access

Con Apri si modifica il contenutoCon Struttura si modifica la struttura (campi e loro proprietà)

Page 24: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

24 Microsoft Access

Fino a questo punto…

• Ci siamo limitati a scegliere i nomi dei campi e il loro tipo

• Abbiamo accettato le proprietà standard, tranne nel caso dell’Anno (abbiamo inserito un vincolo)

• Ora modifichiamo le proprietà dei campi…• …e inseriamo un vincolo più sofisticato per

l’Anno

Page 25: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

25 Microsoft AccessPer il campo Titolo

Cambia dimensione (da 50 a 100)

Il campo è obbligatorio: cambia Richiesto in Sì

Page 26: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

26 Microsoft AccessPer il campo Anno

Tipo Intero (non Intero lungo)

Campo obbligatorio

Vogliamo cambiare la condizione di validità: cancelliamo quella vecchia e facciamo clic qui

Page 27: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

27 Microsoft AccessAnni validi: dopo il 1970 e minori o uguali all’anno corrente:Date() fornisce la data corrente, e Year(x) estrae l’anno da una data

La condizione si può inserire “manualmente”, o aiutandosi con il menùche fornisce operatori, funzioni ecc.

Page 28: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

28 Microsoft Access

Dopo aver chiuso…

• …la struttura (con File/Chiudi) e aver confermato…

• …compare la finestra:

Page 29: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

29 Microsoft Access

Confermiamo

• Siccome l’ultimo record contiene un anno (2099) non valido rispetto alle nuove regole, compare la finestra

Page 30: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

30 Microsoft Access

A questo punto…

• …apriamo la tabella e correggiamo l’anno errato

• Provate a vedere cosa succede se inserite un anno che non rispetta il nuovo vincolo

Page 31: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

31 Microsoft Access

Tabella Autore

• Creiamo la tabella Autore con i seguenti campi• Nome (di tipo Testo, chiave primaria)• Contatto (di tipo Memo, non obbligatorio,

contenente dati come indirizzo di e-mail ecc.)

Page 32: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

32 Microsoft Access

(A3.1) Relazioni molti-a-molti

• La relazione essere autore di è una relazione molti-a-molti perché:• Un articolo può essere scritto da molti autori• Un autore può avere scritto molti articoli

IdArticolo Titolo …

1 Cani e gatti

2 Canguri

3 L’Ornitorinco

… … …

Nome …

Anna Gialli

Giorgio Bruni

Giovanni Rossi

Mario Bianchi …

Page 33: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

33 Microsoft Access

Come si realizza…

• …una relazione molti-a-molti usando solo relazioni 1-a-molti (che sono le uniche direttamente gestite dai DBMS relazionali)?

Page 34: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

34 Microsoft Access

IdArticolo Titolo …

1 Cani e gatti

2 Canguri

3 L’Ornitorinco

… … …

Nome …

Anna Gialli

Giorgio Bruni

Giovanni Rossi

Mario Bianchi …

IdArticolo Nome

1 Anna Gialli

1 Giovanni Rossi

2 Giovanni Rossi

3 Anna Gialli

3 Giorgio Bruni

Page 35: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

35 Microsoft Access

Relazioni molti-a-molti: regola generale

• Si individuano le due tabelle da collegare:

• Articoli o Libri con chiave primaria IdArticolo

• Autori con chiave primaria Nome

• La relazione molti-a-molti si codifica come tabella

• RelArticoloAutore con campi IdArticolo,Nome

• IdArticolo chiave esterna con integrità referenziale, riferita alla chiave primaria di Articoli o Libri

• Nome chiave esterna con integrità referenziale, riferita alla chiave primaria di Autori

• (IdArticolo,Nome) chiave multicampo di RelArticoloAutore

Page 36: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

36 Microsoft Access

Chiavi multicampo

• Con una chiave multicampo(campo1, …, campon)non si può avere più di un record con gli stessi valori di (campo1, …, campon)

• Tornando al nostro esempio, la chiave multicampo (IdArticolo,Nome) evita ridondanze; ogni coppia (ident. articolo, nome autore) compare una sola volta.

Page 37: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

37 Microsoft Access

Tabella RelArticoloAutore

• Creiamo la tabella RelArticoloAutore con i seguenti campi• IdArticolo (di tipo Intero lungo)• Nome (di tipo Testo)

• Con la coppia (IdArticolo,Nome) come chiave

Page 38: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

38 Microsoft Access

Nota

• Abbiamo usato il Nome come chiave primaria della tabella Autori; quindi non sono ammesse omonimie (si useranno le iniziali ed altri segni distintivi). Una scelta migliore (che non faremo per brevità) potrebbe essere quella di usare una diversa chiave primaria IdAutore.

• In modo simile a quello visto per la relazione molti a molti Articolo o Libro - Autore

• Si può realizzare la relazione molti a moltiArticolo o Libro - Argomento

Page 39: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

39 Microsoft Access

Per realizzare…

• …una chiave multicampo, aprite la tabella RelArticoloAutore (facendo clic su Struttura)

• Scegliamo dal menù Visualizza/Indici

• Modifichiamo gli indici come segue

Page 40: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

40 Microsoft AccessNome dell’indiceCampi dell’indice

Univoco: non è possibile che la stessa coppia compaia più volte

Page 41: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

41 Microsoft Access

Dopo aver creato l’indice…

• …possiamo chiudere la finestra relativa alla tabella RelArticoloAutore

• Access vi consiglierà di creare una chiave primaria, ma voi scegliete No (potrete sempre inserire una chiave primaria in seguito se ne avrete bisogno)

Page 42: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

42 Microsoft Access

Creazione della relazione

• La tabella RelArticoloAutore realizza la relazione essere autore di

• Ora dobbiamo indicare che i due campi della tabella RelArticoloAutore rappresentano dei “collegamenti” con le tabelle Articolo o Libro e Autore

Page 43: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

43 Microsoft Access

Con il menù Strumenti/Relazioni si apre una finestra dal titolo “Relazioni”

Dal menù Relazioni/Mostra tabella si apre una finestra di dialogo

Page 44: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

44 Microsoft AccessDopo aver aggiunto tutte e tre le tabelle, facciamo clic su Chiudi

Page 45: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

45 Microsoft AccessRiordiniamo le tabelle nella finestra, mettendo latabella con la relazione in mezzo

Ora, facciamo clic su IdArticolo nella tabella Articolo o Libro e trasciniamolo su IdArticolonella tabella RelArticoloAutore

Page 46: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

46 Microsoft AccessQuando rilasciamo il mouse si apre questa finestra

Facciamo clic su Crea

Page 47: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

47 Microsoft AccessEcco come compaiono le relazioni dopo aver creato ancheil secondo collegamento (quello relativo al campo Nome)

Page 48: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

48 Microsoft Access

Dopo aver…

• …chiuso la finestra delle relazioni, proviamo a inserire nella tabella RelArticoloAutore gli autori dei vari articoli

• Per farlo dobbiamo selezionare la tabella e fare clic su Apri

Page 49: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

49 Microsoft Access

Queste associazioni sono corrette

Questa è sbagliata! “Marco Mirchi” non è presente nella tabella Autori

Nonostante ciò, Access accetta l’inserimento dell’associazione

Page 50: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

50 Microsoft Access

(A4.2) Chiavi secondarie e vincoli di integrità in Access

• Il problema è che non abbiamo forzato il controllo di integrità relazionale

• Per farlo, riapriamo la finestra delle relazioni (menù Strumenti/Relazioni) e facciamo doppio clic su ciascuna relazione…

Page 51: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

51 Microsoft AccessSi apre questa finestra

Facendo clic qui si forza l’integrità referenziale

Facendo clic qui si richiedeche aggiornamenti su una tabella si riflettano anchesull’altra

Facendo clic qui si richiede che la cancellazione di un recordelimini a cascata anche i record correlati

Page 52: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

52 Microsoft Access

Provate a fare la stessa cosa…

• …anche per l’altra tabella

• Cosa succede? Perché?

• Eliminate il record sbagliato dalla tabella RelArticoloAutore e procedete di nuovo ad applicare l’integrità referenziale

Page 53: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

53 Microsoft Access

Ecco come compare l’insieme delle relazioni alla fine

Page 54: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

54 Microsoft Access

Provate a vedere cosa succede se…

1. Create un record in RelArticoloAutore in cui uno dei due valori non sia presente nella tabella corrispondente

2. Modificate un nome di un autore nella tabella Autore; cosa succede in RelArticoloAutore

3. Cancellate un autore dalla tabella Autore

NOTA: conviene che apriate contemporaneamente tutte le tabelle e proviate a farele modifiche su ciascuna vedendo cosa succede nelle altre… Usate Finestra/Affianca orizzontalmente

Page 55: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

55 Microsoft Access

Tabella Argomento

• Creiamo la tabella Argomento con un solo campo, di nome Argomento, di tipo Testo (chiave primaria, duplicati non ammessi, campo richiesto)

Page 56: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

56 Microsoft Access

Tabella RelArticoloArgomento

• Creiamo la tabella RelArticoloArgomento con i seguenti campi• IdArticolo (di tipo Intero lungo)

• Argomento (di tipo Testo)

• Con la coppia (IdArticolo,Argomento) come chiave multicampo (ricordate: dovete creare un indice!)

• Creiamo una relazione con vincoli di integrità come evidenziato nel seguente diagramma

Page 57: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

57 Microsoft Access

Page 58: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

58 Microsoft AccessPopoliamo anche la tabella RelArticoloArgomento

Page 59: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

59 Microsoft Access

(A5.3) Caselle combinate

• Inserendo coppie di valori in RelArticoloArgomento vi sarete resi conto della difficoltà di inserire argomenti esistenti

• Vorremmo che, quando dobbiamo inserire un argomento, comparisse una “tendina” contenente i valori possibili

• Ciò è possibile usando le caselle combinate

Page 60: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

60 Microsoft AccessApriamo la struttura di RelArticoloArgomento

Andiamo su Argomento e facciamo clic su Ricerca: scegliamo Casella Combinata

Page 61: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

61 Microsoft AccessModifichiamo “Larghezza colonne” a 10cm

Modifichiamo “Solo in elenco” a Sì (non vogliamo inserire valori che non siano nell’elenco)

Facciamo clic qui per scegliere da dove vannoattinti i dati

Page 62: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

62 Microsoft AccessScegliamo Argomento

Page 63: 1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.

Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni

63 Microsoft AccessProviamo ora a modificare il contenuto della tabella…