Il Mondo dei Database
Un database (o base di dati) è un archivio 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?
Già i popoli antichi usavano 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
Censimento come strumento per l’archiviazione Cammino Storico Censimento come strumento per l’archiviazione
Influenza governativa Prime macchina scheda perforatrice Dagli anni '20 agli anni '50 la scheda perforata è un supporto di registrazione atto a contenere informazioni da utilizzare nelle macchine per il trattamento automatico dei dati. Durante i tardi anni '70 e fino ai primi anni '80, la scheda perforata fu accantonata come supporto di registrazione per i dati, e sostituita dai floppy disk.
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
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
Informazioni da conservare: 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
Costruiamo una base di dati per la gestione di una rubrica. ALTRO ESEMPIO Costruiamo una base di dati per la gestione di una rubrica. Anche se a prima vista corretta, una memorizzazione del genere non è conveniente. Ogni posto di Lavoro ha sempre gli stessi recapiti e Brambilla Michele e Rossi Luca lavorano presso la stessa banca. Tale soluzione: Spreca spazio Ci complica la vita nel caso in cui vogliamo modificare i dati Infatti se un’azienda cambia numero di telefono dovremo cambiare il numero di telefono in tutte le righe in cui è presente.
Un modo più intelligente di memorizzare tale base di dati è il seguente Abbiamo creato due tabelle associate tra di loro. Un’eventuale modifica ai dati di un posto di Lavoro si riflettere in modo automatico e trasparente su tutte le persone che vi lavorano
Da questo semplice esempio è evidente come sia importante progettare nel modo corretto una base di dati. L’organizzazione dei dati ha un’importanza cruciale che si ripercuote sulla semplicità di gestione e sulle prestazioni del sistema Se la progettazione viene fatta in modo sbagliato o, peggio ancora, non viene per nulla effettuata si rischia di ottenere un database di difficile utilizzo e che farà sicuramente perdere molto tempo nella stesura delle funzioni per la manipolazione dei dati.
(DataBase Management System) Chi aiuta gli utenti nell’organizzazione di un database? Come e dove vengono memorizzati fisicamente i dati? La risposta è DBMS (DataBase Management System)
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 : i dati descritti o visualizzati da un utilizzatore.
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 implementare: allestire, realizzare un sistema di elaborazione o un programma a partire da un progetto preliminare
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 mettere in relazione dati di varia natura e provenienti da diverse fonti. 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.
Ci sarà sempre più sicurezza, velocità, tecnologia e potenza. Evoluzione I database evolvono di pari passo con lo sviluppo delle tecnologie informatiche. Ci sarà sempre più sicurezza, velocità, tecnologia e potenza.
Affidabilità di un Database Affidabilità RecuperareRipristinare Recuperare vuol dire Ripristinare un database dopo un errore grave del sistema. BackUp dei dati sistematico ed affidabile, per permettere una ricostruzione completa del sistema dopo Esempio azienda