Upload
bernardino-vitale
View
216
Download
3
Embed Size (px)
Citation preview
UNIVERSITÀ DEGLI STUDI DI TERAMO UNIVERSITÀ DEGLI STUDI DI TERAMO FFACOLTÀ DI SCIENZE DELLA COMUNICAZIONEACOLTÀ DI SCIENZE DELLA COMUNICAZIONE
MASTER UNIVERSITARIO DI I LIVELLO - MASTER UNIVERSITARIO DI I LIVELLO - COMUNICAZIONE e DIVULGAZIONE SCIENTIFICACOMUNICAZIONE e DIVULGAZIONE SCIENTIFICA
Direttore del Master: Direttore del Master: Ch.mo Prof. Franco EugeniCh.mo Prof. Franco Eugeni
Tesi:Tesi:
Il Mondo dei DatabaseIl Mondo dei Database
Candidata:Candidata: Relatore:Relatore:Dott.ssa Cirillo Marianna Prof. Ferdinando CasolaroDott.ssa Cirillo Marianna Prof. Ferdinando Casolaro
Che cos’è un database?Che cos’è un database?
DefinizioneDefinizione
Un Un databasedatabase (o base di dati) è un archivio (o base di dati) è un archivio
elettronico che può contenere una immensa elettronico che può contenere una immensa quantità di dati, o informazioni, e le quantità di dati, o informazioni, e le
procedure necessarie per la loro procedure necessarie per la loro elaborazioneelaborazione
Diffusione dei databaseDiffusione dei database
Conti correnti bancariConti correnti bancari Anagrafe dei clienti Anagrafe dei clienti
Diffusione dei databaseDiffusione dei database
Sistemi di Sistemi di immagazzinamento immagazzinamento nei supermercati nei supermercati
Diffusione dei databaseDiffusione dei database
Sistemi di Sistemi di prenotazione delle prenotazione delle linee aereelinee aeree
Interrogativi:Interrogativi:
A cosa si ispira questa tecnologia?A cosa si ispira questa tecnologia?
Com’è organizzato e strutturato un database?Com’è organizzato e strutturato un database?
Quali problemi sono stati affrontati?Quali problemi sono stati affrontati?
Qual è la realtà attuale e quali gli sviluppi futuri?Qual è la realtà attuale e quali gli sviluppi futuri?
Cosa c’è dietro questa Cosa c’è dietro questa tecnologia?tecnologia?
A cosa è ispirata?A cosa è ispirata?
Cammino StoricoCammino Storico
Già i popoli antichi usavano Già i popoli antichi usavano
““archiviare” archiviare”
i loro cittadinii loro cittadini
Cammino StoricoCammino Storico
Gli Gli AssiriAssiri
sulle loro tavolette;sulle loro tavolette;
Cammino StoricoCammino Storico
Gli Gli Incas,Incas,pur non pur non ammettendo la ammettendo la scrittura, usavano scrittura, usavano un sistema di nodi;un sistema di nodi;
Cammino StoricoCammino Storico
Per i Per i RomaniRomani il Tabularium conservava gli archivi di tutto il Tabularium conservava gli archivi di tutto l’imperol’impero
Cammino StoricoCammino Storico
Archiviare Archiviare ha come fineha come fineottenere piùottenere più
tassetasse
Cammino StoricoCammino Storico
Censimento come strumento per l’archiviazioneCensimento come strumento per l’archiviazione
Influenza governativaInfluenza governativa Prime macchina scheda perforatricePrime macchina scheda perforatrice
Com’è organizzato un Com’è organizzato un database?database?
DatabaseDatabase : :un insieme di informazioniun insieme di informazioni
ORGANIZZATEORGANIZZATEee
GESTIBILIGESTIBILIda un sistema automaticoda un sistema automatico
Esempio: Rubrica telefonicaEsempio: Rubrica telefonica
Esempio: Rubrica telefonicaEsempio: Rubrica telefonicaNotiamo come in questo Notiamo come in questo
caso le informazioni caso le informazioni sono già organizzate.sono già organizzate.
In generale ogni In generale ogni informazione deve informazione deve essere organizzata, essere organizzata,
memorizzata, memorizzata, catalogatacatalogata
I dati organizzati confluiscono nei file del I dati organizzati confluiscono nei file del DatabaseDatabase
I dati organizzati confluiscono nei file del I dati organizzati confluiscono nei file del DatabaseDatabase
I dati organizzati confluiscono nei file del I dati organizzati confluiscono nei file del DatabaseDatabase
Database Relazionale:Database Relazionale:
Il più diffuso modello di databaseIl più diffuso modello di database
Costituito da Tabelle
TabellaTabella
E’ un contenitore di informazioni organizzate E’ un contenitore di informazioni organizzate per colonne, dette per colonne, dette campicampi e per righe, dette e per righe, dette recordrecord..
CampoCampo: : categoria di informazionicategoria di informazioni RecordRecord: : insieme di informazioni relative insieme di informazioni relative
all’oggetto rappresentato nella tabellaall’oggetto rappresentato nella tabella
TabellaTabella
Dalla rubrica Dalla rubrica precedente: precedente:
DatabaseDatabase
Esempio:Esempio:
Costruiamo un databaseCostruiamo un database
per una raccolta di videocassetteper una raccolta di videocassette
DatabaseDatabase
Database Database VideoCassette:VideoCassette:
Informazioni da conservare:Informazioni da conservare: Nome del filmNome del film RegistaRegista AttoreAttore …….... Se abbiamo prestato a qualcuno la videocassettaSe abbiamo prestato a qualcuno la videocassetta
Tabella Tabella VideoCassetteVideoCassette
Contiene tutte le informazioni relative a ciascuna Contiene tutte le informazioni relative a ciascuna videocassettavideocassetta
Quali problemi nascono?Quali problemi nascono?
Database Database VideoCassetteVideoCassette
Primo problema:Primo problema:
Troppe informazioni in un’unica tabella!!!Troppe informazioni in un’unica tabella!!!
Difficile da consultare e utilizzareDifficile da consultare e utilizzare
Database Database VideoCassetteVideoCassette
Primo problema:Primo problema:
Troppe informazioni in un’unica tabella!!!Troppe informazioni in un’unica tabella!!!
Tipi di dati che ci interessano:Tipi di dati che ci interessano:–Dati della cassettaDati della cassetta–Dati delle persone che lavorano nel filmDati delle persone che lavorano nel film–Dati degli amici ai quali potremmo prestare la Dati degli amici ai quali potremmo prestare la videocassettavideocassetta
Database Database VideoCassetteVideoCassette
Secondo problema:Secondo problema:
Ridondanza dei datiRidondanza dei dati
Potrebbe capitare di dover inserire più volte lo Potrebbe capitare di dover inserire più volte lo stesso attore che ha interpretato più di un film, o stesso attore che ha interpretato più di un film, o più volte il nome, e i corrispondenti dati, di qualche più volte il nome, e i corrispondenti dati, di qualche amico a cui abbiamo prestato più di un film.amico a cui abbiamo prestato più di un film.
Database Database VideoCassetteVideoCassette
Terzo problema:Terzo problema:
Inconsistenza dei datiInconsistenza dei dati
La ridondanza di un dato può portare ad errori La ridondanza di un dato può portare ad errori nella modifica di dati correlati, ad esempio nella modifica di dati correlati, ad esempio dovendo modificare il numero di telefono di un dovendo modificare il numero di telefono di un amico ripetuto più volte nella tabella, potrebbe amico ripetuto più volte nella tabella, potrebbe capitare di non modificare in tutte le occorrenze capitare di non modificare in tutte le occorrenze il numero e ciò implica un inconsistenza del il numero e ciò implica un inconsistenza del databasedatabase
Database Database VideoCassetteVideoCassette
Creiamo non una ma più di una tabella in Creiamo non una ma più di una tabella in relazionerelazione tra loro, nel nostro esempio 3: tra loro, nel nostro esempio 3:
» Tabella CassetteTabella Cassette» Tabella PersonaggiTabella Personaggi» Tabella AmiciTabella Amici
SoluzioneSoluzione::
Tabella Tabella CassetteCassette
Tabella Tabella PersonaggiPersonaggi
Tabella Tabella AmiciAmici
Database RelazionaleDatabase Relazionale
SempliceSemplice
Risolve i problemi di:Risolve i problemi di:
RidondanzaRidondanza ConsistenzaConsistenza
Chi aiuta gli utenti nell’organizzazione di Chi aiuta gli utenti nell’organizzazione di un database?un database?
Come e dove vengono memorizzati Come e dove vengono memorizzati fisicamente i dati?fisicamente i dati?
La risposta è La risposta è
DBMSDBMS(DataBase Management System)(DataBase Management System)
Un Un DBMSDBMS è un è un sistema per la sistema per la
gestione delle basi gestione delle basi di dati.di dati.
E’ uno strato software E’ uno strato software che si frappone tra che si frappone tra l’utente e i dati veri l’utente e i dati veri
e propri.e propri.
DBMS
DBMSDBMS
Livello Livello FisicoFisico : : l’organizzazione interna dei l’organizzazione interna dei dati dal punto di vista fisico; scrittura, lettura, dati dal punto di vista fisico; scrittura, lettura, sistemi di accesso ai dispositivi hardware.sistemi di accesso ai dispositivi hardware.
Livello Livello LogicoLogico : : l’organizzazione dei dati dal l’organizzazione dei dati dal punto di vista del loro contenuto informativopunto di vista del loro contenuto informativo
Livello Livello EsternoEsterno : : i dati descritti o visualizzati i dati descritti o visualizzati da un utilizzatore.da un utilizzatore.
Il DBMS permette una distinzione traIl DBMS permette una distinzione tra
DBMSDBMS
Amministratore del sistemaAmministratore del sistema: : responsabile della responsabile della creazione, gestione e manutenzione del livello logico e creazione, gestione e manutenzione del livello logico e fisico del databasefisico del database
ProgrammatoreProgrammatore: : utilizzatore del database che utilizzatore del database che implementa le applicazioni di uso e manutenzione, sotto la implementa le applicazioni di uso e manutenzione, sotto la supervisione dell’amministratoresupervisione dell’amministratore
Utente FinaleUtente Finale: : coloro che utilizzano gli strumenti coloro che utilizzano gli strumenti creati dalle due figure precedenticreati dalle due figure precedenti
Questo sarà di conforto alla maggior parte degliQuesto sarà di conforto alla maggior parte degliuditori che sono semplici utenti finali!!uditori che sono semplici utenti finali!!
Ecco le figure che si alternano intorno a un database:Ecco le figure che si alternano intorno a un database:
DBMSDBMS
Tra i più noti DBMS c’è Tra i più noti DBMS c’è Access della MicrosoftAccess della Microsoft
DBMSDBMS
Garantisce il buon Garantisce il buon funzionamentofunzionamento del del databasedatabase
Assicura Assicura l’affidabilitàl’affidabilità, capacità del sistema , capacità del sistema di preservare il database dai di preservare il database dai malfunzionamenti, quindi la sua integritàmalfunzionamenti, quindi la sua integrità
Assicura la Assicura la privatezzaprivatezza, permettendo , permettendo l’accesso solo agli utenti autorizzatil’accesso solo agli utenti autorizzati
SQLSQL(S(Structuredtructured Q Queyuey Language) Language)
Uno dei requisiti fondamentali per utilizzare Uno dei requisiti fondamentali per utilizzare un database è avere un “linguaggio” che ci un database è avere un “linguaggio” che ci permetta di manipolarlo e interrogarlo in permetta di manipolarlo e interrogarlo in modo opportuno.modo opportuno.
SQL, tramite le SQL, tramite le Query Query (domande), ci permette (domande), ci permette di creare, modificare, cancellare, di creare, modificare, cancellare, manipolare, interrogare i dati contenuti nel manipolare, interrogare i dati contenuti nel databasedatabase
Qual è la realtà attuale e quali Qual è la realtà attuale e quali gli sviluppi futuri?gli sviluppi futuri?
Realtà AttualeRealtà Attuale
La possibilità di La possibilità di elaborareelaborare i dati è una delle i dati è una delle caratteristiche caratteristiche più importantipiù importanti dei database. dei database.E’ possibile oggi mettere in relazione dati di E’ possibile oggi mettere in relazione dati di varia natura e provenienti da diverse fonti, varia natura e provenienti da diverse fonti, per ottenerne tutte le possibili e inusuali per ottenerne tutte le possibili e inusuali rielaborazioni e valutazioni.rielaborazioni e valutazioni.Si tratta di estrapolare Si tratta di estrapolare informazioni informazioni di di varia natura dai dati immagazzinati. varia natura dai dati immagazzinati. Questo è eseguito dai sistemi detti Questo è eseguito dai sistemi detti Datawarehouse.Datawarehouse.
Realtà AttualeRealtà Attuale
Database DistribuitiDatabase Distribuiti: è la possibilità di : è la possibilità di vedere come un unico database più database vedere come un unico database più database che risiedono su computer differenti, anche che risiedono su computer differenti, anche remoti, lavorandoci come se fosse il remoti, lavorandoci come se fosse il proprio computer.proprio computer.
Internet: Internet: spesso le pagine che noi vediamo spesso le pagine che noi vediamo non sono statiche ma vengono create non sono statiche ma vengono create dinamicamente attingendo i dati da un dinamicamente attingendo i dati da un database, e spesso Internet si appoggia sulle database, e spesso Internet si appoggia sulle capacità di protezione dei database.capacità di protezione dei database.
EvoluzioneEvoluzione
I database evolvono di pari passo con lo I database evolvono di pari passo con lo sviluppo delle tecnologie informatiche.sviluppo delle tecnologie informatiche.
Avremo sempre più sicurezza, velocità, Avremo sempre più sicurezza, velocità, tecnologia e potenza.tecnologia e potenza.
Comunicare nel senso esteso di scambiare Comunicare nel senso esteso di scambiare informazioni.informazioni.
I database forniscono informazioni sui dati I database forniscono informazioni sui dati memorizzati. memorizzati.
La comunicazione avviene anche attraverso La comunicazione avviene anche attraverso l’uso dei database.l’uso dei database.
Affidabilità di un DatabaseAffidabilità di un Database
Risolvere problemi legati a:Risolvere problemi legati a:
Recupero dai malfunzionamentiRecupero dai malfunzionamenti
Accesso concorrenteAccesso concorrente
Affidabilità di un DatabaseAffidabilità di un Database
Recupero vuol dire Recupero vuol dire RipristinareRipristinare un database dopo un un database dopo un errore grave del sistema. E’ necessario attuare 2 errore grave del sistema. E’ necessario attuare 2 politiche:politiche:
BackUpBackUp dei dati sistematico ed affidabile, per dei dati sistematico ed affidabile, per permettere una ricostruzione completa del sistema permettere una ricostruzione completa del sistema dopodopo
Uso delle Uso delle transazionitransazioni, per recuperare da errori , per recuperare da errori immediati. Consiste nella capacità del sistema di immediati. Consiste nella capacità del sistema di effettuare le operazioni a blocchi, in modo che se effettuare le operazioni a blocchi, in modo che se non si riesce ad eseguire tutto un blocco di non si riesce ad eseguire tutto un blocco di operazioni, allora queste saranno annullate per tutto operazioni, allora queste saranno annullate per tutto il blocco corrente.il blocco corrente.
Affidabilità di un DatabaseAffidabilità di un Database
Il controllo della concorrenza si occupa della Il controllo della concorrenza si occupa della gestione degli aggiornamenti e modifiche dei dati gestione degli aggiornamenti e modifiche dei dati da parte di molti utenti contemporaneamente, da parte di molti utenti contemporaneamente, tramite il meccanismo del blocco dei dati: si pone tramite il meccanismo del blocco dei dati: si pone un blocco esclusivo per un certo numero di dati da un blocco esclusivo per un certo numero di dati da parte di un unico utente, così che gli altri non parte di un unico utente, così che gli altri non potranno modificare i record bloccati evitando di potranno modificare i record bloccati evitando di creare confusione ed errori per la sovrapposizione creare confusione ed errori per la sovrapposizione di modifiche.di modifiche.