BASI di Dati: Fondamenti e modelli Maurizio Fermeglia [email protected] www.caslab.units.it Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione. (accezione specifica) collezione di dati gestita da un DBMS Nome dell’evento 21 December, 2015 - slide Sistema di gestione di basi di dati DataBase Management System — DBMS Sistema (prodotto software) in grado di gestire collezioni di dati che siano (anche): grandi (di dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati) persistenti (con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano) condivise (utilizzate da applicazioni diverse) garantendo affidabilità (resistenza a malfunzionamenti hardware e software) e privatezza (con una disciplina e un controllo degli accessi). Come ogni prodotto informatico, un DBMS deve essere efficiente (utilizzando al meglio le risorse di spazio e tempo del sistema) ed efficace (rendendo produttive le attività dei suoi utilizzatori). Nome dell’evento 21 December, 2015 - slide DBMS vs file system La gestione di insiemi di dati grandi e persistenti è possibile anche attraverso sistemi più semplici — gli ordinari file system dei sistemi operativi, che permettono di realizzare anche rudimentali forme di condivisione. Non esiste una linea netta di separazione fra DBMS e nonDBMS. I DBMS estendono le funzionalità dei file system, fornendo più servizi ed in maniera integrata (cfr. efficacia). I file system prevedono forme di condivisione, permettendo accessi contemporanei in lettura ed esclusivi in scrittura: se è in corso un’operazione di scrittura su un file, altri non possono accedere affatto al file. Nei DBMS, c’è maggiore flessibilità: si può accedere contemporaneamente a record diversi di uno stesso file o addirittura allo stesso record (in lettura). Nome dell’evento 21 December, 2015 - slide DBMS vs file system (2) Nei programmi tradizionali che accedono a file, ogni programma contiene una descrizione della struttura del file stesso, con i conseguenti rischi di incoerenza fra le descrizioni (ripetute in ciascun programma) e i file stessi. Nei DBMS, esiste una porzione della base di dati (il catalogo o dizionario) che contiene una descrizione centralizzata dei dati, che può essere utilizzata dai vari programmi. Nome dell’evento 21 December, 2015 - slide GESTIONE DI FILES Basati su File systems Logica di accesso ai dati contenuta nel codice (COBOL) Problemi di manutenzione Programma di Update Programma di Report File Dati Storico Programma di Controllo Nome dell’evento 21 December, 2015 - slide Un Data Base è formato da DATI,DATI,DATI DatiPersistenti In contrapposizione ai dati transitori dati di Input: contenuti in una maschera dati di output: risposta del sistema DEFINIZIONE: Il Data Base è una collezione di dati persistenti che è usata dal sistema di una certa azienda (organizzazione tecnica, commerciale, scientifica) Nome dell’evento 21 December, 2015 - slide BENEFICI DELL’ USO DI DATA BASE Riduzione delle informazioni ridondanti Eliminando I files privati Eliminando I doppiono (Forme normali) Consistenza della informazioni Conseguenza del punto precedente (ridondanza) Se c’è ridondanza, allora il DB deve garantire consistenza Dati condivisi E’ possibile imporre standard aziendali (DBA e DA li impongono Sicurezza Integrità Nome dell’evento Legata alla ridondanza e consistenza Fondamentale in ambiente multiutente 21 December, 2015 - slide Vantaggi e svantaggi di un DBMS Vantaggi I dati sono considerati come un risorsa comune La base di dati fornisce un modello unificato del business Permette un controllo centralizzato dei dati permettendo standardizzazione ed economie di scala Riduzione di ridondanze ed inconsistenze Indipendenza dei dati Svantaggi Nome dell’evento Costo e la complessità - investimenti Potrebbero fornire servizi ridondanti e non richiesti effettivamente 21 December, 2015 - slide MA IL BENEFICIO MAGGIORE E’ L’ INDIPENDENZA DEI DATI Nei vecchi sistemi il modo in cui venivano organizzati i dati e le tecniche per accedervi facevano parte della logica e del codice del programma. Architettura standard (ANSI/SPARC) tre livelli per DBMS utente utente Schema esterno utente Schema esterno utente utente Schema esterno Schema logico Schema interno BD Nome dell’evento 21 December, 2015 - slide Architettura ANSI/SPARC: schemi schema logico: descrizione dell’intera base di dati nel modello logico “principale” del DBMS schema esterno: descrizione di parte della base di dati in un modello logico (“viste” parziali, derivate, anche in modelli diversi) schema fisico: rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione. Nome dell’evento 21 December, 2015 - slide Indipendenza dei dati conseguenza della articolazione in livelli: l’accesso avviene solo tramite il livello esterno (che può coincidere con il livello logico); due forme: fisica: il livello logico e quello esterno sono indipendenti da quello fisico; una relazione è utilizzata nello stesso modo qualunque sia la sua realizzazione fisica (che può anche cambiare nel tempo senza che debbano essere modificate le forme di utilizzo) logica: il livello esterno è indipendente da quello logico aggiunte o modifiche alle viste non richiedono modifiche al livello logico; modifiche allo schema logico che lascino inalterato lo schema esterno sono trasparenti Nome dell’evento 21 December, 2015 - slide Una vista Corsi Corso Basi di dati Sistemi Reti Controlli Docente Rossi Neri Bruni Bruni Aula DS3 N3 N3 G Aule Nome DS1 N3 G Edificio Ex-OMI Ex-OMI Pincherle Piano Terra Terra Primo CorsiSedi Corso Sistemi Reti Controlli Nome dell’evento Aula N3 N3 G Edificio Ex-OMI Ex-OMI Pincherle Piano Terra Terra Primo 21 December, 2015 - slide INDIPENDENZA DEI DATI Esiste il concetto di VISTA del Data Base L’amministratore del DB può modificare la struttura interna dei dati senza toccare la visibilità esterna allo stesso IMMUNITA’ DELLE APPLICAZIONI A MODIFICHE DI STRUTTURA Nome dell’evento 21 December, 2015 - slide TIPI DI SISTEMI DI BASI DI DATI Sistemi basati sulla gestione di Files (FMS) Modelli Gerarchici Modelli Reticolari (Network) Modelli Relazionali Nome dell’evento 21 December, 2015 - slide GESTIONE DI FILES Basati su File systems Logica di accesso ai dati contenuta nel codice (COBOL) Problemi di manutenzione Programma di Update Programma di Report File Dati Storico Programma di Controllo Nome dell’evento 21 December, 2015 - slide DATA BASE GERARCHICI Struttura gerarchica dei dati (tipico di un file system) Utilizzato nell industrie di manufatti (Automobili) Introduzione della relazione Padre-Figlio Vantaggi Struttura semplica Eccellente per relazioni padre - figlio (A è parte di B oppure A contiene B) Performance: movimenti rapidi in virtù della struttura gerarchica Automobile Motore Porta sinistra Finestrino Nome dell’evento Carrozzeria Porta destra Motore elettrico Chassis Tetto Cofano Maniglia 21 December, 2015 - slide DATA BASE RETICOLARI Modello gerarchico è poco flessibile (gestione ordini) Un record partecipa a relazioni padre-figlio multiple Il programmatore naviga nel data base dando anche le direzioni di movimento Vantaggi: Flessibilità e Performance Svantaggi: certa rigidezza dovuta alle relazioni definite a priori e necessità di aggiornamento del SW Clienti Prodotti Ordini Nome dell’evento 21 December, 2015 - slide DATA BASE RELAZIONALI