Concetti fondamentali dei database Nella vita di tutti i giorni si ha la necessità di gestire e manipolare dati. Le operazioni possono essere molteplici: ricerca, aggregazione con altri e riorganizzazione per ottenere le informazioni di cui necessitiamo. Tutto ciò significa creare e gestire degli archivi destinati a contenere tali informazioni, ovvero realizzare dei database. Cos'è un database Un database è uno strumento per la raccolta di informazioni. Queste informazioni sono raccolte in maniera strutturata, nel senso che i dati sono organizzati seguendo criteri logici che facilitano l'utilizzo e la gestione. In particolar modo i dati sono organizzati in una o più tabelle, le quali saranno composte da diversi campi, ognuno dei quali conterrà le informazioni di cui abbiamo bisogno. Principali database In commercio esistono diversi database, alcuni a pagamento ed altri di libero utilizzo. I più utilizzati sono: Microsoft Access, Microsoft SQL Server, MySQL, varie versioni di Oracle, OpenOffice Base. In questo corso concentreremo la nostra attenzione su Microsoft Access. Organizzazione dei dati Come già detto in precedenza i database sono formati da una o più tabelle in relazione tra loro, fatta di record, i record sono un insieme di uno o più campi, i quali contengono i dati. Immaginiamo una tabella in cui i dati disposti in modo orizzontale, per righe, contengono un insieme di valori le cui specifiche proprietà (attributi) sono definite a livello di colonna: La riga formata dalle informazioni |Rossi |Mario |1,80 |85 |Dirigente costituisce uno dei record. Ogni record è costituito da campi che, nell’esempio, sono: quindi: “Rossi” è il contenuto del campo COGNOME “Mario” è il contenuto del campo NOME “1,80” è il contenuto del campo ALTEZZA (in cm) “85” è il contenuto del campo PESO (in kg) “Dirigente” è il contenuto del campo OCCUPAZIONE Il termine tecnico per definire correttamente il record di un database è tupla. Quindi si può definire la tupla come la riga di una matrice bidimensionale (tabella) composta dall’insieme delle relazioni di un database ovvero dell’insieme degli attributi (campi). Tra i campi di una tupla, c'è la chiave primaria, il cui valore identifica in modo univoco il record all'interno della tabella. La colonna che contiene la chiave primaria identifica il campo chiave di tutti i record contenuti nella tabella. Nella tabella precedente è impossibile individuare un campo da impostare come chiave, se per esempio pensassimo di impostare il campo Cognome come chiave avremmo un errore dato che di cognomi uguali ce ne sono molteplici, pensiamo a quanti “Rossi” o “Esposito” conosciamo. La soluzione quindi è quella di introdurre un ulteriore campo, ad esempio CodiceFiscale oppure se parliamo di dipendenti di una azienda possiamo usare Matricola, e quindi impostare questo come campo chiave. Otteniamo quindi una tabella come quella mostrata: Dipendenti Matricola (chiave primaria) Cognome Nome Altezza Peso Occupazione Introduzione a Microsoft Access Microsoft Access è un applicativo per la creazione e gestione di database di Microsoft, è contenuto nel pacchetto Office, sono disponibili diverse versioni, quante sono quelle di Office messe in commercio dalla Microsoft. Il primo passo è la creazione di un database, Access permette sia di crearne uno vuoto, quindi inserendo le informazioni a nostro piacimento, sia di crearne uno in maniera guidata. La prima icona è quella di creazione database vuoto, solitamente occorre avere già le idee chiare di cosa si sta andando ad implementare. Avere le idee chiare vuol dire avere anche fatto una precedente progettazione del sistema, ovvero uno schema di tutte le tabelle che si vogliono creare e le relazioni che intercorrono tra loro, il cosiddetto schema E/R (Entità Relazione). Di seguito uno schema E/R di un database per un sistema di noleggio film: Volendo implementare un database del genere, occorre creare nove tabelle, da come si vede nello schema, ognuna delle quali con i propri campi ed impostare le chiavi di ogni tabella. Nell'esempio riportato le chiavi sono identificabili semplicemente perché il nome è scritto in grassetto. Utilizzo database Una volta creati i database possono essere utilizzati, ciò significa che devono innanzitutto contenere le informazioni di cui abbiamo bisogno, quindi occorre inserire i dati, una volta fatto ciò questi dati possono essere aggiornati oppure consultati e talvolta cancellati. Le operazioni che si effettuano su un database sono dette Query, esse possono essere appunto di inserimento (Insert), di modifica (Update), di consultazione (Select) e di cancellazione (Delete). Per ognuna di queste operazioni si utilizzano dei comandi del linguaggio SQL, Access per fare ciò ci semplifica la vita, infatti mette a disposizione operazioni guidate che permettono di compiere il tutto in maniera guidata. Per semplificare sono stati inseriti alcuni valori nella tabella Dipendenti, in maniera da poter fare operazioni. Troveremo quindi la tabella Dipendenti come segue: Proviamo a fare una Selezione di tutti i dipendenti mostrando solo il Cognome ed il Nome, otteniamo come risultato: Proviamo ora, in maniera guidata a fare qualcosa di più interessante: Si sta procedendo a selezionare il Cognome ed il Nome dalla tabella Dipendenti che ha come Occupazione “Impiegato”. Il risultato è il seguente: Di seguito un esempio di aggiornamento (Update) utilizzando la creazione guidata di Access: In cui si possono vedere i nuovi valori che prenderanno i campi della tabella, il risultato sarà il seguente: In cui il dipendente Rossi Mario Impiegato è diventato Verdi Andrea Dirigente, i restanti valori sono rimasti invariati. Procediamo ora alla cancellazione (Delete) proprio del dipendente Verdi Andrea: il risultato di questa cancellazione è proprio la tabella con tutti i dipendenti tranne quello di cognome Verdi: Importa ed esporta Database Utilizzando Microsoft Access è possibile importare dati che da altri programmi, per esempio Microsoft Excel, piuttosto che SharePoint, file di testo, documenti XML o altro tipo. Come si può vedere dalla immagine precedente, basta cliccare su "Dati esterni" ci appaiono diverse icone, raffiguranti i vari programmi da cui si possono importare dati. Microsoft excel organizza i dati in maniera tabulare, la formattazione della tabella viene mantenuta. vengono creati i campi contenenti i tipi di dato adatti a contenerli ed il gioco è fatto. Di seguito verrà spiegato passo passo come importare dati da Excel. Dopo aver cliccato sulla opportuna icona, appare la seguente maschera: La seconda fase è la scelta del "foglio" da importare, la maschera contiene anche un'anteprima con i dati del "foglio" selezionato Occorre successivamente definire, per ogni campo nella tabella, il tipo di dato che si intende definire. Particolari opzioni devono essere definite in questa maschera, come ad esempio se sono ammessi duplicati. Nell'esempio che verrà mostrato questa opzione sarà settata a "Duplicati non ammessi", visto che si tratta del campo destinato a diventare chiave per la tabella. Si definisce "manualmente" il campo che sarà chiave, come illustrato precedentemente si tratta del campo ID: definiamo il nome della tabella in cui si intendono importare i dati per la struttura che è stata appena creata, nel caso di esempio si tratta della tabella "Docenti": L'importazione è terminata, se andiamo a controllare i dati nella tabella che è stata appena creata, ovvero Docenti, troveremo i dati del foglio di calcolo di excel: Allo stesso modo possiamo esportare i dati di una tabella di Access, cliccando sulla opportuna icona. Per esempio, se volessimo esportare i dati della tabella Studenti in excel: ci apparirà successivamente la maschera che ci guiderà all'esportazione dei dati: spuntando il checkbox "Esporta dati con formattazione e layout", rimarrà inalterata la struttura tabellare. Se apriamo la Cartella che abbiamo scelto come destinazione, troviamo un documento Excel con il nome della tabella che abbiamo esportato, nel nostro caso troveremo il file studenti: Se apriamo il file esportato, troviamo la tabella con tutti i dati ed il layout impostato da Access: Standard Query Language (SQL) Il linguaggio SQL viene utilizzato per implementare e gestire i Database, è dotato di una particolare sintassi, quindi presenta alcune parole chiave, che andremo a descrivere. Se volessimo creare una tabella, si usa Create table, la sintasi è la seguente: Create table NOMETABELLA( Campo1 tipodato, Campo2 tipodato ,…ecc… PRIMARY KEY NOMECAMPO); Ad esempio se volessimo creare una tabella Calciatori, contenente come campi: CodiceFiscale, Cognome, Nome, Ruolo, Squadra; la sintassi sarebbe la seguente: Create table Calciatori ( CodiceFiscale varchar(16), Cognome varchar(20), Nome varchar(20), Ruolo varchar(15), Squadra varchar(15), PRIMARY KEY CodiceFiscale); In questa tabella si può notare che il tipo di dato utilizzato è sempre lo stesso, varchar, cambia solo il numero all’interno delle parentesi tonde. Dato che varchar rappresenta i caratteri in generale, in Access troviamo il tipo dato: Testo; ovvero lettere e numeri, quel numero in parentesi rappresenta il numero massimo di caratteri ammesso per ogni campo. Nel caso del CodiceFiscale abbiamo fissato la dimensione a 16 caratteri. Il CodiceFiscale è anche impostato come campo chiave della tabella, ciò è stato fatto inserendo la dicitura “PRIMARY KEY CodiceFiscale”. I tipi di dato più comuni in SQL sono: Datetime, che sarebbe la data, in formato: AAAA-MM-GG HH:MM:SS Int, utilizzato per gli interi Varchar, per i caratteri Abbiamo detto che i database vengono utilizzati molto per operazioni di ricerca dei dati, quindi occorre introdurre la sintassi per una ricerca. Select NomeCampo1,NomeCampo2… From NomeTabella Ad esempio se abbiamo una tabella di Dipendenti come di seguito riportato: Vogliamo selezionare il Nome ed il cognome di ogni singolo dipendente, ci basterà scrivere: Select Cognome, Nome From Dipendenti Il risultato sarà una tabella contenente solo 2 campi, ovvero Cognome e Nome, ed i dati saranno quelli dei dipendenti che avevamo nella tabella iniziale Se volessimo aggiungere un criterio di ricerca, ad esempio a partire sempre dalla tabella dipendenti: vogliamo selezionare il Nome ed il Cognome dei soli dipendenti che abbiano come valore del campo Occupazione: Impiegato, dovremmo aggiungere al codice precedente il criterio che l’Occupazione sia Impiegato. Il codice sarà il seguente : Select Cognome, Nome From Dipendenti Where Occupazione = Impiegato Abbiamo aggiunto alla fine Where Occupazione = Impiegato, questo ci garantisce che tutti i dipendenti che abbiamo selezionato abbiano quel valore nel campo specificato. Il risultato sarà il seguente:
© Copyright 2024 Paperzz