Database introduzione

3,518 views
3,225 views

Published on

Published in: Education
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,518
On SlideShare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Database introduzione

  1. 1. DATABASE Introduzione ai
  2. 2. 27/11/2007 11.30 Autore: Antonino Bartolone - 2007 2 I 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 biblioteca Richiesta di un certificato Spesa al supermercato Operazioni bancarie Pagamento autostradale con Telepass / Viacard Acquisto tramite siti Internet Prenotazioni on line di alberghi, biglietti aerei
  3. 3. Definizioni e concetti di base 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 3 Definizioni
  4. 4. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 4 DATABASE (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 preciso Per “dati” si intendono dei fatti noti, con un significato implicito, che possono essere memorizzati Es: nome, cognome, indirizzo e telefono di un abbonato telefonico
  5. 5. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 5 Un database può avere qualsiasi dimensione e complessità Esempi Una rubrica telefonica personale può avere poche centinaia di voci Il 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 Gigabyte Tenendo traccia delle ultime quattro dichiarazioni, risulterebbe una base di dati di 4 x 100 Gbytes=400 Gigabyte Questo 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. 6. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 6 Un database può essere gestito manualmente (es. lo schedario di una biblioteca) o attraverso un sistema informatico Un 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. 7. DataBase Management System 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 7 DBMS
  8. 8. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 8 Un 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. 9. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 9 Un 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 vincoli Popolare il database - Inserire e memorizzare i dati su memoria di massa Manipolare il database interrogare il database per ritrovare dati specifici aggiornare i dati con modifiche e/o cancellazioni - generare reports dei dati
  10. 10. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 10 Un DBMS NON E’ un DataBase Un DBMS è un applicativo per gestire database - Esempio: Microsoft Access Un database è un insieme di dati - Esempio: file con estensione .MDB Stessa differenza esistente tra Word (applicativo) e file .DOC (dati)
  11. 11. Caratteristiche di un database 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 11 Caratteristiche
  12. 12. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 12 Grandezza: che possono avere dimensioni di migliaia di miliardi di byte, generalmente in base alla memoria disponibile Condivisione: cioè che applicazioni e utenti diversi possono poter accedere, secondo opportune modalità, ai dati comuni Persistenza: cioè hanno un tempo di vita che non è limitato a quello delle singole esecuzioni dei programmi che lo utilizzano
  13. 13. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 13 Affidabilità: 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 operazioni Efficacia/efficienza: che raggiungono il risultato richiesto dal cliente nella maniera migliore possibile
  14. 14. Le figure professionali che in qualche modo sono coinvolte nei DB sono varie 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 14 Figure coinvolte
  15. 15. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 15 Database 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.
  16. 16. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 16 Utenti finali utenti finali casuali: accedono occasionalmente al DB e lo interrogano attraverso queryLanguages sofisticati utenti finali parametrici: rappresentano una parte considerevole di utenza. Usano aggiornamenti e queries standard utenti finali sofisticati: ingegneri, scienziati e analisti di affari che hanno familiarità con le facilities del DBMS per richieste complesse utenti stand-alone: gestiscono databases personali usando pacchetti applicativi costruiti ad-hoc Analisti e Programmatori di applicazioni gli 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
  17. 17. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 17 Progettisti e Implementatori di DBMS Disegnano e implementano moduli e interfacce di DBMS come un pacchetto software. Un DBMS è un complesso sistema software che consiste di molti moduli Sviluppatori di Tools Implementano pacchetti software per il progetto, il monitoraggio, l’interfaccia, la prototipazione, ecc. di databases Operatori e Personale per la Manutenzione Personale che si occupa dell'amministrazione del sistema e della manutenzione hw e sw del sistema di database
  18. 18. I modelli di dati (Data Models) indicano il modo in cui i dati vengono organizzati logicamente 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 18 Modelli di dati
  19. 19. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 19 I 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”)
  20. 20. Insieme di “tabelle” messe in “relazione” tra loro 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 20 I DataBase Relazionali
  21. 21. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 21 DATABASE : una o più tabelle eventualmente collegate (messe in relazione) tra di loro Un 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” Dipendente Stipendio
  22. 22. 27/11/2007 11.29 Autore: Antonino Bartolone - 2007 22 Una tabella è costituita da righe e colonne Le 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
  23. 23. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 23 Nella creazione di un database, la prima cosa da fare è definire lo schema Lo 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); la lunghezza: che determina lo spazio utilizzato per la sua memorizzazione;
  24. 24. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 24 La definizione di eventuali relazioni tra le tabelle, viene stabilita in base a campi comuni . Dipendente Stipendio Nell’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.
  25. 25. Linguaggi utilizzati per la definizione e l’interrogazione dei Database 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 25 Linguaggi
  26. 26. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 26 DDL = 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.
  27. 27. 27/11/2007 11.28 Autore: Antonino Bartolone - 2007 27 I 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: SQL Il 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).

×