Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli su dispositivi per elaborazioni successive. Per poterli Conservare (Archiviare) è necessario Organizzare i dati in modo da consentire un facile e veloce recupero dei dati cercati (operazione di ricerca). Una delle più importanti organizzazione dei dati è il DATA BASE. 1
DATABASE o BASE DI DATI Collezione di dati logicamente correlati e condivisi che ha lo scopo di soddisfare i fabbisogni informativi di una specifica organizzazione. Per la gestione dei dati e la regolazione degli accessi si utilizza il DBMS (DataBase Managment System) Il Data Base è l insieme dei dati Il DBMS è il sistema che gestisce il data base 2
Cosa fa il DBMS? Il DBMS è un particolare strumento software che è in grado di: Creare una nuova base di dati (definizione degli archivi, loro relazioni, limiti di accesso, vincoli di manipolazione). Il DBA (Data Base Administrator) utilizza il DDL ( Data Definition Language) per creare la base dati Facilitare gli utenti nella manipolazione dei dati (inserimento, modifica e cancellazione). Si utilizza il DML (Data Manipulation Language) Rendere possibile e facile l interrogazione dei dati con il linguaggio QL (Query Language) 3
Caratteristiche del DataBase L uso della base dei dati rispetto agli archivi tradizionali offre i seguenti vantaggi: Riduzione delle ridondanza ed eliminazione delle inconsistenze Integrità dei dati Facilità di accesso Multiutenza e accesso concorrente Indipendenza di dati e programmi Sicurezza 4
Ridondanza ed Inconsistenza Ridondanza: Duplicazione del dato e/o memorizzazione di un dato che dipende direttamente dall elaborazione di altri. Ad esempio la media dei voti di uno studente può derivare da un calcolo su tutti i voti e non essere un attributo del record. Si parla di Inconsistenza quando due dati che rappresentano la stessa informazione assumono valori diversi. Ad esempio l indirizzo di un cliente che compare in due file diversi; un eventuale modifica in un solo file genera inconsistenza poiché i valori sono diversi. Il database riducendo le ridondanze elimina l inconsistenza poiché il cambiamento del valore di un dato viene reso immediatamente disponibile a tutti gli utenti ed applicazioni. 5
Integrità dei dati La gestione dell integrità dei dati (integrità referenziale) è di competenza del DBMS che controlla se l inserimento di nuovi dati o la cancellazione di quelli esistenti non alteri la congruenza della base di dati. NUM C/C A10 A20 CLIENTE Rossi Mario Vedi Giovanni SALDO 3500 6000 NUM C/C TIPO IMPORTO A10 A10 A20 A20 Prelievo Versamento Prelievo Prelievo 500 100 200 500 Non si può inserire un movimento se il C/C non è ancora registrato e si impedisce di cancellare un C/C se vi sono ancora movimenti ad esso collegati Le operazioni sui dati richieste dagli utenti vengono eseguite fino al loro completamento per assicurare la consistenza dei dati altrimenti il DBMS attiva un operazione di ripristino (roll-back). 6
Facilità di accesso Il ritrovamento dei dati è facilitato e svolto con grande velocità anche nel caso di database molto grandi e con richieste provenienti contemporaneamente da più utenti. Il DBMS mette a disposizione un linguaggio non procedurale (Query Language) che consente agli utenti non esperti ed occasionali di interrogare con facilità la base di dati. E sufficiente che cosa si vuole trovare e non come lo si deve cercare. 7
Multiutenza e Accesso Concorrente I dati organizzati in un unico database possono essere utilizzati da più utenti con i loro programmi, consentendo anche una visione solo parziale del database da parte del singolo utente, che può rimanere estraneo al resto dei dati contenuti nel database. Il DBMS garantisce inoltre che le operazioni svolte da utenti diversi in modo concorrente non interferiscano l una con l altra. Es. prenotazione volo aereo da parte di due persone contemporaneamente. Per evitare il conflitto è necessario applicare il principio della mutua esclusione. 8
Indipendenza di dati e programmi E possibile cambiare l organizzazione dei dati e i programmi applicativi indipendentemente l uno dall altro. In particolare vi sono due tipi di indipendenza: Indipendenza fisica: la disposizione e l organizzazione fisica dei dati sui supporti di memoria di massa possono essere cambiate senza modificare l organizzazione logica globale. Cioè è possibile modificare i supporti (es. Hard disk, nastro, disco ottico ecc..) con cui i dati sono registrati e le modalità di accesso (es. da sequenziale a random) alle memorie di massa senza modifiche ai programmi. 9
Indipendenza logica: l organizzazione logica dei dati può essere cambiata senza modificare i programmi che realizzano le applicazioni non coinvolte direttamente. Ad esempio se si deve aggiungere un nuovo campo in un record, solo i programmi che devono gestire il nuovo campo devono essere modificati, gli altri non risentono della modifica con conseguente risparmio nella manutenzione del software. 10
Sicurezza Le problematiche relative alla sicurezza riguardano sia la regolazione degli accessi che la protezione da guasti accidentali. Il Data Base Administrator (DBA) deve prevedere delle procedure di controllo: per impedire gli accessi non autorizzati ai dati contenuti nel database. (Ad esempio non tutto il personale di un azienda può vedere gli stipendi di tutti e solo qualcuno può modificarli). per proteggere la base di dati da tutti i danneggiamenti accidentali (ad esempio guasti hardware) in modo da poter effettuare una completa ricostruzione del data base. (Copie di backup normalmente notturne e procedure disaster recovery) 11
Gli Utenti In base alle modalità di utilizzo del data base si possono individuare alcune categorie di Utenti: DBA (Data Base Administrator): responsabile del sistema sia per l organizzazione logica che fisica dei dati PROGRAMMATORI: realizzano le applicazioni (programmi) utilizzando il DML o particolari linguaggi di programmazione UTENTI FINALI che possono essere: Occasionali non hanno competenze informatiche, necessitano di interfacce amichevoli e usano i QL (es. manager) Frequenti pur non avendo competenze informatiche hanno dimistichezza con un particolare sistema (es. bibliotecari) Inconsapevoli utilizzatori di una particolare applicazione senza sapere che è basata su un data base (es. impiegati bancari) 12
Fasi della progettazione La creazione di un data base deve essere il risultato di un accurata progettazione che passa attraverso tre fasi: 1. Progettazione concettuale: permette di rappresentare la realtà dei dati e delle loro relazioni secondo una logica naturale per l uomo. Si individuano quindi i soggetti significativi, le loro caratteristiche ed i legami logici tra di essi. Si produce quindi un MODELLO della realtà DA RAPPRESENTARE. Tale modello è chiamato MODELLO CONCETTUALE e il più diffuso è il modello E/R (Entità Relazioni). 2. Progettazione logica: permette di tradurre il modello concettuale in una struttura logica dei dati che deve facilitare la manipolazione e l interrogazione dei dati. Si produce quindi un MODELLO LOGICO. 13
Nello sviluppo della teoria dei database sono emersi principalmente tre diversi tipi di modelli: Gerarchico: particolarmente adatto per rappresentare situazioni nelle quali alcuni dati (entità) stanno in alto ed altri in basso secondo uno schema ad albero (i nodi sono le entità e gli archi rappresentano le associazioni) Reticolare: i dati (entità) e le loro associazioni sono rappresentati secondo un grafo orientato (schema ad albero bidirezionale). E un estensione del modello gerarchico. Relazionale: rappresenta il data base come un insieme di tabelle. E un modello più semplice ed efficace perché più vicino al modo di pensare ed organizzare dell uomo. Nasce nel 1970 ad opera di Edward Codd (ricercatore IBM) e si basa su alcuni concetti fondamentali della teoria degli insiemi. 14
Fasi della progettazione 3. Progettazione fisica: avviene nel momento in cui si installano gli archivi sulle memorie di massa. Si realizza utilizzando il DBMS. Lo schema delle varie fasi della progettazione può essere: Realtà Modello E/R Modello Relazionale Osservazione Traduce/Deriva Implementazione Archivi Prima di realizzare il modello concettuale è fondamentale la raccolta dati e l analisi dei requisiti hardware e software attraverso colloqui e contatti di ogni genere (questionari, interviste) con gli utenti. UTENTI 15