UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE DELLA COMUNICAZIONE MASTER UNIVERSITARIO DI I LIVELLO COMUNICAZIONE e DIVULGAZIONE SCIENTIFICA Direttore del Master: Ch.mo Prof. Franco Eugeni Tesi: Il Mondo dei Database Candidata: Dott.ssa Cirillo Marianna Relatore: Prof. Ferdinando Casolaro Che cos’è un database? Definizione Un database (o base di dati) è un archivio elettronico che può contenere una immensa quantità di dati, o informazioni, e le procedure necessarie per la loro elaborazione Diffusione dei database Conti correnti bancari Anagrafe dei clienti Diffusione dei database Sistemi di immagazzinamento nei supermercati Diffusione dei database Sistemi di prenotazione delle linee aeree Interrogativi: A cosa si ispira questa tecnologia? Com’è organizzato e strutturato un database? Quali problemi sono stati affrontati? Qual è la realtà attuale e quali gli sviluppi futuri? Cosa c’è dietro questa tecnologia? A cosa è ispirata? Cammino Storico Già i popoli antichi usavano “archiviare” i loro cittadini Cammino Storico Gli Assiri sulle loro tavolette; Cammino Storico Gli Incas, pur non ammettendo la scrittura, usavano un sistema di nodi; Cammino Storico Per i Romani il Tabularium conservava gli archivi di tutto l’impero Cammino Storico Archiviare ha come fine ottenere più tasse Cammino Storico Censimento come strumento per l’archiviazione Influenza governativa Prime macchina scheda perforatrice Com’è organizzato un database? Database : un insieme di informazioni ORGANIZZATE e GESTIBILI da un sistema automatico Esempio: Rubrica telefonica Esempio: Rubrica telefonica Notiamo come in questo caso le informazioni sono già organizzate. In generale ogni informazione deve essere organizzata, memorizzata, catalogata I dati organizzati confluiscono nei file del Database I dati organizzati confluiscono nei file del Database I dati organizzati confluiscono nei file del Database Database Relazionale: Il più diffuso modello di database Costituito da Tabelle Tabella E’ un contenitore di informazioni organizzate per colonne, dette campi e per righe, dette record. Campo: categoria di informazioni Record: insieme di informazioni relative all’oggetto rappresentato nella tabella Tabella Dalla rubrica precedente: Database Esempio: Costruiamo un database per una raccolta di videocassette Database Database VideoCassette: Informazioni da conservare: Nome del film Regista Attore ….. Se abbiamo prestato a qualcuno la videocassetta Tabella VideoCassette Contiene tutte le informazioni relative a ciascuna videocassetta Quali problemi nascono? Database VideoCassette Primo problema: Troppe informazioni in un’unica tabella!!! Difficile da consultare e utilizzare Database VideoCassette Primo problema: Troppe informazioni in un’unica tabella!!! Tipi di dati che ci interessano: –Dati della cassetta –Dati delle persone che lavorano nel film –Dati degli amici ai quali potremmo prestare la videocassetta Database VideoCassette Secondo problema: Ridondanza dei dati Potrebbe capitare di dover inserire più volte lo stesso attore che ha interpretato più di un film, o più volte il nome, e i corrispondenti dati, di qualche amico a cui abbiamo prestato più di un film. Database VideoCassette Terzo problema: Inconsistenza dei dati La ridondanza di un dato può portare ad errori nella modifica di dati correlati, ad esempio dovendo modificare il numero di telefono di un amico ripetuto più volte nella tabella, potrebbe capitare di non modificare in tutte le occorrenze il numero e ciò implica un inconsistenza del database Database VideoCassette Soluzione: Creiamo non una ma più di una tabella in relazione tra loro, nel nostro esempio 3: » Tabella Cassette » Tabella Personaggi » Tabella Amici Tabella Cassette Tabella Personaggi Tabella Amici Database Relazionale Semplice Risolve i problemi di: Ridondanza Consistenza Chi aiuta gli utenti nell’organizzazione di un database? Come e dove vengono memorizzati fisicamente i dati? La risposta è DBMS (DataBase Management System) DBMS Un DBMS è un sistema per la gestione delle basi di dati. E’ uno strato software che si frappone tra l’utente e i dati veri e propri. DBMS Il DBMS permette una distinzione tra Livello Fisico : l’organizzazione interna dei dati dal punto di vista fisico; scrittura, lettura, sistemi di accesso ai dispositivi hardware. Livello Logico : l’organizzazione dei dati dal punto di vista del loro contenuto informativo Livello Esterno da un utilizzatore. : i dati descritti o visualizzati DBMS Ecco le figure che si alternano intorno a un database: Amministratore del sistema: responsabile della creazione, gestione e manutenzione del livello logico e fisico del database Programmatore: utilizzatore del database che implementa le applicazioni di uso e manutenzione, sotto la supervisione dell’amministratore Utente Finale: coloro che utilizzano gli strumenti creati dalle due figure precedenti Questo sarà di conforto alla maggior parte degli uditori che sono semplici utenti finali!! DBMS Tra i più noti DBMS c’è Access della Microsoft DBMS Garantisce il buon funzionamento del database Assicura l’affidabilità, capacità del sistema di preservare il database dai malfunzionamenti, quindi la sua integrità Assicura la privatezza, permettendo l’accesso solo agli utenti autorizzati SQL (Structured Quey Language) Uno dei requisiti fondamentali per utilizzare un database è avere un “linguaggio” che ci permetta di manipolarlo e interrogarlo in modo opportuno. SQL, tramite le Query (domande), ci permette di creare, modificare, cancellare, manipolare, interrogare i dati contenuti nel database Qual è la realtà attuale e quali gli sviluppi futuri? Realtà Attuale La possibilità di elaborare i dati è una delle caratteristiche più importanti dei database. E’ possibile oggi mettere in relazione dati di varia natura e provenienti da diverse fonti, per ottenerne tutte le possibili e inusuali rielaborazioni e valutazioni. Si tratta di estrapolare informazioni di varia natura dai dati immagazzinati. Questo è eseguito dai sistemi detti Datawarehouse. Realtà Attuale Database Distribuiti: è la possibilità di vedere come un unico database più database che risiedono su computer differenti, anche remoti, lavorandoci come se fosse il proprio computer. Internet: spesso le pagine che noi vediamo non sono statiche ma vengono create dinamicamente attingendo i dati da un database, e spesso Internet si appoggia sulle capacità di protezione dei database. Evoluzione I database evolvono di pari passo con lo sviluppo delle tecnologie informatiche. Avremo sempre più sicurezza, velocità, tecnologia e potenza. Comunicare nel senso esteso di scambiare informazioni. I database forniscono informazioni sui dati memorizzati. La comunicazione avviene anche attraverso l’uso dei database. Affidabilità di un Database Risolvere problemi legati a: Recupero dai malfunzionamenti Accesso concorrente Affidabilità di un Database Recupero vuol dire Ripristinare un database dopo un errore grave del sistema. E’ necessario attuare 2 politiche: BackUp dei dati sistematico ed affidabile, per permettere una ricostruzione completa del sistema dopo Uso delle transazioni, per recuperare da errori immediati. Consiste nella capacità del sistema di effettuare le operazioni a blocchi, in modo che se non si riesce ad eseguire tutto un blocco di operazioni, allora queste saranno annullate per tutto il blocco corrente. Affidabilità di un Database Il controllo della concorrenza si occupa della gestione degli aggiornamenti e modifiche dei dati da parte di molti utenti contemporaneamente, tramite il meccanismo del blocco dei dati: si pone un blocco esclusivo per un certo numero di dati da parte di un unico utente, così che gli altri non potranno modificare i record bloccati evitando di creare confusione ed errori per la sovrapposizione di modifiche.