1 Elementi di gestione di dati con MS Access Breve introduzione per il corso ECDL mod.5.

Post on 02-May-2015

217 views 3 download

Transcript of 1 Elementi di gestione di dati con MS Access Breve introduzione per il corso ECDL mod.5.

1

Elementi di gestione di dati con MS Access

Breve introduzione per il corso ECDL mod.5

2

Concetti introduttivi

• Un database o base di dati e’ un insieme organizzato di dati gestito da un sistema di basi di dati detto DBMS (Data Base Management System)

• DBMS è un programma che permette di creare,organizzare e gestire i dati immagazzinati nel database.

3

Concetti introduttivi

• Un database contiene informazioni correlate suddivise in gruppi omogenei. Questi gruppi costituiscono le Tabelle

• Una Tabella è una raccolta di informazioni su uno specifico tema

• Un database relazionale mette in relazione le informazioni contenute nelle varie tabelle evitando così di avere in più tabelle le medesime informazioni.

• Una riga delle tabelle corrisponde ad un record

• Un record è costituto da campi

• Un campo è una colonna della tabella

4

Operazione sugli archiviManipolazione dei dati: modifica fisica dei dati

sull’archivio1. Inserimento2. Modifica3. Cancellazione

Consultazione dei dati.1. Visualizzazione dati2. Stampa

6

Cosa è Access

• Access e’ un DBMS che permette di progettare e utilizzare DB relazionali

• Un DB Access e’ basato sui concetti di tabella e relazioni tra tabelle

7

Gli oggetti di Access•Tabelle: sono strutture rettangolari fondamentali che contengono i dati sottoforma di record

•Query: sono oggetti che consentono normalmente di estrarre delle informazioni dalle tabelle o da altre query rispondenti a criteri ben definiti (query di selezione). All’occorrenza possono essere usate per modificare le informazioni all’interno del database (query di comando)

8

Gli oggetti di Access•Maschere: sono interfacce grafiche che consentono all’utente di inserire e/o visualizzare in modo semplice le informazioni contenute nel DB.

•Report: sono oggetti normalmente utilizzati per creare una versione stampabile delle informazioni provenienti normalmente da una query. Possono contenere dati riassuntivi ottenuti da formule matematiche.

9

Tabellecampi

record

Ogni riga identifica un record. I record devono essere unici all’interno della tabella

10

Tabelle:unicita’ dei record

• i casi di righe identiche devono essere gestiti in qualche modo:

– aggiungendo campi specifici al soggetto della tabella che rendano unico il record (e.g., codice fiscale per persone, codice ISBN per libri)

– aggiungendo identificatori appositamente definiti (ID)

11

La chiave primaria• Ogni tabella deve avere una chiave primaria, ossia un

attributo o un insieme di attributi che identifichino univocamente un record.

• Esempio: in una tabella contenente informazioni anagrafiche degli studenti di una scuola, promuovere il campo Cognome a chiave primaria non è una scelta corretta poichè è piuttosto semplice avere omonimia di cognome (due fratelli..)..

La scelta migliore è quella di promuovere a chiave primaria un campo univoco per definizione quale il codice fiscale o il numero della carta d’identità, oppure un campo appositamente inserito per questo scopo che solitamente indicheremo con ID o IDStudente (di tipo Contatore).

Un contatore contiene sequenze di numeri,uno per ogni record della tabella. Quando si aggiunge un record il campo viene aggiornato automaticamente.

12

Esercizio guida

• Un esercizio ci guidera’ nel corso di questa lezione:

– la creazione di un database per il cinema, che raccogliera’ informazioni su film, attori, registi, etc

13

Creiamo un database Cinema: la finestra principale di ACCESS

Selezionare crea un nuovo file..

14

Creiamo una tabella

Selezionare Crea una tabella in visualizzazione struttura

15

Inseriamo i campi

