Elementi di gestione di dati con MS Access Breve introduzione per il corso ECDL mod.5
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.
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
Operazione sugli archivi Manipolazione dei dati: modifica fisica dei dati sull’archivio Inserimento Modifica Cancellazione Consultazione dei dati. Visualizzazione dati Stampa
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
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)
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.
Tabelle campi record Ogni riga identifica un record. I record devono essere unici all’interno della tabella
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)
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.
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
Creiamo un database Cinema: la finestra principale di ACCESS Selezionare crea un nuovo file..
Creiamo una tabella Selezionare Crea una tabella in visualizzazione struttura
Inseriamo i campi Nome completo:Testo Data di nascita:Data/ora Nella colonna Tipo dati selezionare il tipo adatto al campo Inseriamo i campi Nome completo:Testo Data di nascita:Data/ora Luogo di nascita:Testo Foto:Oggetto OLE
Scelta chiave primaria Promuovere il campo Nome completo a chiave primaria Selezionare uno o + campi che costituiranno la chiave primaria, quindi la chiavetta sulla barra degli strumenti.
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
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.
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.
Esercizio creiamo una tabella FILM con i seguenti attributi: IDFilm, Titolo, Anno, nazione, Lunghezza, Nazione, Regista, Incasso Italia, Recensione, Locandina, Critica La chiave primaria?
Esercizio creiamo una tabella REGISTI con i seguenti attributi: Nome, Data di nascita, Luogo di nascita, Foto La chiave primaria?
Esercizio creiamo una tabella DETTAGLI ATTORI con i seguenti attributi: Nome completo, Biografia, Sito personale La chiave primaria?
Arricchire il DB per ora le tabelle che abbiamo creato sono scollegate e mancano di tante informazioni utili
Lista dei desideri aggiungere a FILM un campo GENERE che possa assumere i seguenti valori AZIONE,AVVENTURA,ROMANTICO,ORRORE, SPLATTER,STORICO,FANTASCIENZA. Mettere in relazione i film con i registi. Mettere in relazione gli attori con i dettagli attori.
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
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
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
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
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
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
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)
Relazione 1 a molti nel nostro esempio se voglio mettere in relazione FILM a REGISTI (lo stesso regista puo’ avere piu’ film)
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
Tabella di giunzione RECITA_IN
Relazione molti a molti
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: creazione guidata (wizard) che permette di selezionare attributi da una tabella creazione tramite visualizzazione della struttura creazione diretta con comandi SQL (non la vedremo)
Il Wizard delle query creiamo una query che estragga i titoli dei film e i relativi registi
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
I criteri nelle query lista degli attori che recitano in pulp fiction in ordine crescente rispetto alla data di nascita
Esercizi lista degli attori che recitano nei film di Tarantino dopo il 2000 (visualizzando anche il titolo del film)
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)
Le maschere: esempio semplice selezioniamo i campi che vogliamo inserire, stando attenti a mettere tutti quelli obbligatori
Le maschere: esempio semplice scegliamo l’aspetto della form e il nome...
Le maschere: esempio semplice per inserire un nuovo record...
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
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