Laboratorio informatico I BASI DI DATI Francesco Tura francesco.tura@unibo.it © F. Tura
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
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 dati RECORD 3 dati dati dati dati dati dati dati RECORD 4 © F. Tura
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
Sistemi informatici Gestione degli archivi di dati In generale: SISTEMA INFORMATICO software (= programma) applicativo che gestisce l’inserimento, la cancella- zione, 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
Sistemi informatici Gestione degli archivi di dati ESEMPIO: file (archivio di dati) contenente informazioni sugli studenti campi Cognome Nome Matricola Rossi Giovanni 0000154939 Giovanni Bianchi 0000156837 record Bianchi Elena 0000174325 Neri Alessandra 0000169312 © F. Tura
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
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
Sistemi informatici DATABASE e DBMS DATABASE (basi di dati) insieme di file (archivi) che presentano determinate caratteristiche qualificanti, tutte riconducibili alla indipendenza dei dati dal sistema informatico DBMS (DATA BASE MANAGEMENT SYSTEM, SISTEMA DI GESTIONE DI BASI DI DATI) sistema informatico (= software = programma) per la creazione e la gestione di DATABASE © F. Tura
Base di dati (Data base) Le caratteristiche qualificanti un DATABASE sono: condivisione e coerenza dei dati integrità affidabilità sicurezza © F. Tura
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
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
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
Modelli di dati Il modello di dati definisce la struttura del database 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 modelli di dati: gerarchico, reticolare, ecc. © F. Tura
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) relazioni Es. DOCENZE LEZIONI Docente Corso Corso Aula Informatica Diritto 4 Rossi record Verdi Diritto Informatica 9 Neri Storia Storia 7 © F. Tura campi
Confronti con archivio unico (file) Duplicazione dei dati. Nell’archivio unico 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. 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 DOCENZE LEZIONI Docente Ruolo Docente Corso Corso Aula associato Informatica Diritto 4 Rossi Rossi Rossi Informatica 9 Verdi Logica ricercatore Verdi Diritto Logica 2 Neri ordinario Neri Diritto © F. Tura
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
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
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
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
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
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