DATABASE Access I DATABASE I DataBase, o Base dei Dati, sono delle “raccolte”di dati o informazioni che si riferiscono ad un argomento specifico; come esempio abbiamo le classiche raccolte di libri, DVD, VHS, francobolli, oppure l’elenco telefonico, l’inventario dei beni di un ufficio, o scuola, o industria, è un data base l’archivio degli iscritti ad una scuola, ecc. Per gestire un DB (es. una biblioteca) nel passato avevamo tanti classificatori, suddivisi per argomenti, autori, tipologia del libro ecc. Per fare questo oggi, ma già da parecchio tempo, utilizziamo software disegnato apposta a questo scopo. DATABASE Un DB per essere utile deve eseguire queste operazioni: •Archiviare (memorizzare) dati •Effettuare ricerche al suo interno •Visualizzare i risultati •Stampare (se serve)questi ultimi STRUTTURA DB Per eseguire quanto detto, il DB è strutturato nel seguente modo: •Tabella inserite è l’elemento principale del DB, al suo interno vengono tutte le informazioni •Maschera rende più intuitivo l’inserimento dei dati •Query opera ricerche con criteri prestabiliti dall’utente •Report stampa e/o visualizza le informazioni trovate con le Query TABELLA In verità nei DB creati con software appositi, non si parla di tabella, ma di tabelle. Si parla di tabelle perché i DB prima di iniziare a costruirli al pc, dobbiamo “scorporare” il più possibile i dati-informazioni da inserire. Queste tabelle verranno poi messe in relazione fra loro. I DB così costruiti si chiamano relazionali. Ecco un esempio di tabella prima di scorporare i dati TABELLE La tabella appena vista è creata con Excel, (anche in excel possiamo creare DB), ma in questo caso si chiama piatti, cioè non sono per così dire tridimensionali, cioè con tabelle legate fra loro. Un altro limite di questi DB è la difficoltà di inserire dati e il pericolo di inserire dati “quasi” uguali, per cui è difficile effettuare delle ricerche. Facciamo un esempio pratico: DB per una piccola libreria di casa Avrò bisogno di questi dati: •Titolo del libro •Autore •Argomento •Casa editrice •Prezzo •Anno dell’edizione •Anno di acquisto Nella prossima slide vedremo con excel e poi un passo alla volta troveremo la scomposizione più opportuna. Potrà essere anche non perfetta, perché creare un DB non è una cosa semplice. ES. BIBLIOTECA DI CASA CON EXCEL numero Titolo del libro Autore Argomento Casa editrice Prezzo Anno dell’edizione Anno di acquisto 1 Inferno Dante Alighieri letteratura Einaudi € 23,50 2005 2009 2 purgatorio Dante A. letteratura Minerva € 24,00 2005 2010 3 paradiso Dante letteratura Minerva € 25,70 2002 2005 4 cuore di Parigi Denise Robins romanzo Club € 6,50 1990 1995 5 oliver twist charles dickens romanzo milano € 3,60 2000 2007 6 7 8 Le tabelle in Access si suddividono in campi e record: il campo è il contenitore della singola informazione, mentre l’insieme di più campi forma il record (in orizzontale). Il secondo libro in elenco avrà il record formato da Purgatorio (campo titolo), Dante A. (campo autore),Letteratura (campo argomento), Minerva (campo Casa editrice), 24,00 (campo prezzo), 2005 (campo data ed.), 2010 (campo data acquisto). Ora analizziamo questa tabella e cerchiamo possibili soluzione per suddividere le informazioni TABELLE Riscriviamo le informazioni e cerchiamo quelle che poterbbero ripetersi ad ogni inserimento di nuovo volume. •Titolo del libro •Autore •Argomento •Casa editrice •Prezzo •Anno dell’edizione •Anno di acquisto Posso avere più libri con lo stesso titolo, magari di edizioni diverse, però il titolo la consideriamo un’informazioni unica. Posso avere tanti autori diversi, ma avrò sicuramente più libri dello stesso autore. La stessa cosa con argomento e casa editrice. Naturalmente il prezzo e le date rimangono dati unici. Non confondiamo Unici con Univoci (vedremo in seguito) PIÙ TABELLE tabella principale Autore Argomento Casa editrice Titolo del libro Autore Argomento Casa editrice Autore Argomento Casa editrice Prezzo Anno dell’edizione Anno di acquisto ORA LEGHIAMO LE TABELLE Per “legare” le tabella, cioè metterle in relazione fra loro, dobbiamo inserire alcuni campi che mettono in relazione le tabelle Cosa sono i nuovi campi idLibro, idAutore, idArgomento, e idCasaeditrice? CAMPO ID Per mettere in relazione le tabelle abbiamo bisogno di un campo che non possa assumere valori uguali, e deve essere perciò un campo “univoco”, appunto non può ripetersi. Il perché, è dato dal fatto che due tabelle per essere in relazione NON possono avere campi con intestazioni diverse. I campi id o ID, sono generalmente campi contatori, cioè contano in automatico l’inserimento dei dati, e NON ci possono essere quindi due campi con lo stesso numero. Questi campi sono collegati ai campi di riferimento. PREDISPORRE UNA TABELLA IN ACCESS Ora passiamo a compilare una tabella in access Per prima cosa diamo ad ogni campo il tipo, cioè che cosa dovrà contenere, se testo, numero, data, ora, numero decimale ecc. Poi possiamo determinare, se campo testo , la sua lunghezza. Riprendiamo la nostra tabella e scriviamo accanto il tipo di dato •Idlibro •Titolo del libro •Autore •Argomento •Casa editrice •Prezzo •Anno dell’edizione •Anno di acquisto contatore testo 30 caratteri testo 15 caratteri testo 15 caratteri testo 15 caratteri valuta euro 2 decimali testo 4 caratteri testo 4 caratteri Esempio di costruzione di una tabella con access CHIAVE PRIMARIA 1 Access “costruisce” DB relazionali, mettere in relazione più tabelle contenenti dati facilita l’inserimento e la ricerca delle informazioni all’interno dei DB. Ogni tabella contiene informazioni che legate fra loro attraverso le relazioni formano l’informazione completa dell’ oggetto del DB. Nel nostro esempio avremo le tabelle Libri, Autori, Editori, Argomento. Ogni tabella poi ha al suo interno i record (informazione completa) suddivisi in Campi (dati singoli). Per relazionare le tabelle fra loro abbiamo la necessità di avere alcuni campi (uno per tabella) che non abbiano la possibilità di avere valori uguali all’interno del DB. Questi campi si chiamano Chiave primaria (vicino al campo comparirà una piccola chiave gialla). Quando costruiamo la prima tabella e la salviamo non ci viene chiesto di creare una chiave primaria, in quanto con una tabella non possiamo fare relazioni. Nel costruire la seconda tabella nel momento in cui la salviamo, se non l’abbiamo prevista, il programma ci chiede se vogliamo inserire una c. p. subito o in un secondo momento. Se diciamo di sì vedremo in alto nella tabella un nuovo campo con il simbolo di una chiave, che avrà il nome ID e sarà un campo contatore (numerico). Vedi esempio prossima diapositiva. CHIAVE PRIMARIA 2 RELAZIONI 1 Iniziamo ora ad utilizzare le chiavi primarie per inserire le relazioni all’interno del nostro DB. Abbiamo costruito le 4 tabelle descritte precedentemente, e ora dobbiamo “modificarle” per le relazioni. Le relazioni funzionano correttamente se mettiamo in relazione due campi di due tabelle aventi lo stesso tipo di dati (testo testo, numerico numerico). Nelle tabelle appena costruite dobbiamo mettere in relazione per esempio il campo Autore della tabella Libri con il campo Autore della tabella Autori e quando mettiamo la spunta per avere l’integrità referenziale (non si accettano doppioni) Il programma ci nega di completare la relazione, in quanto non esiste un campo che si può considerare univoco (ci possono essere più autori con lo stesso nome) vedi figura. RELAZIONI 2 Dobbiamo modificare la tabella principale (Libri), e creare le relazioni tramite le chiavi primarie delle altre tre tabelle. Per collegare gli ID delle tabelle con i rispettivi campi (autore, editore, Argomento) dobbiamo “trasformare i campi Autore, Editore e Argomento della tabella principale in campi numerici (le relazioni vanno fatte tra campi con gli stessi tipi di dati). Seguire il procedimento dalla diapositiva seguente MODIFICA CAMPI 1 Apriamo la tabella principale, posizioniamoci sul primo campo da modificare, scorriamo la tendina e clicchiamo su ricerca guidata … Leggiamo ogni finestra che si apre, accettiamo la procedura impostata e clicchiamo Avanti MODIFICA CAMPI 2 Stiamo modificando il campo Autore della tabella principale, quindi andremo a scegliere la tabella Autori per fare il collegamento, poi selezioniamo i due campi presenti e li “spostiamo” a destra della finestra utilizzando le frecce. Nell’ultima finestra abbiamo la possibilità di visualizzare una volta inseriti gli autori in ordine alfabetico. MODIFICA CAMPI 3 Possiamo cliccare Avanti senza fare modifiche, salviamo la tabella e se abbiamo eseguito correttamente le fasi, se apriamo la “cartella” Relazioni ci comparirà questo schema. Completiamo con le altre tabelle. MODIFICA CAMPI 4 Come ultima operazione dobbiamo modificare la relazione in modo che non ci siano doppioni negli inserimenti: Clicchiamo col tasto destro sulla relazione e mettiamo la spunta su Applica integrità referenziale.