MODULO 5 ACCESS Basi di dati MODULO 5 ACCESS Basi di dati Lezione 3 www.mondopcnet.com
ARGOMENTI Lezione 3 Relazioni tra tabelle Perché creare le relazioni Tipi di relazioni Come creare le relazioni Integrità referenziale Esempio 1 Esempio 2 Maschere Cosa sono Creazione guidata maschera Note Esercizio 3 Esercizio 4 mondopcnet.com Access - Basi di Dati - Lezione 1 2
Relazioni tra tabelle Perché creare le relazioni Come detto precedentemente, delle caratteristiche importanti di un DB relazionale sono quelle di evitare ridondanze di dati e di semplificare la gestione; ciò viene fatto mediante l utilizzo di relazioni, che permettono di correlare le informazioni tra le tabelle. Un esempio sono le tabelle prodotti Fornitori viste nelle precedenti lezioni, in cui le due tabelle, per essere in relazione, devono avere un campo con le stesse caratteristiche; per esempio nella tabella Fornitori, id_fornitori è di tipo contatore (ossia numerico) ed è messo in relazione con il campo fornitore della tabella prodotti che dovrà essere di tipo numerico intero lungo. In questo modo si crea una relazione tra il fornitore e i suoi prodotto. Nota: se id_fornitore (della tabella Fornitori) fosse stato di tipo testo dim 50, anche fornitore (della tab. prodotti) doveva essere dello stesso tipo. Id_fornitore Ragione sociale Indirizzo Telefono fax Fornitori prodotti Id_prodotto descrizione mondopcnet.com Access - Basi di Dati - Lezione 1 3 tipo fornitore
Relazioni tra tabelle Tipi di relazioni In generale esistono 3 tipi di relazioni tra le tabelle: Relazione 1 a 1 Relazione 1 a molti Relazione molti a molti Supponiamo di avere due tabelle: tabella 1 e tabella 2 La relazione 1 a 1 significa che ad un record della tabella 1 è associato uno ed un solo record della tabella 2 e un record della tabella 2 è associato ad uno e un solo record della tabella 1. La relazione 1 a molti significa che ad un record della tabella 1 è associata uno o più record della tabella 2 ma non il viceversa (alla tabella 1 è associato un solo record della tabella 1) La relazione molti a molti significa che ad un record della tabella 1 sono associati più record della tabella 2 ed è valido anche per il viceversa mondopcnet.com Access - Basi di Dati - Lezione 1 4
Relazioni tra tabelle Tipi di relazioni - esempi Relazione 1 a molti Fornitori Id_fornitore Ragione sociale Indirizzo Telefono 1 prodotti Id_prodotto descrizione tipo fornitore fax Relazione 1 a 1 Attori Id_Attore Nome Cognome Datadinascita eta 1 1 DettagliAttori Attore hobby Indirizzo mondopcnet.com Access - Basi di Dati - Lezione 1 5
Relazioni tra tabelle Come creare le relazioni Cliccare sull icona mostrata Oppure Dal menu Strumenti -> Relazioni mondopcnet.com Access - Basi di Dati - Lezione 1 6
Relazioni tra tabelle Come creare le relazioni (1) Uscirà questa schermata, nel caso non dovesse uscire cliccare il tasto destro del mouse uscirà un menu a tendina con scritto Mostra tabelle Selezionare la tabella a cui si vuole applicare una relazione e cliccare su Aggiungi mondopcnet.com Access - Basi di Dati - Lezione 1 7
Relazioni tra tabelle Come creare le relazioni (2) Tenendo premuto il tasto sinistro del mouse dalla tabella fornitori (campo id_fornitore) a quella prodotti (campo id_fornitori dello stesso tipo del campo di partenza ma non necessariamente dello stesso nome) comparirà la finestra modifica relazioni con la quale è possibile creare una relazione; Campi tra i quali si stabilisce la relazione Access identifica automaticamente il tipo di relazione mondopcnet.com Access - Basi di Dati - Lezione 1 8
Relazioni tra tabelle Come creare le relazioni (3) In questo modo si crea la relazione tra le due tabelle.(in questo caso uno a molti) mondopcnet.com Access - Basi di Dati - Lezione 1 9
Relazioni tra tabelle L integrità referenziale Integrità referenziale: un insieme di regole tramite le quali si impedisce l eliminazione o la modifica dei record tra tabelle correlate in modo non corretto o non desiderato. Esistono 2 opzioni in Access che si possono applicare con l integrità referenziale: Aggiorna campi correlati a catena Elimina campi correlati a catena Con Aggiorna si applicano le modifiche effettuate su un campo chiave a tutte le tabelle correlate. Con Elimina si eliminano tutti i record appartenenti a tabelle diverse (ma correlate)quando si elimina un record. mondopcnet.com Access - Basi di Dati - Lezione 1 10
Relazioni tra tabelle L integrità referenziale Selezionando si applica l integrità referenziale tra le due tabelle mondopcnet.com Access - Basi di Dati - Lezione 1 11
Esempio 1 Crea il database esercizio1.mdb e salvalo nella cartella documenti ->(cognome); Utilizzando la creazione in visualizza struttura tabella crea le tabelle proprietari con i seguenti campi: idproprietario (contatore), nome, cognome (indicizzato duplicati ammessi), telefono, datanascita (formato data breve) con idproprietario chiave primaria Appartamenti con i seguenti campi: idappartamento(contatore), citta, indirizzo, numerovani, note (di tipo memo), proprietario (tipo numerico) con idappartamento chiaveprimaria Definire una relazione tra idproprietario della tabella proprietari e proprietario della tabella fornitore, applicare anche un integrità referenziale con Aggiorna Inserire almeno 5 proprietari con almeno due appartamenti associati mondopcnet.com Access - Basi di Dati - Lezione 1 12
Esempio 2 Realizzare le seguenti tabelle con la seguente relazione ed inserire almeno 5 attori (attenzione i campi in rosso devono essere obbligatori) Attori Id_Attore (testo) Nome (testo 40) Cognome (testo 60) Datadinascita Eta (intero lungo) 1 1 DettagliAttori Attore(testo) Hobby(indicizzato duplicati non ammessi) Indirizzo Famoso (si/no) mondopcnet.com Access - Basi di Dati - Lezione 1 13
Esempio 3 Applica l integrità referenziale alla relazione fra le tabelle dell esercizio precedente. mondopcnet.com Access - Basi di Dati - Lezione 1 14
Maschere cosa sono Le maschere sono utilizzate per creare un interfaccia grafica verso tabelle, in modo da favorire l immissione e la modifica dei dati da parte di un utente anche poco esperto. Esistono 2 metodi per creare una maschera: mediante creazione guidata e tramite la visualizzazione struttura. mondopcnet.com Access - Basi di Dati - Lezione 1 15
Maschere creazione guidata (1) 4 selezionare la tabella di interesse 1 cliccare su Maschere 2 cliccare su Nuovo oppure su Creazione guidata 3 uscirà la procedura guidata maschera 5 compariranno i campi della tabella selezionata al precedente passaggio. Selezionare i campi e con i tasto > spostarli nell altro riquadro (per spostarli tutti cliccare su >>) Poi cliccare su Avanti. mondopcnet.com Access - Basi di Dati - Lezione 1 16
Maschere creazione guidata (2) 6 cliccare sul tipo di struttura di interesse Nota: Esistono le seguenti strutture: A colonne: viene visualizzato un record per volta su una riga distinta con un'etichetta a sinistra. Tabulare: vengono visualizzati più record contemporaneamente, con le etichette visualizzate una sola volta nella parte superiore della maschera. Foglio dati: è una visualizzazione simile ai fogli dati delle tabelle. I nomi di campo vengono visualizzati nella parte superiore di ogni colonna. Tabella pivot e Grafico pivot le tralasciamo. Le tabelle pivot sono strumenti di analisi dei dati. 7 si seleziona il layout desiderato mondopcnet.com Access - Basi di Dati - Lezione 1 17
Maschere creazione guidata (3) 8 si inserisce il nome per la maschere 9 si decide se visualizzarlo direttamente in visualizza struttura per le modifiche oppure la si apre direttamente per l inserimento o la modifica delle informazioni mondopcnet.com Access - Basi di Dati - Lezione 1 18
Maschere creazione guidata (4) 10 La maschera è stata creata! Note: Può essere modificato lo stile della maschera passando in visualizza struttura e cliccando sul tasto indicato a fianco. Il funzionamento è uguale a quanto spiegato nella scorsa lezione mondopcnet.com Access - Basi di Dati - Lezione 1 19
Note: Tramite questo tasto è possibile annullare le operazioni fatte di recente Se si elimina un record dal DB non è possibile effettuare l annullamento con questo tasto Per eliminare una maschera si va nell oggetto maschera, si seleziona e si clicca sul tasto elimina (quello con la x) Per modificare la struttura di una maschera, eliminare campi nella visualizzazione o altro, bisogna passare in visualizza struttura della maschera. mondopcnet.com Access - Basi di Dati - Lezione 1 20
Esercizio 3 Crea il database lezione3.mdb e salvalo nella cartella documenti ->(cognome); Utilizzando la creazione guidata tabella crea le tabelle Fornitori con i seguenti campi: idfornitore(contatore), nomefornitore(indicizzato duplicati non ammessi), contatto, indirizzo con idfornitore chiave primaria prodotti con i seguenti campi: idprodotto, nomeprodotto(obbligatorio), descrizioneprodotto, idfornitore(numerico) con idprodotto chiave primaria Creare una maschera in modo guidato, per inserire i fornitori ( a colonne, a tessuto) Crea una maschera in modo guidato, per inserire i prodotti ( a colonne, a tessuto) Provare ad inserire almeno 6 fornitori Provare la funzione di navigazione tra i record mondopcnet.com Access - Basi di Dati - Lezione 1 21
Esercizio 4 Utilizzando il database dell esercizio 3: Definire una relazione tra idfornitore della tabella prodotti e idfornitore della tabella fornitore, applicare anche un integrità referenziale Creare una maschera in modo guidato, per inserire i fornitori e i prodotti( a colonne, a tessuto) Provare ad inserire almeno 10 fornitori Provare la funzione di navigazione tra i record mondopcnet.com Access - Basi di Dati - Lezione 1 22
Conclusioni http://www.ecdl.it/ecdl_core/pdf/syllabus/modulo5_v4.pdf (syllabus: contiene gli argomenti da conoscere) www.mondopcnet.com Forum -> ACCESS Informazioni generali Chiarimenti su quanto spiegato Soluzione esercizi Proposta nuovi esercizi È consentito il solo uso personale di queste pagine ed è fatto divieto di pubblicare queste pagine su altri siti WEB o server di qualunque tipo, essendo materiale di produzione dello staff di www.mondopcnet.com. Siccome nessuno è perfetto e gli errori umani sono sempre possibili, vi preghiamo di segnalarci eventuali incongruenze. Pertanto, si declina ogni responsabilità dalle conseguenze derivanti dall uso di eventuali informazioni errate o incomplete contenute in queste pagine. I marchi citati in mondopcnet.com, per lo sviluppo delle lezioni e degli esercizi, sono esclusiva dei rispettivi proprietari. Tali marchi sono citati in mondopcnet.com soltanto per scopi didattici e su di essi mondopcnet.com non ha alcun diritto. mondopcnet.com Access - Basi di Dati - Lezione 1 23