Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it) Sito Web del corso: www.griadlearn.unical.it/labinf
DATABASE: DEFINIZIONE Un database può essere considerato come una raccolta di informazioni o un insieme di dati attinenti un unico argomento o argomenti diversi, ma tra loro correlati. Può essere paragonato ad un armadio raccoglitore nei cassetti del quale vengono archiviati i documenti riguardanti lo stesso argomento o lo stesso tipo di informazione. I dati che in esso sono archiviati vengono organizzati e strutturati secondo l impostazione logica fornita dall utente. Esempi di database: elenco degli articoli in magazzino, elenco dei libri di una libreria, elenco dei pazienti di un ospedale, ecc.
DATABASE: DEFINIZIONE Un database è un archivio informatizzato, e rispetto ad un archivio cartaceo offre notevoli vantaggi: ricerca filtro selezione possibilità di calcolo verifica di condizioni
I DBMS La possibilità di gestire gli archivi tramite l elaboratore ha migliorato i processi di memorizzazione e recupero dei dati grazie alla creazione di software specifici per la gestione di banche dati chiamati Data Base Management System (DBMS). I DBMS unificano in un unico software applicativo le funzionalità di archiviazione e gestione dei dati. Uno dei DBMS più conosciuti è Microsoft Access. Alla base di un DBMS vi è il linguaggio SQL (Structured Query Language), linguaggio standardizzato per database basati sul modello relazionale (RDBMS).
IL MODELLO RELAZIONALE Il modello relazionale è un modello logico di rappresentazione/strutturazione dei dati di un Database. I database moderni si fondano sulla possibilità di poter rappresentare le informazioni per mezzo di una struttura chiamata relazione (o tabella), motivo per cui sono definiti relazionali. Prima del modello relazionale i modelli principali erano il modello gerarchico e quello reticolare.
ELEMENTI DI UN DATABASE Indipendentemente dal software utilizzato gli elementi (oggetti) di un database sono i seguenti: Tabelle Maschere Query Report Macro e moduli
LE TABELLE La tabelle rappresentano l oggetto del Database deputate alla memorizzazione dei dati. Ogni tabella contiene informazioni su un particolare argomento (clienti, ordini, fornitori). Una tabella è costituita da un insieme di domini e viene rappresentata con una struttura bidimensionale formata da: Colonne (campi o attributi) Righe (record o tuple)
LE MASCHERE Le Maschere rappresentano un interfaccia grafica gradevole tramite la quale l utente può consultare, modificare, eliminare o aggiungere i dati presenti nel database. Una maschera può visualizzare i campi provenienti da tabelle diverse e permette di aggiungere immagini, commenti o note ai campi.
LE QUERY Le query sono lo strumento usato per interrogare il database ed estrarre (visualizzare) i dati a cui si è interessati. Tramite una query, in pratica, l utente genera una vista personalizzata dei dati. Alle query di selezione si affiancano le query di aggiornamento, le query di inserimento, le query di eliminazione, le query di creazione di nuove tabelle.
I REPORT I Report consentono di organizzare e riepilogare le informazioni contenute in un database, riordinando i dati provenienti da una tabella o da una query. I Report permettono di stampare i dati al fine di una loro analisi, e consentono all utente di scegliere tra una serie di layout preimpostati funzionali ad una impaginazione grafica efficace e gradevole.
MACRO E MODULI Sono strumenti avanzati che consentono di automatizzare alcune operazioni. Le macro rendono possibile la creazione di procedure automatiche senza avere conoscenze di programmazione avanzate, in modo da semplificare le operazioni più frequenti. I moduli rappresentano maschere con funzioni avanzate contenenti procedure scritte in linguaggio VBA.
PROGETTARE UN DATABASE Un buon database deve presentare il requisito della non ridondanza, il che consiste nell evitare di duplicare inutilmente le informazioni in esso contenute. Per questo motivo nel costruire un database relazionale vengono previste più tabelle che possono essere collegate tra loro. L efficienza di un database dipende strettamente da una sua corretta progettazione, da una corretta individuazione degli scopi da perseguire, delle tabelle, dei campi e delle relazioni.
PROGETTARE UN DATABASE Si consideri la gestione delle vendite di un negozio online. La soluzione in figura (riunire tutti i dati in una sola tabella) mette in evidenza i problemi derivanti da una non adeguata progettazione. La soluzione adeguata è suddividere i dati in tabelle diverse collegate tramite delle relazioni.
PROGETTARE UN DATABASE Codice cliente TABELLA - CLIENTI Cognome Nome Data nascita città 001 Rossi Mario 01/01/1980 Cosenza TABELLA - ACQUISTI Data acquisto Cliente Articolo Q.tà 13/12/2013 001 A1 1 TABELLA - ARTICOLI Codice articolo Descrizione Prezzo Produttore A1 Smartphone 600 Samsung
PROGETTARE UN DATABASE Le fasi di progettazione di un database possono essere così elencate: Definizione dello scopo Definizione delle tabelle Definizione dei campi (attributi) Definizione della chiave primaria (se necessaria) Definizione delle relazioni Analisi e ritocchi finali alla struttura
CREARE DATABASE IN ACCESS Dopo aver aperto il programma cliccare su Database vuoto e salvarlo indicando il nome e la cartella di memorizzazione. Viene creato il database e viene aperta una tabella in visualizzazione foglio dati. Le modalità di creazione di una tabella in Access sono due: Foglio dati: i dati della tabella vengono visualizzati come in un foglio elettronico; Struttura: permette di definire tutti i dettagli dei campi della tabella.
CREARE DATABASE IN ACCESS La finestra Visualizzazione Struttura per creare una tabella:
CREARE DATABASE IN ACCESS Nome campo: nome che si vuole dare al campo; Tipo di dati: è il tipo di dati che si potrà inserire nel campo (ad esempio: cognome sarà testo, data nascita sarà data/ora, prezzo sarà valuta, ecc.); Descrizione: è facoltativa e serve a facilitare la comprensione del campo o dei dati che contiene.
CREARE DATABASE IN ACCESS Tipi di dato in Access Testo: da usare per i campi che contengono dati alfanumerici e che non devono essere usati in calcoli. Fino ad un massimo di 255 caratteri. Memo: per campi con testi di dimensioni grandi, fino a circa 60.000 caratteri. Numerico: per campi con dati da usare in calcoli matematici. Si può definire la dimensione del numero. Data/ora: per campi che riguardano date e ore. Valuta: adatto a valute e dati usati in calcoli matematici. Contatore: numero sequenziale univoco che si incrementa di una unità ogni volta che si aggiunge un record.
CREARE DATABASE IN ACCESS Tipi di dato in Access Si/No: campo che può contenere solo uno tra due valori alternativi. Oggetto OLE: usato per collegare o allegare oggetti e file. Collegamento ipertestuale: usato per memorizzare collegamenti ipertestuali (indirizzi Web, e-mail, ecc.) Allegati: per aggiungere uno o più elemento di dati (file Word, Excel, PowerPoint, ecc.) Ricerca guidata: campo che consente di scegliere un valore da un altra tabella o da un elenco di valori.
CREARE DATABASE IN ACCESS Al termine della creazione della struttura della tabella, se non indicata, Access chiederà se è il caso di creare un campo Chiave primaria. La chiave primaria è un campo che permette di identificare univocamente ogni record della tabella e consente di creare relazioni tra le tabelle senza ambiguità. Caratteristica della chiave primaria è che non può assumere valori ripetuti (es.: matricola degli studenti, Codice fiscale, Partita Iva di un azienda, codice di magazzino di un articolo, ecc.)
CREARE DATABASE IN ACCESS L assegnazione del ruolo di chiave primaria ad un campo avviene cliccando sul pulsante Chiave primaria nella scheda Progettazione.
CREARE DATABASE IN ACCESS Per creare delle relazioni tra le tabelle di un database attivare la finestra Relazioni cliccando sul pulsante omonimo nella scheda Strumenti database.
CREARE DATABASE IN ACCESS La prima volta sarà necessario aggiungere le tabelle alla finestra. Per creare relazioni trascinare il campo chiave primaria di una tabella al campo correlato dalla seconda tabella (chiave esterna). Apparirà la finestra Modifica relazioni.
CREARE DATABASE IN ACCESS Cliccando su Crea viene creata la relazione segnalata da una linea tra le due tabelle. Nella finestra c è la possibilità di applicare anche l Integrità referenziale. In tal caso entrambi i campi devono avere lo stesso tipo di dato.
CREARE DATABASE IN ACCESS Le relazioni tra tabelle possono essere modificare in qualsiasi momento cliccando due volte sulla linea che le collega.