INTRODUZIONE AI SISTEMI DI BASI DI DATI Dato Ciò che è immediatamente presente alla conoscenza, prima di ogni forma di elaborazione. In informa:ca, elemen: di un informazione cos:tui: da simboli (numeri, le>ere, ecc.) che devono essere elabora: TRECCANI
Cos è una Base di Dati? È una collezione di da: correla: Rappresenta una realtà del mondo reale * I cambiamen: nel mondo reale devono rifle>ersi nella base di da: I collegamen: logici fra i da: sono coeren: con una seman:ca ben precisa È proge>ata, costruita, e popolata con da:, con uno scopo ben preciso * a volte chiamata mini-mondo o universo del discorso Le Basi di Dati sono il fondamento di
e molto altro Dimensioni di una Base di Dati La dimensione e la complessità di una base di da: dipendono dalla realtà da rappresentare Rubrica del proprio telefono Catalogo di una grossa biblioteca Archivio delle dichiarazioni dei reddi: Catalogo dei voli aerei commerciali
Sistemi per la Gestione di una Base di Dati Archivi cartacei (ad es., schedari, rubriche, ecc.) Archivi ges:: da calcolatore DBMS (DataBase Management System) Un sistema sopware con scopi generici (general purpose) Un gruppo di programmi applica:vi sviluppa: ad hoc per un applicazione specifica La scelta dipende da mol: fa>ori tempo di sviluppo, efficienza in fase opera:va, valore economico complessivo Definizione di una Base di Dati Tipi di dato Stru>ure da: Vincoli sui da: Relazioni fra i da: La definizione di una base di da: è memorizzata a sua volta in un catalogo
Costruire, Manipolare e Condividere una Base di Dati Costruire Memorizzare i da: in un sistema controllato dal DBMS Si parla di popolamento di una Base di Da: Manipolare Modifica e aggiornamento dei da: Interrogazioni (query): estrazione di informazioni Condividere Più uten: possono accedere ai da: Struttura di un DBMS
Altre funzionalità di un DBMS Protezione Riservatezza dei da: Robustezza a guas: hardware e sopware Manutenibilità La base di da: deve poter evolvere nel tempo Basi di Dati e Sistemi Informativi Le Basi di Da: sono una componente essenziale di un sistema informa:vo aziendale Il sistema informa:vo aziendale comprende Calcolatori Sistemi di memorizzazione Re: di trasmissione SoPware applica:vo Personale
Un esempio Base di Da: di una Università Dati di una Università
Definizione e Costruzione della Base di Dati Definizione Suddivisione dei da: in diversi file Ciascun file con:ene un certo numero di record fra loro omogenei Ciascun record è formato da un numero di campi Per ciascun campo è definito il :po di dato I record di file diversi sono fra loro collega: logicamente da campi con iden:co significato Costruzione Memorizzare i da: degli studen: Manipolazione della Base di Dati Interrogazioni Recupera la trascrizione del libre>o universitario dello studente Smith Elenca i nomi degli studen: che hanno sostenuto Basi di Da: nell autunno 2008 e il voto a>ribuito all esame Quali sono gli insegnamen: propedeu:ci a Basi di Da:? Aggiornamen: Cambia l anno di corso di Smith in secondo Crea un nuovo modulo per l insegnamento Basi di Da: per questo semestre Inserisci un voto A per Smith nel modulo di Basi di Da: dell ul:mo semestre
Peculiarità dell approccio con Basi di Dati Se non si usa una Base di Dati La stru>ura dei file deve essere nota a ciascun programma che deve accedere ai da: Le modifiche alla stru>ura da: deve essere propagata a tu` i programmi che accedono a quei da: Uten: diversi possono creare archivi diversi per memorizzare da: riferi: ai medesimi ogge` Le Basi di Da: sono u:li quando l approccio con file genera inefficienze
Vantaggi approccio con Basi di Dati Natura autodescri`va di un sistema di basi di da: Separazione fra programmi e da:, e astrazione dei da: Supporto di viste mul:ple dei da: Condivisione dei da: e ges:one delle transazioni con uten: mul:pli Natura autodescrittiva di un sistema di basi di dati Un DBMS è general-purpose Il DBMS fa riferimento ad un catalogo che con:ene la definizione della stru*ura e dei vincoli della base di da: Le informazioni contenute nel catalogo sono de>e metada2 descrivono i da: di interesse Un DBMS deve lavorare bene con qualsiasi :po di applicazione di basi di da:
Cataloghi del Sistema Formato interno di memorizzazione
Separazione fra programmi e dati Indipendenza fra programmi e da: La stru>ura dei file di da: è memorizzata separatamente dai programmi di accesso Indipendenza fra programmi e operazioni Dis:nzione fra interfaccia del programma e operazioni eseguite per o>enere il risultato Alcuni sistemi di basi di da: consentono di definire operazioni sui da: Astrazione dei dati Un DBMS consente una rappresentazione conce*uale dei da: Non sono specifica: i de>agli della memorizzazione Non sono specificate le implementazioni delle operazioni (interrogazione, aggiornamento) Un modello di da2 fornisce la rappresentazione conce>uale Usa conce` logici dei da: facilmente comprensibili agli uten:
Viste multiple dei dati Una base di da: ha generalmente mol: uten: Gruppi di uten: diversi hanno interesse ad accedere ad un so>oinsieme dei da: Ad esempio: segreteria studen:, uffici amministra:vi Vista So>oinsieme della basi di da: che soddisfa le esigenze di un gruppo di uten: Può contenere da: deriva: da da: presen: nella base di da: ma non memorizza: in essa si parla di da: virtuali Viste
Condivisione dei dati Consente l accesso alla base di da: a più uten: contemporaneamente Controllo della concorrenza Verifica che l aggiornamento degli stessi da: da parte di più uten: avvenga in modo corre>o (es: prenotazioni aeree) Controllo degli accessi Le applicazioni di questo :po sono de>e On-line Transac2on Processing (OLTP) Attori in scena
Persone che interagiscono con i DBMS Amministratori Proge`s: Uten: finali Analis: di sistema e ingegneri del sopware I diversi ruoli possono essere assun: da una o più persone a seconda della dimensione e della complessità della base di da: Amministratori DBA (DataBase Administrator) Ges:sce le risorse della base di da: La base di da: stessa Il DBMS e il sopware correlato In par:colare Autorizza gli accessi alla base di da: Coordina e :ene so>o controllo l u:lizzo Valuta la necessità di acquisire nuovo hardware o sopware Può essere una persona supportata da uno staff
Progettisti Individuano i da: da memorizzare per una data applicazione Scelgono la stru>ura più adeguata per la rappresentazione dei da: Questo processo coinvolge gli uten: futuri della base di da: La proge>azione deve soddisfare le esigenze di tu` gli uten: Utenti finali Uten2 casuali accedono raramente alla base di da: e in genere hanno bisogno ogni volta di informazioni diverse (es. manager) Uten2 finali non sofis2ca2 (parametrici) accedono alla base di da: per eseguire operazioni standardizzate di aggiornamento o interrogazione (es. operatore allo sportello in una banca) Uten2 finali sofis2ca2 conoscono a fondo il DBMS e scrivono le applicazioni che meglio soddisfano le esigenze (es. analis:) Uten2 indipenden2 basi di da: per uso personale con programmi ad hoc
Ingegneri del software Analis: di sistema Determinano le esigenze degli uten: non sofis:ca: e sviluppano procedure standard in accordo con esse Sviluppatori Implementano le specifiche nel sopware Dietro le quinte
Sviluppatori del DBMS Proge`s: e implementatori del DBMS Un DBMS è un pacche>o sopware complesso composto da diversi moduli (catalogo, interfaccia, controllo di concorrenza, ecc.) Sviluppatori di strumen: (tool) per facilitare la proge>azione e l uso del DBMS Pacche` opzionali vendu: separatamente Operatori e personale per la manutenzione Vantaggi dell uso di un DBMS
Panoramica Controllo della ridondanza Divieto all accesso non autorizzato Memorizzazione persistente di ogge` e stru>ure di da: Stru>ure di memorizzazione per l esecuzione efficiente delle interrogazioni Backup e Recovery Disponibilità di numerose interfacce utente Rappresentazione di associazioni complesse fra i da: Imposizione di vincoli di integrità Esecuzione di inferenze e azioni tramite regole Controllo della ridondanza Ridondanza: Se uten: diversi usassero file separa: per la memorizzazione delle stesse informazioni Un singolo aggiornamento logico dovrebbe essere ripetuto tante volte quan: sono i file che contengono lo stesso dato Spreco di memoria I da: contenu: in file diversi possono diventare incoeren: La base di da: cos:tuisce una sorta di archivio centrale dei da: cui uten: diversi accedono mediante viste personalizzate È possibile inserire ridondanze controllate
Esempio di ridondanza controllata (a) Ridondanza controllata. (b) Ridondanza non controllata. Altri vantaggi Potenziale per imporre standard Tempo rido>o per lo sviluppo di applicazioni Flessibilità Disponibilità di informazioni aggiornate Economie di scala
Cenni storici I primi 20 anni Anni 60: primo DBMS proge>ato dalla General Electric Fine anni 60: primo DBMS dell IBM IBM e American Airlines svilupparono Il sistema di prenotazione area SABRE 1970: Edgar Codd propose il modello relazionale dei da: Anni 80: Modello relazionale si impone sugli altri modelli di da:
La maturità A par:re dagli anni 80: diffusione del linguaggio SQL (sviluppato come parte del System R della IBM) Standardizzazione SQL negli anni 90 Ulteriori progressi Memorizzazione e ges:one di da: provenien: da diverse basi di da: (data warehouse) Analisi di da: con strumen: di data mining /business intelligence Commercio ele>ronico, librerie digitali, mappatura genoma umano, contenu: mul:mediali Oggi In tempi più recen: sono comparsi pacche` applica:vi basa: su DBMS ERP (Enterprise Resource Planning) CRM (Customer Rela:onship Management) MRP (Management Resource Planning) produ>ori: Oracle, SAP, PeopleSoP, SalesForce, ecc. Ques: pacche` iden:ficano operazioni ges:onali comuni e forniscono uno strato applica:vo I da: sono memorizza: in un DBMS
Oggi La diffusione di Internet ha trasformato ulteriormente il mondo delle basi di da: Le interrogazioni e i rela:vi risulta: vengono sempre più spesso mostra: a>raverso l uso di un browser I tes: sono forma>a: a>raverso HTML/XML Nuove applicazioni e nuovi modelli per le basi di dati Estensione delle applicazioni delle basi di da: a Applicazioni scien:fiche Archiviazione e recupero di immagini e video Data mining Informazioni geografiche Serie temporali I produ>ori di DBMS hanno aggiunto funzionalità specifiche per le diverse :pologie di da: Per alcune applicazioni, modelli diversi dal relazionale
DBMS NoSQL Mo:vato dall uso dei RDBMS anche in ambien: dove Il modello relazionale non è il più ada>o a rappresentare le informazioni di interesse Non sono defini: vincoli di integrità Non devono essere supportate le transazioni Modelli alterna:vi di ges:one dei da: es., key-value, document-store, ecc. Quando non usare un DBMS Applicazioni con vincoli rigidi di tempo reale Applicazioni con alcune operazioni cri:che che richiedono la scri>ura ad hoc di un codice efficiente Applicazioni che necessitano di :pi di manipolazione di da: non supporta: dai DBMS Analisi cos:/benefici