• Nome completo:Testo• Data di nascita:Data/ora• Luogo di nascita:Testo

• Foto:Oggetto OLE

Nella colonna Tipo dati selezionare il tipo adatto al campo

16

Scelta chiave primaria

Selezionare uno o + campi che costituiranno la chiave primaria, quindi la chiavetta sulla barra degli strumenti.

• Promuovere il campo Nome completo a chiave primaria

17

Tipi di dato per gli attributi

• Testo: alfanumerici max 255 caratteri• Memo: alfanumerici senza limite di lunghezza• Numerico: utile se si vogliono fare conti su quel campo,

altrimenti e’ meglio testo (e.g., per i numeri di telefono e’ meglio testo)

• Data/ora• Valuta• Contatore: assegna automaticamente, in modo

sequenziale, un numero intero diverso a ciascun record (utile per le chiavi)

• Si/No: valori booleani(cioè del tipo VERO o FALSO)• Oggetto OLE: immagini, video, audio• Collegamento ipertestuale: URL o e-mail..• Ricerca guidata: per selezionare il tipo di attributi di

altre tabelle o query

18

Proprieta’ degli attributi• Variano al variare

del tipo di dato• Ad esempio, nel caso

di un campo Testo abbiamo gli attributi: dimensione campo, Formato,…

• Posizionandosi sul singolo attributo abbiamo nel riquadro di destra una descrizione sintetica.

19

Inserire dati in una tabella

• quando abbiamo finito di definire la tabella passiamo in visualizzazione Foglio dati (occorre salvare)

• L’inserimento avviene in modo naturale spostandosi da un campo all’altro. Il record è automaticamente salvato quando ci si sposta nella riga successiva.

20

Esercizio

• creiamo una tabella FILM con i seguenti attributi:– IDFilm, Titolo, Anno,

nazione, Lunghezza, Nazione, Regista, Incasso Italia, Recensione, Locandina, Critica

– La chiave primaria?

21

Esercizio

• creiamo una tabella REGISTI con i seguenti attributi:– Nome, Data di

nascita, Luogo di nascita, Foto

– La chiave primaria?

22

Esercizio

• creiamo una tabella DETTAGLI ATTORI con i seguenti attributi:– Nome completo,

Biografia, Sito personale

– La chiave primaria?

23

Arricchire il DB

• per ora le tabelle che abbiamo creato sono scollegate e mancano di tante informazioni utili

24

Lista dei desideri

1. aggiungere a FILM un campo GENERE che possa assumere i seguenti valori AZIONE,AVVENTURA,ROMANTICO,ORRORE, SPLATTER,STORICO,FANTASCIENZA.

2. Mettere in relazione i film con i registi.3. Mettere in relazione gli attori con i dettagli attori.

25

Le relazioni

Le relazioni tra tabelle sono uno degli aspetti più iportanti nella progettazione di un database. Esse permettono di suddividere i dati su più tabelle, mantenendo comunque l’unità logica del DB.

Esistono 3 tipi di relazioni, ma solo i primi due sono realizzabili con operazioni dirette di access

26

Le relazioni

• 1 a 1 (uno a uno): si ottiene collegando la chiave primaria di una tabella con la chiave primaria dell’altra. Si ha questo tipo di relazione quando un record di una tabella è in relazione con al più un record dell’altra.

• 1 a N (uno a molti): si ottiene collegando la chiave primaria di una tabella (lato 1) con un campo dello stesso tipo dell’altra (lato molti), detto chiave esterna.Si ha questo tipo di relazione quando ad ogni record di una tabella corrispondono più record dell’altra, ma per ogni record di quest’ultima corrisponde al + un record della prima.

• N a N (molti a molti): si ottiene costruendo una apposita tabella di collegamento che deve necessariamente contenere dei campi che consentono la connessione con i campi chiave primaria delle due tabelle in relazione

27

Relazioni tra tabelle

