C1 Revisione: 24/10/2011 Appunti di INFORMATICA ITI Informatica - Classe QUINTA 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente progettata su carta e realizzata fisicamente con strumenti informatici HW e SW. La definizione si basa su alcuni concetti base: • Dato Descrizione di un fatto concreto (documento, immagine…) tratto dalla vita reale. • Informazione Dato cui è assegnato un significato che fornisce nuova conoscenza. Dal punto di vista dell’elaboratore un DB è un insieme di dati grezzi. Dal punto di vista utente tali dati assumono significato grazie alla loro struttura e divengono informazioni. • Dati Strutturati Organizzati secondo una precisa struttura o schema che consente di interpretarli. • Dati Correlati In relazione logica tra loro. • Dati Fruibili Gestibili dall’utente e dal computer attraverso operazioni elementari: inserimento, modifica, cancellazione, interrogazione. DAL DATO ALL’INFORMAZIONE Un dato diviene informazione quando è applicato su esso uno schema o chiave di interpretazione che ne rende esplicito un significato e porta conoscenza. Tale processo è detto interpretazione. Lo schema tipico utilizzato nei moderni database relazionali è la tabella. Schema Dato Informazione Art01 Art03 Articolo Quantità Art01 15 Art03 12 12 15 Quante rimanenze ho di un certo articolo in magazzino Tabella Rimanenze Figura 1.1: Esempio di interpretazione dati mediante schema 1.1 C1 Revisione: 24/10/2011 Appunti di INFORMATICA ITI Informatica - Classe QUINTA STRUTTURA DI UNA BASE DI DATI Un database nel suo complesso è costituito da: • Un insieme di schemi per strutturare i dati, che non variano nel tempo • Un insieme di dati o istanze, variabili nel tempo Necessita inoltre di: • Un programma SW per la sua gestione • Un dispositivo HW di memoria di massa per la sua memorizzazione fisica Nell’uso comune la parola database si riferisce spesso alle sole istanze. SISTEMI DI BASI DI DATI (DATABASE SYSTEMS) I Database trovano vasto utilizzo nelle organizzazioni (Enti, Aziende, Uffici…) dove costituiscono parte di sistemi più ampi per la gestione delle informazioni. Distinguiamo tra: • Sistema informativo Insieme di strumenti automatici e risorse umane per la gestione delle informazioni in uno specifico ambito. • Sistema informatico (Electronic Data Processing, EDP) Sottoinsieme del sistema informatico dedicato alla sola gestione automatizzata dell’informazione (Computer e programmi). Sistema informativo Sistema informatico Figura 1.2: Sistema informatico e sistema informativo 1.2 C1 Revisione: 24/10/2011 Appunti di INFORMATICA ITI Informatica - Classe QUINTA TIPOLOGIE DI DATABASE Nel tempo si sono succedute differenti approcci (paradigmi o modelli) per la realizzazione dei database. Si differenziano per le strutture logiche scelte nella descrizione dei dati. I primi furono il modello gerarchico e il modello reticolare: • Modello gerarchico I dati sono correlati gerarchicamente con una struttura ad albero. • Modello reticolare I dati sono legati linearmente con una struttura a grafo. Attualmente il paradigma più diffuso è il modello relazionale, nato negli anni ’70 e impostosi negli anni ‘80. Esistono approcci più avanzati come il modello ad oggetti, non ancora però molto diffusi: • Modello relazionale I dati sono rappresentati mediante concetti generali (Entità) legati tra loro da Relazioni. • Modello ad oggetti I dati sono rappresentati mediante oggetti. Da questo momento in poi, salvo diversa indicazione, ci occuperemo della progettazione e gestione database utilizzando il modello relazionale. 1.3 C1 Revisione: 24/10/2011 Appunti di INFORMATICA ITI Informatica - Classe QUINTA PROGETTAZIONE DI UN DATABASE La progettazione di un database consta di 3 fasi principali, eseguite in sequenza: PROGETTAZIONE CONCETTUALE Realizza, partendo dalle specifiche di progetto, una rappresentazione generale ed astratta dei concetti fondamentali e delle loro relazioni. Nel modello relazionale si utilizza allo scopo un modello grafico detto diagramma E-R (Entità-Relazione o Entity-Relationship) PROGETTAZIONE LOGICA Trasforma la rappresentazione concettuale (fase precedente) in un modello logico adatto ad essere realizzato sull’elaboratore. Nel modello relazionale si realizza trasformando il diagramma E-R in un insieme di tabelle e relazioni. PROGETTAZIONE FISICA Implementa lo schema logico su elaboratore, utilizzando un apposito programma di gestione DataBase, detto DBMS. Entità1 RelazioneA Campo1 Campo2 Entità2 Progettazione Concettuale Campo1 Campo2 Progettazione Logica Tabella1 Tabella2 DB Progettazione Fisica Figura 1.3: Fasi di progettazione di un DB 1.4 C1 Revisione: 24/10/2011 Appunti di INFORMATICA ITI Informatica - Classe QUINTA DBMS Acronimo di Data Base Management System, in italiano Sistema di gestione di Basi di Dati. Programma SW che consente la progettazione fisica e la gestione automatizzata di un DB. I DBMS attualmente più diffusi sono basati sul modello relazionale e sono: • Microsoft Access • MySQL • Oracle ARCHITETTURA DI UN DBMS Il programma di gestione DB deve consentire un’efficace memorizzazione e gestione delle informazioni. Per raggiungere lo scopo è strutturato in componenti o moduli, ciascuno dei quali si occupa di operazioni specifiche: • Gestore dell’interfaccia Si occupa dell’interazione con l’utente fornendo tutte le funzioni di gestione. I moderni DBMS forniscono interfaccia grafica e comandi visuali. • Gestore delle interrogazioni Esegue le interrogazioni sui dati. • Gestore delle transazioni Esegue le singole operazioni elementari (Lettura, Scrittura) sui dati per realizzare i comndi richiesti dall’utente. Una transazione è un insieme di operazioni elementari eseguite in un certo ordine. • Gestore della memoria Gestisce le modalità di memorizzazione dati (strutture dati) e l’interfaccia con la memoria di massa (disco rigido). • Gestore dei guasti Garantisce affidabilità e integrità dei dati anche in caso di guasto. Utente Gestore Gestore GUASTI Gestore MEMORIA Gestore TRANSAZIONI Gestore INTERROGAZIONI INTERFACCIA DBMS SW DB HW Figura 1.4: Architettura di un DBMS e modello a strati corrispondente 1.5 C1 Revisione: 24/10/2011 Appunti di INFORMATICA ITI Informatica - Classe QUINTA LINGUAGGI DI UN DBMS Ogni DBMS supporta alcuni linguaggi di programmazione che consentono all’utente di interfacciarsi direttamente col programma e gestire le operazioni sul database. Possiamo classificarli in due categorie: • Data Language (DL) o Linguaggi di gestione dati Si occupano della gestione dei dati e degli schemi del DB atti a contenerli. • Query Language (QL) o Linguaggi di interrogazione Consentono di eseguire le interrogazioni sui dati. Sui DBMS relazionali il linguaggio di interrogazione standard è SQL (Structured Query Language), che consente anche di eseguire operazioni sui dati ed integra dunque funzionalità di DL e QL. Nei moderni DBMS le funzionalità più importanti di gestione dati sono fornite in modalità visuale su interfaccia grafica. Non è dunque necessario che l’utente conosca gli specifici DL e QL supportati per eseguire le operazioni di base. La conoscenza di tali linguaggi è invece importante per il progettista, l’amministratore e in genere l’utente avanzato che vuole avere un controllo completo sulla base di dati. 1.6