SlideShare a Scribd company logo
DATABASEIntroduzione ai
27/11/2007 11.30Autore: Antonino Bartolone - 20072I database sono ormai una componente fondamentale della vita di tutti i giorni: molte delle nostre più banali attività ci portano ad interagire con qualche tipo di database.Qualche esempio:Ricerca di un libro nel catalogo elettronico di una bibliotecaRichiesta di un certificatoSpesa al supermercatoOperazioni bancariePagamento autostradale con Telepass / ViacardAcquisto tramite siti InternetPrenotazioni on line di alberghi, biglietti aerei
Definizioni e concetti di base 27/11/2007 11.28Autore: Antonino Bartolone - 20073Definizioni
27/11/2007 11.28Autore: Antonino Bartolone - 20074DATABASE (abbreviato in DB) – Altri termini:“Base di dati” (utilizzato soprattutto in ambiti accademici)“Banca dati” (utilizzato in genere in ambito giuridico per le collezioni di dati riguardanti leggi, norme, sentenze, ecc..)“Archivio elettronico”Cos’è un Database: un insieme di dati correlati tra di loro e organizzati in modo ben precisoPer “dati” si intendono dei fatti noti, con un significato implicito, che possono essere memorizzatiEs: nome, cognome, indirizzo e telefono di un abbonato telefonico
27/11/2007 11.28Autore: Antonino Bartolone - 20075Un database può avere qualsiasi dimensione e complessitàEsempiUna rubrica telefonica personale può avere poche centinaia di vociIl database dei contribuenti americani e delle relative dichiarazioni dei redditi ha delle dimensioni notevoli:		- 100 milioni di contribuenti		- mediamente 5 moduli per ciascuna dichiarazione,		- 200 byte per ogni modulo:	100 milioni x 5 x 200 = 100.000.000.000 = 100 GigabyteTenendo traccia delle ultime quattro dichiarazioni, risulterebbe una base di dati di 4 x 100 Gbytes=400 GigabyteQuesto enorme ammontare di informazioni deve essere organizzato e gestito in modo adeguato per fare in modo che gli utenti possano interrogare, recuperare ed aggiornare i dati
27/11/2007 11.28Autore: Antonino Bartolone - 20076Un database può essere gestito manualmente (es. lo schedario di una biblioteca) o attraverso un sistema informaticoUn database informatizzato può essere creato e gestito o da programmi realizzati “ad hoc” o da un tipo di software indicato con il termine DBMS (DataBase Management System)
DataBase Management System27/11/2007 11.28Autore: Antonino Bartolone - 20077DBMS
27/11/2007 11.28Autore: Antonino Bartolone - 20078Un DataBase Management System (DBMS) è un sistema di gestione di database, un insieme di programmi che consentono di creare e manutenere una base di dati.E’ un software "general-purpose" che facilita la creazione, costruzione e gestione di database per differenti applicazioni.Fornisce un modo per memorizzare informazioni in strutture datiefficienti, scalabili e flessibili.
27/11/2007 11.28Autore: Antonino Bartolone - 20079Un DBMS consente di:Definire un database- costruire la “lo schema” del DB specificando per i dati da memorizzare: le strutture
 i tipi di dati
 i vincoliPopolare il database- Inserire e memorizzare i dati su memoria di massaManipolare il database interrogare il database per ritrovare dati specifici
 aggiornare i dati con modifiche e/o cancellazioni- generare reports dei dati