• Access fornisce la posssibilita’ di creare relazioni tra tabelle in modo da collegare i dati provenienti da diverse tabelle.

• Due tipi di relazione che si possono creare direttamente in Access:– 1 a 1– 1 a molti

28

Relazione 1 a 1• a ogni record di una tabella corrisponde un solo record

dell’altra• Esempio: voglio aggiungere in una tabella a parte eventuali

dettagli personali sugli attori e creo una tabella DETTAGLI ATTORI

29

Integrita’ referenziale

• assicura che le relazioni fra i record di tabelle collegate siano valide e che non si verifichino accidentali variazioni o cancellazioni di informazioni

30

Relazione 1 a 1• a ogni record di una tabella corrisponde un solo record

dell’altra• Esempio: voglio aggiungere in una tabella a parte eventuali

dettagli personali sugli attori e creo una tabella DETTAGLI ATTORI

31

Relazione 1 a molti

• a un record della tabella (tabella primaria) possono corrispondere piu’ record dell’altra.

• sono le relazioni piu’ comuni• nel nostro esempio se voglio mettere in

relazione FILM a REGISTI (lo stesso regista puo’ avere piu’ film)

32

Relazione 1 a molti• nel nostro esempio se voglio mettere in relazione FILM a

REGISTI (lo stesso regista puo’ avere piu’ film)

33

Relazione molti a molti

• esempio: vogliamo modellare le relazioni tra FILM e ATTORI– ogni film ha piu’ attori e ogni attore recita in piu’ film

• in Access la modelliamo come una concatenazione tra due relazioni 1 a molti e l’aggiunta di una tabella di giunzione

• Nel nostro caso possiamo pensare alla tabella RECITA_IN che mette in relazione un attore e un film

• La chiave primaria della tabella di giunzione e’ l’unione delle chiavi primarie delle tabelle che mette in relazione

34

Tabella di giunzione RECITA_IN

35

Relazione molti a molti

36

Le query: creazione guidata

• strumento utile per accedere alle informazioni contenute nel database in modo efficace

• Le istruzioni che compongono la query sono scritte in una variante del linguaggio SQL (Structured Query Language)

• Access fornisce 3 modi per creare query:1. creazione guidata (wizard) che permette di

selezionare attributi da una tabella2. creazione tramite visualizzazione della struttura3. creazione diretta con comandi SQL (non la vedremo)

37

Il Wizard delle query

creiamo una query che estragga i titoli dei film e i relativi registi

38

Esercizio!

• ordiniamo in modo crescente rispetto al nome dei registi e poi al titolo del film

• creiamo una query che selezioni tutte le coppie attori e registi che hanno lavorato insieme

39

I criteri nelle query

• lista degli attori che recitano in pulp fiction in ordine crescente rispetto alla data di nascita

40

Esercizi

• lista degli attori che recitano nei film di Tarantino dopo il 2000 (visualizzando anche il titolo del film)

41

Le maschere

• Le maschere (o form) sono uno strumento utile come interfaccia al database

• possono servire come comodo ausilio all’inserimento dati o per la consultazione dei risultati ottenuti da query

• analizzeremo solo la modalita’ di design automatica (tramite Wizard)

42

Le maschere: esempio semplice

selezioniamo i campi che vogliamo inserire, stando attenti a mettere tutti quelli obbligatori

43

Le maschere: esempio semplice

scegliamo l’aspetto della form e il nome...

44

Le maschere: esempio semplice

per inserire un nuovo record...

45

Maschere con sottomaschere

• per inserire automaticamente dati relativi a due tabelle collegate

• esempio: creiamo una maschera per l’inserimento di un nuovo film e di tutti gli attori che vi recitano

46

Maschere con sottomaschere

• apriamo il Wizard delle form:– inseriamo tutti i campi relativi alla tabella FILM– inseriamo tutti i campi relativi alla tabella RECITA_IN

scorro gli attori di un film

scorro i record dei film