Laboratorio informatico I BASI DI DATI Francesco Tura [email protected] © F. Tura 1 Gestione dell’informazione La gestione dell’informazione è una tra le forme di elaborazione dell’informazione GESTIONE DELL’INFORMAZIONE rappresentazione dell’informazione aggiornamento dell’informazione reperimento dell’informazione In generale: sistema per la gestione dell’informazione sistema informativo sistema informatico sistema informativo che per le sue funzioni utilizza il calcolatore © F. Tura 2 Sistemi informatici Organizzazione dei dati sulla memoria di massa L’informazione sulla memoria di massa viene memorizzata su file Un file (archivio di dati) è logicamente organizzato in record e campi File sequenza di record, a loro volta suddivisi in campi CAMPO “A” CAMPO “B” CAMPO “C” CAMPO “D” RECORD 1 dati dati dati dati RECORD 2 dati dati dati dati RECORD 3 dati dati dati dati RECORD 4 dati dati dati dati © F. Tura 3 Sistemi informatici Organizzazione dei dati sulla memoria di massa L’accesso ad un file da parte di un sistema informatico può essere: SEQUENZIALE il file viene letto sequenzialmente dall’inizio alla fine, come se le informazioni fossero scritte su di una sola riga (es. file di testo, ove si conviene che ogni record corrisponda ad un carattere) DIRETTO (RANDOM) il sistema si posiziona in un record ben determinato del file © F. Tura 4 Sistemi informatici Gestione degli archivi di dati In generale: SISTEMA INFORMATICO software (= programma) applicativo che gestisce l’inserimento, la cancellazione, la modifica ed il reperimento di dati su di un archivio (file) Operazioni previste • aggiunta o cancellazione di record creazione/cancellazione • aggiornamento di campi in record esistenti update • reperimento di campi (e valori corrispondenti nei record) retrieval, effettuato in seguito a richiesta formulazione di query © F. Tura 5 Sistemi informatici Gestione degli archivi di dati ESEMPIO: file (archivio di dati) contenente informazioni sugli studenti campi Cognome record © F. Tura Nome Matricola Rossi Giovanni 0000154939 Bianchi Giovanni 0000156837 Bianchi Elena 0000174325 Neri Alessandra 0000169312 6 Sistemi informatici Gestione degli archivi di dati campo CHIAVE campo utile per individuare (reperire) i singoli record: in base ad esso i record sono organizzati e vi si accede Esempio Nell’esempio precedente, la chiave può essere campo “numero di matricola”, per via della sua univocità ( nessuno studente ha un numero di matricola uguale all’altro) © F. Tura 7 Sistemi informatici Gestione degli archivi di dati Sistemi informatici degli anni ‘60 programmi applicativi che creavano e gestivano propri archivi (file) Svantaggi La struttura dell’archivio (file) è definita dalle istruzioni del programma (dipendenza dei dati dal sistema informatico). Ciò implica: duplicazione dei dati [se ogni programma usa propri file per memorizzare i dati, accade che questi ultimi vengano replicati su più file] inconsistenza dei dati [la duplicazione dei dati implica che gli aggiornamenti dei dati stessi vanno registrati su tutti i file in cui sono replicati e può accadere che non sempre ciò avvenga uniformemente] maggiore occupazione di memoria [dovuta alla duplicazione] difficoltà nella protezione dei dati [non è possibile proteggere singoli campi o singoli record in modo differenziato ma solo file interi] © F. Tura 8 Sistemi informatici DATABASE e DBMS DATABASE (basi di dati) DBMS (DATA BASE MANAGEMENT SYSTEM, SISTEMA DI GESTIONE DI BASI DI DATI) © F. Tura insieme di file (archivi) che presentano determinate caratteristiche qualificanti, tutte riconducibili alla indipendenza dei dati dal sistema informatico sistema informatico (= software = programma) per la creazione e la gestione di DATABASE 9 Base di dati (Data base) Le caratteristiche qualificanti un DATABASE sono: • condivisione e coerenza dei dati • integrità • affidabilità • sicurezza © F. Tura 10 Base di dati (Database) Caratteristiche qualificanti Condivisione e coerenza. L’indipendenza dei dati dal software di gestione fa sì che il database possa essere condiviso, nel senso che programmi applicativi e utenti diversi possono accedere ai dati non è necessaria alcuna duplicazione dei dati l’aggiornamento dei dati avviene con unica operazione si elimina il pericolo di incoerenze tra i dati Integrità. Il database contiene tendenzialmente solo dati corretti, in quanto il controllo centralizzato da parte del DBMS facilita il rispetto di determinati vincoli (vincoli di integrità) [es. controllo che in una data non venga indicato un valore > 31 per il mese, ecc.] © F. Tura 11 Base di dati (Database) Caratteristiche qualificanti Affidabilità. Nel database i dati restano intatti anche in caso di malfunzionamenti di hardware e/o software, in quanto il DBMS periodicamente memorizza una copia completa della base di dati stessa (backup) e in caso di perdita o deterioramento dei dati sostituisce (recovery) la copia all’originale [ possono quindi eventualmente andare perduti solo gli ultimissimi aggiornamenti] Sicurezza. Nel database possono essere previste autorizzazioni di accesso ai dati differenziate [es. accesso totalmente negato, possibilità di sola lettura, di lettura e scrittura, di modifica/cancellazione, ecc.] sia per i diversi utenti che vi accedono sia per i diversi tipi di dati che lo compongono © F. Tura 12 Database e DBMS Il DBMS è un software che consente di avere visioni diverse degli stessi dati, a seconda delle esigenze dell’utente che vi accede I dati che costituiscono un database sono memorizzati su file con sofisticate organizzazioni denominate modelli di dati © F. Tura 13 Modelli di dati MODELLO DI DATI insieme di concetti utilizzati per organizzare i dati e descriverne la struttura Il modello di dati definisce la struttura del database Vi sono diversi modelli di dati: il più diffuso è il modello relazionale Altri © F. Tura modelli di dati: gerarchico, reticolare, ecc. 14 DATABASE RELAZIONALE I dati sono organizzati in tabelle (che rappresentano le relazioni) costituite da righe (che rappresentano i record) e colonne (che rappresentano i campi) La rappresentazione dei dati avviene da parte del DBMS mediante aggregazione di campi di tabelle diverse ( record logici) realizzate in virtù di relazioni tra le varie tabelle (precedentemente create in base alle prevedibili richieste dell’utente o del programma che accede al database) Es. relazioni DOCENZE LEZIONI Corso Corso Aula Rossi Informatica Diritto 4 Verdi Diritto Informatica 9 Neri Storia Storia 7 Docente record campi © F. Tura 15 Confronti con archivio unico (file) Duplicazione dei dati. Nell’archivio unico Archivio unico Docente Ruolo Corso Aula Rossi associato Informatica 9 Rossi associato Logica 2 Verdi ricercatore Diritto 4 Neri ordinario Diritto 4 Database relazionale RUOLI Docente DOCENZE Ruolo Rossi associato Verdi ricercatore Neri ordinario l’indicazione del ruolo di Rossi deve essere ripetuta (e così per l’aula di diritto). Nel database relazionale no. Coerenza. Se Rossi diventa ordinario nell’archivio unico occorre aggiornare entrambe le righe, con eventuali conflitti di dati se non lo si fa bene. Nel db relazionale no si fa un unico aggiornamento nella relazione “ruoli”. Sicurezza. Nel db relazionale la tabella RUOLI (in grigio-azzurro) può essere non accessibile ad alcuni utenti (es. agli studenti) i quali però possono accedere alle informazioni delle altre 2 relazioni. Nell’archivio unico o si interdice tutto il file o nulla. LEZIONI Corso Corso Aula Rossi Informatica Diritto 4 Rossi Logica Informatica 9 Verdi Diritto Logica 2 Neri Diritto Docente © F. Tura 16 Esempio di DBMS MICROSOFT ACCESS È un package per la creazione e la gestione di un database (ovvero è un DBMS) Fa parte del gruppo di programmi Microsoft Office Crea e gestisce database di tipo relazionale Attribuisce come estensione standard ai file da esso creati l’estensione mdb [= microsoft data base] © F. Tura 17 Caratteristiche di Microsoft Access VISUALIZZAZIONE STRUTTURA È la modalità che permette all’utente di definire ed intervenire sulla struttura del database, ossia sui campi e sulle relazioni tra di essi. è l’unica modalità in cui è possibile per l’utente creare, rinominare, cancellare un campo oppure modificarne le caratteristiche. è l’unica modalità in cui è possibile per l’utente creare, rinominare, cancellare le relazioni tra i campi del database © F. Tura 18 Caratteristiche di Microsoft Access VISUALIZZAZIONE FOGLIO DATI È la modalità che permette all’utente di inserire, cancellare e modificare i dati (record) nel database È l’unica modalità che consente all’utente di eseguire il controllo ortografico sui dati contenuti nei record del database © F. Tura 19 Caratteristiche di Microsoft Access QUERY Si definiscono QUERY le istruzioni che l’utente può creare e memorizzare per reperire determinati dati all’interno del database, basandosi sui campi (in particolare i campi chiave) del medesimo e sulle relazioni esistenti tra di essi In fase di creazione della struttura del database (in modalità “Visualizzazione struttura”), l’utente può definire alcuni campi come campi chiave) Tra di essi il campo CHIAVE PRIMARIA deve avere le seguenti caratteristiche: • deve esservi associato un indice (per facilitare l’accesso diretto ai dati contenuti) • non deve poter contenere duplicati non debbono poter esistere più record del campo contenenti dati identici © F. Tura 20 Caratteristiche di Microsoft Access MASCHERE L’utente può creare a suo piacimento delle maschere, ossia delle rappresentazioni grafiche della struttura del database le quali gli consentano di inserire/mostrare i dati contenuti nelle tabelle (nei record) nonché le query (istruzioni di ricerca) nel modo a lui più congeniale tramite le maschere è possibile aggiungere, modificare o cancellare dati e query © F. Tura 21 Caratteristiche di Microsoft Access REPORT I report servono all’utente per stampare i dati contenuti nelle tabelle (nei record) ovvero i risultati delle ricerche condotte tramite query secondo un formato da lui definito a suo piacimento il formato di stampa può essere modificato senza limiti dall’utente, a seconda delle sue esigenze © F. Tura 22