27/11/2007 11.28Autore: Antonino Bartolone - 200710Un DBMS NON E’ un DataBaseUn DBMS è un applicativo per gestire database	-  Esempio: Microsoft AccessUn database è un insieme di dati	-  Esempio: file con estensione .MDBStessa differenza esistente tra Word (applicativo) e file .DOC (dati)
Caratteristiche di un database27/11/2007 11.28Autore: Antonino Bartolone - 200711Caratteristiche
27/11/2007 11.28Autore: Antonino Bartolone - 200712Grandezza: che possono avere dimensioni di migliaia di miliardi di byte, generalmente in base alla memoria disponibileCondivisione: cioè che applicazioni e utenti diversi possono poter accedere, secondo opportune modalità, ai dati comuniPersistenza: cioè hanno un tempo di vita che non è limitato a quello delle singole esecuzioni dei programmi che lo utilizzano
27/11/2007 11.28Autore: Antonino Bartolone - 200713Affidabilità: cioè garantiscono la capacità del sistema di conservare sostanzialmente intatto il contenuto del DB in caso di malfunzionamento di HW o SW, (fornendo funzionalità automatiche di backup e recovery)Privatezza: riguardo i dati, cioè che ciascun utente identificato con un codice di accesso, viene abilitato a svolgere solo le sue operazioniEfficacia/efficienza: che raggiungono il risultato richiesto dal cliente nella maniera migliore possibile
Le figure professionali che in qualche modo sono coinvolte nei DB sono varie27/11/2007 11.28Autore: Antonino Bartolone - 200714Figure coinvolte
27/11/2007 11.28Autore: Antonino Bartolone - 200715Database Designer (progettista di database)E’ colui che progetta il database in base alle richieste che gli vengono fatte e in base alle esigenze dei futuri utenti del DB.E’ responsabile quindi dell'individuazione dei dati da memorizzare nel DB ed è responsabile della scelta delle strutture opportune.DataBaseAdministrator (DBA)Il DBA è il responsabile dell’autorizzazione all'accesso al database; coordina e monitorizza il suo uso.In grosse organizzazioni è assistito da uno staff.Spesso ha anche compiti di progettazione dei DB.
27/11/2007 11.28Autore: Antonino Bartolone - 200716Utenti finaliutenti finali casuali: accedono occasionalmente al DB e lo interrogano attraverso queryLanguages sofisticatiutenti finali parametrici: rappresentano una parte considerevole di utenza. Usano aggiornamenti e queries standardutenti finali sofisticati: ingegneri, scienziati e analisti di affari che hanno familiarità con le facilities del DBMS per richieste complesseutenti stand-alone: gestiscono databases personali usando pacchetti applicativi costruiti ad-hocAnalisti e Programmatori di applicazionigli analisti di sistema determinano i requisiti degli utenti finali e sviluppano specificazioni per le transazioni;i programmatori di applicazioni implementano le specifiche all’interno dei programmi sviluppati
27/11/2007 11.28Autore: Antonino Bartolone - 200717Progettisti e Implementatori di DBMSDisegnano e implementano moduli e interfacce di DBMS come un pacchetto software. Un DBMS è un complesso sistema software che consiste di molti moduliSviluppatori di ToolsImplementano pacchetti software per il progetto, il monitoraggio, l’interfaccia, la prototipazione, ecc. di databasesOperatori e Personale per la ManutenzionePersonale che si occupa dell'amministrazione del sistema e della manutenzione hw e sw del sistema di database
I modelli di dati (Data Models) indicano il modo in cui i dati vengono organizzati logicamente27/11/2007 11.28Autore: Antonino Bartolone - 200718Modelli di dati
27/11/2007 11.28Autore: Antonino Bartolone - 200719I modelli di dati utilizzati per l’implementazione dei database, si distinguono in:Modello gerarchico (utilizza una struttura dati “gerarchica” (detta “albero”)
Modello reticolare (utilizza una struttura dati “reticolare” (detta “grafo”)
 Modello relazionale (utilizza una struttura dati detta “tabella”; più tabelle sono messe in “relazione” tra loro)
Modello a oggetti (estende alle basi di dati il “paradigma orientato agli oggetti”)Insieme di “tabelle” messe in “relazione” tra loro27/11/2007 11.28Autore: Antonino Bartolone - 200720I DataBase Relazionali
27/11/2007 11.28Autore: Antonino Bartolone - 200721DATABASE : una o più tabelle eventualmente collegate (messe in relazione) tra di loroUn database relazionale è organizzato logicamente con tabelle che contengono i dati su più righe e colonne.Tutti i dati del DB possono essere organizzati con più tabelle.Le tabelle possono eventualmente essere “collegate logicamente” tra loro (messe in relazione) per ottimizzarne le funzionalità e le dimensioni .Es.: DATABASE “Personale”DipendenteStipendio
27/11/2007 11.29Autore: Antonino Bartolone - 200722Una tabella è costituita da righe e colonneLe righe della tabella (ad esclusione della prima) rappresentano i record (o tuple).Ogni record è l’insieme dei dati di un singolo soggetto/argomento.Le colonne della tabella rappresentano i campi.Le intestazioni delle colonne rappresentano i nomi dei campi (cognome, nome…).Ogni campo di ogni singolo record contiene un singolo dato.“Paolino” è quindi il dato rappresentato dal campo Nome del record n. 2

More Related Content

Database introduzione

  • 2. 27/11/2007 11.30Autore: Antonino Bartolone - 20072I database sono ormai una componente fondamentale della vita di tutti i giorni: molte delle nostre più banali attività ci portano ad interagire con qualche tipo di database.Qualche esempio:Ricerca di un libro nel catalogo elettronico di una bibliotecaRichiesta di un certificatoSpesa al supermercatoOperazioni bancariePagamento autostradale con Telepass / ViacardAcquisto tramite siti InternetPrenotazioni on line di alberghi, biglietti aerei
  • 3. Definizioni e concetti di base 27/11/2007 11.28Autore: Antonino Bartolone - 20073Definizioni
  • 4. 27/11/2007 11.28Autore: Antonino Bartolone - 20074DATABASE (abbreviato in DB) – Altri termini:“Base di dati” (utilizzato soprattutto in ambiti accademici)“Banca dati” (utilizzato in genere in ambito giuridico per le collezioni di dati riguardanti leggi, norme, sentenze, ecc..)“Archivio elettronico”Cos’è un Database: un insieme di dati correlati tra di loro e organizzati in modo ben precisoPer “dati” si intendono dei fatti noti, con un significato implicito, che possono essere memorizzatiEs: nome, cognome, indirizzo e telefono di un abbonato telefonico
  • 5. 27/11/2007 11.28Autore: Antonino Bartolone - 20075Un database può avere qualsiasi dimensione e complessitàEsempiUna rubrica telefonica personale può avere poche centinaia di vociIl database dei contribuenti americani e delle relative dichiarazioni dei redditi ha delle dimensioni notevoli: - 100 milioni di contribuenti - mediamente 5 moduli per ciascuna dichiarazione, - 200 byte per ogni modulo: 100 milioni x 5 x 200 = 100.000.000.000 = 100 GigabyteTenendo traccia delle ultime quattro dichiarazioni, risulterebbe una base di dati di 4 x 100 Gbytes=400 GigabyteQuesto enorme ammontare di informazioni deve essere organizzato e gestito in modo adeguato per fare in modo che gli utenti possano interrogare, recuperare ed aggiornare i dati
  • 6. 27/11/2007 11.28Autore: Antonino Bartolone - 20076Un database può essere gestito manualmente (es. lo schedario di una biblioteca) o attraverso un sistema informaticoUn database informatizzato può essere creato e gestito o da programmi realizzati “ad hoc” o da un tipo di software indicato con il termine DBMS (DataBase Management System)
  • 7. DataBase Management System27/11/2007 11.28Autore: Antonino Bartolone - 20077DBMS
  • 8. 27/11/2007 11.28Autore: Antonino Bartolone - 20078Un DataBase Management System (DBMS) è un sistema di gestione di database, un insieme di programmi che consentono di creare e manutenere una base di dati.E’ un software "general-purpose" che facilita la creazione, costruzione e gestione di database per differenti applicazioni.Fornisce un modo per memorizzare informazioni in strutture datiefficienti, scalabili e flessibili.
  • 9. 27/11/2007 11.28Autore: Antonino Bartolone - 20079Un DBMS consente di:Definire un database- costruire la “lo schema” del DB specificando per i dati da memorizzare: le strutture
  • 10. i tipi di dati
  • 11. i vincoliPopolare il database- Inserire e memorizzare i dati su memoria di massaManipolare il database interrogare il database per ritrovare dati specifici
  • 12. aggiornare i dati con modifiche e/o cancellazioni- generare reports dei dati
  • 13. 27/11/2007 11.28Autore: Antonino Bartolone - 200710Un DBMS NON E’ un DataBaseUn DBMS è un applicativo per gestire database - Esempio: Microsoft AccessUn database è un insieme di dati - Esempio: file con estensione .MDBStessa differenza esistente tra Word (applicativo) e file .DOC (dati)
  • 14. Caratteristiche di un database27/11/2007 11.28Autore: Antonino Bartolone - 200711Caratteristiche
  • 15. 27/11/2007 11.28Autore: Antonino Bartolone - 200712Grandezza: che possono avere dimensioni di migliaia di miliardi di byte, generalmente in base alla memoria disponibileCondivisione: cioè che applicazioni e utenti diversi possono poter accedere, secondo opportune modalità, ai dati comuniPersistenza: cioè hanno un tempo di vita che non è limitato a quello delle singole esecuzioni dei programmi che lo utilizzano
  • 16. 27/11/2007 11.28Autore: Antonino Bartolone - 200713Affidabilità: cioè garantiscono la capacità del sistema di conservare sostanzialmente intatto il contenuto del DB in caso di malfunzionamento di HW o SW, (fornendo funzionalità automatiche di backup e recovery)Privatezza: riguardo i dati, cioè che ciascun utente identificato con un codice di accesso, viene abilitato a svolgere solo le sue operazioniEfficacia/efficienza: che raggiungono il risultato richiesto dal cliente nella maniera migliore possibile
  • 17. Le figure professionali che in qualche modo sono coinvolte nei DB sono varie27/11/2007 11.28Autore: Antonino Bartolone - 200714Figure coinvolte
  • 18. 27/11/2007 11.28Autore: Antonino Bartolone - 200715Database Designer (progettista di database)E’ colui che progetta il database in base alle richieste che gli vengono fatte e in base alle esigenze dei futuri utenti del DB.E’ responsabile quindi dell'individuazione dei dati da memorizzare nel DB ed è responsabile della scelta delle strutture opportune.DataBaseAdministrator (DBA)Il DBA è il responsabile dell’autorizzazione all'accesso al database; coordina e monitorizza il suo uso.In grosse organizzazioni è assistito da uno staff.Spesso ha anche compiti di progettazione dei DB.
  • 19. 27/11/2007 11.28Autore: Antonino Bartolone - 200716Utenti finaliutenti finali casuali: accedono occasionalmente al DB e lo interrogano attraverso queryLanguages sofisticatiutenti finali parametrici: rappresentano una parte considerevole di utenza. Usano aggiornamenti e queries standardutenti finali sofisticati: ingegneri, scienziati e analisti di affari che hanno familiarità con le facilities del DBMS per richieste complesseutenti stand-alone: gestiscono databases personali usando pacchetti applicativi costruiti ad-hocAnalisti e Programmatori di applicazionigli analisti di sistema determinano i requisiti degli utenti finali e sviluppano specificazioni per le transazioni;i programmatori di applicazioni implementano le specifiche all’interno dei programmi sviluppati
  • 20. 27/11/2007 11.28Autore: Antonino Bartolone - 200717Progettisti e Implementatori di DBMSDisegnano e implementano moduli e interfacce di DBMS come un pacchetto software. Un DBMS è un complesso sistema software che consiste di molti moduliSviluppatori di ToolsImplementano pacchetti software per il progetto, il monitoraggio, l’interfaccia, la prototipazione, ecc. di databasesOperatori e Personale per la ManutenzionePersonale che si occupa dell'amministrazione del sistema e della manutenzione hw e sw del sistema di database
  • 21. I modelli di dati (Data Models) indicano il modo in cui i dati vengono organizzati logicamente27/11/2007 11.28Autore: Antonino Bartolone - 200718Modelli di dati
  • 22. 27/11/2007 11.28Autore: Antonino Bartolone - 200719I modelli di dati utilizzati per l’implementazione dei database, si distinguono in:Modello gerarchico (utilizza una struttura dati “gerarchica” (detta “albero”)
  • 23. Modello reticolare (utilizza una struttura dati “reticolare” (detta “grafo”)
  • 24. Modello relazionale (utilizza una struttura dati detta “tabella”; più tabelle sono messe in “relazione” tra loro)
  • 25. Modello a oggetti (estende alle basi di dati il “paradigma orientato agli oggetti”)Insieme di “tabelle” messe in “relazione” tra loro27/11/2007 11.28Autore: Antonino Bartolone - 200720I DataBase Relazionali
  • 26. 27/11/2007 11.28Autore: Antonino Bartolone - 200721DATABASE : una o più tabelle eventualmente collegate (messe in relazione) tra di loroUn database relazionale è organizzato logicamente con tabelle che contengono i dati su più righe e colonne.Tutti i dati del DB possono essere organizzati con più tabelle.Le tabelle possono eventualmente essere “collegate logicamente” tra loro (messe in relazione) per ottimizzarne le funzionalità e le dimensioni .Es.: DATABASE “Personale”DipendenteStipendio
  • 27. 27/11/2007 11.29Autore: Antonino Bartolone - 200722Una tabella è costituita da righe e colonneLe righe della tabella (ad esclusione della prima) rappresentano i record (o tuple).Ogni record è l’insieme dei dati di un singolo soggetto/argomento.Le colonne della tabella rappresentano i campi.Le intestazioni delle colonne rappresentano i nomi dei campi (cognome, nome…).Ogni campo di ogni singolo record contiene un singolo dato.“Paolino” è quindi il dato rappresentato dal campo Nome del record n. 2
  • 28. 27/11/2007 11.28Autore: Antonino Bartolone - 200723Nella creazione di un database, la prima cosa da fare è definire lo schemaLo schema (o struttura) del database è quella parte che rimane invariata nel tempo (eventuali modifiche successive non sono sempre possibili o semplici da effettuare).Nella definizione dello schema del DB, bisogna definire ogni singola tabella e, per ogni tabella, definire ogni singolo campo che dovrà contenere i dati.I campi vengono definiti in base ad alcune proprietà, tra le quali:il tipo: che tipo di dato e quindi che tipo di operazioni si possono eseguire su di esso (testo, numero, data, logico);
  • 29. la lunghezza: che determina lo spazio utilizzato per la sua memorizzazione;27/11/2007 11.28Autore: Antonino Bartolone - 200724La definizione di eventuali relazioni tra le tabelle, viene stabilita in base a campi comuni .DipendenteStipendioNell’esempio, le 2 tabelle “Dipendente” e “Stipendio” sono messe in relazione tra loro tramite il campo Matricola.In questo modo si può facilmente individuare, ad esempio, tutti gli stipendi del dipendente Rossi Franco oppure sapere i nomi dei dipendenti che hanno avuto uno stipendio di febbraio 2007 maggiore di 1500 euro.
  • 30. Linguaggi utilizzati per la definizione e l’interrogazione dei Database27/11/2007 11.28Autore: Antonino Bartolone - 200725Linguaggi
  • 31. 27/11/2007 11.28Autore: Antonino Bartolone - 200726DDL = Data DefinitionLanguage (Linguaggio per la definizione dei dati)Si definiscono DDL, quei linguaggi che consentono la definizione dello schema (o struttura) del database.DML = Data ManipolationLanguage (Linguaggio per la manipolazione (gestione) dei dati)Si definiscono DML, quei linguaggi che consentono di intervenire sul database per l’inserimento, cancellazione, aggiornamento, recupero e visualizzazione dei dati.
  • 32. 27/11/2007 11.28Autore: Antonino Bartolone - 200727I DBMS hanno, al loro interno, un unico linguaggio integrato, con le funzionalità di DDL ed DML.Il DBMS Microsoft Access, ad esempio, consente di creare e gestire un database in modo completo, senza uscire dal suo ambiente.Il DBMS MySQL, utilizza al suo interno un linguaggio che ha funzionalità sia di DDL che di DML: SQLIl linguaggio SQL (StructureQueryLanguage), è un linguaggio specifico per la gestione di database.SQL è diventato uno standard tra i linguaggi per la gestione di database.SQL è il linguaggio di interrogazione di database relazionali più diffuso ed utilizzato dai DBMS relazionali (RDBMS).