Organizzazione del Corso: • Introduzione ai concetti di base dei Sistemi di gestione delle Basi di Dati (DBMS). Corso di Basi di Dati 1 (a.a. 2001-2002) Roberto Basili Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili – Uso dei DBMS per la progettazione di Basi di Dati nella applicazioni del software – Organizzazione ed Modelli dei dati a livello logico e fisico • Prospettive nell'uso dei DBMS nelle moderne applicazioni: – integrazione dei dati (Datawarehouse e Data Mining), – applicazioni alla condivisione dei dati ed alla modellazione concettuale (XML) Basi di Dati 1 (a.a. 2001-2002) Obbiettivi (2): • Una particolare attenzione verra' dedicata ad aspetti pratici legati a – utilizzo di piattaforme DBMS software esistenti (es. Oracle) – integrazione tra applicazioni sw e DBMS • Esercitazioni di laboratorio dedicate. Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Propedeuticità • Studenti del Corso di Laurea in Informatica, • Studenti delle lauree affini (ad es. Elettronica, Telecomunicazioni, Gestionale) • Prerequisiti: ✓ elementi di programmazione in Pascal, C o C++, – progettazione ed implementazione di strutture dati (liste, alberi) ✓ elementi di sistemi operativi (corso Sistemi Operativi 1, in parallelo). Basi di Dati 1 (a.a. 2001-2002) Orari Docente: Roberto Basili Testi Consigliati • Testo di Riferimento • Default: – LUN 8:30-10:15 Aula 6 PP2 – MAR 16:00-17:45 Aula 6 PP2 – GIO 14:00-15:45 Aula 6 PP2 • In caso di “collisioni” con altri Corsi – Da definire (???) Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Docente: Roberto Basili – Database Management Systems, 2nd Edition, di Raghu Ramakrishnan e Johannes Gehrke, McGraw Hill, 2000 (ISBN 0-07-232206-3). • Testi Utili – Database Systems: Concepts, Languages and Architectures, di Atzeni, Ceri, Paraboschi Torlone, McGraw Hill, 1999. – A First Course in Database Systems, di J.D. Ullmann, J. Widom, Ed. Prentice Hall, 1997. Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili 1 Esame Risorse • Slides delle lezioni: • 1 Test in itinere - fine Ottobre • 1 Progetto Finale • Prova Finale – http://www.cs.wisc.edu/~dbbook/ • Pagina Web (da aggiornare): – http://www.uniroma2.it/didattica/ BASI_di_DATI_1/main.html • Dispense – Introduzione a PL/SQL – Uso delle librerie di PL/SQL Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Basi di Dati 1 (a.a. 2001-2002) Introduzione alle Basi di Dati • Outline – – – – Introduzione Livelli di Astrazione di un DBMS Funzionalità Architettura Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Prospettiva Storica • Gp DMBS (C. Bachman) ‘60 • Standardizzazione del Network Data Model (CODASYL) • Information Management System (IBM) hierarchical data model • Modello Relazionale (Codd) - 1970 • SQL Standard (fine ‘80) • DBMS distribuiti (‘90) Basi di Dati 1 (a.a. 2001-2002) Database vs. Files • Es. “Anagrafica di una compagnia multinazionale” - taglia > 10 Gb – diverse funzionalita’ => molteplicita’ di librerie di accesso – uso concorrente – impossibilita’ di un indirizzamento diretto e sequenziale – sicurezza – robustezza dell’accesso Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Docente: Roberto Basili Docente: Roberto Basili Scopi di un Database • • • • Unificare e generalizzare l’accesso ai dati Consentire un accesso semplificato e … efficiente Proteggere i dati – Integrità e Riservatezza (Sicurezza) – Tolleranza a malfunzionamenti/guasti • Supportare la concorrenza • Facilitare lo sviluppo dei programmi “utente” Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili 2 Applicazioni e Database • Diverse applicazioni usano porzioni diverse dei dati • L’astrazione sui dati e’ diversa ma “coerente” • L’accesso ai dati e’ Livelli di Astrazione di un DBMS Schema Est 1 ⇒ Schema Est n Schema Fisico e’ necessario svincolare la natura logica dei dati dalla loro rappresentazione in memoria, cioè dalle forme di memorizzazione Docente: Roberto Basili ... Schema Concettuale – dipendente dalla astrazione (modello logico) – vincolato dalla natura fisica della memorizzazione Basi di Dati 1 (a.a. 2001-2002) Schema Est 2 Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Schema Fisico Schema Concettuale ( o Logico) • Definisce i dettagli legati alla memorizzazione • Definisce i dati relativamente alla loro natura concettuale, cioe’ legata al mondo della/e loro applicazione/i • Viene realizzato all’interno di modello logico di definizione dei dati (per es. quello relazionale) • In generale, descrive tutte le entita’ e le relazioni tra di loro che si rendono necessarie per descrivere completamente i dati in modo logico – Es. • liste per rappresentare insiemi • liste per rappresentare alberi • alberi per rappresentare insiemi con chiavi • Determina la struttura dei files dedicati a contenere i diversi dati • Definisce forme utili al ritrovamento (es. indici) Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Schema Esterno Progettazione Concettuale • Descrive i dati che sono utili/necessari e legali per gruppi di utenti • Utilizza il modello logico di descrizione dei dati • E’ rappresentato da un sottoinsieme delle informazioni dello schema concettuale, spesso detto “vista” • Modellare un mondo in cui le applicazioni utente operano richiede un linguaggio di specifica • Tale linguaggio e’ detto MODELLO dei DATI (DM) – e’ una astrazione di tutte le possibili informazioni che mondi possibili richiedono • La applicazione di un MODELLO dei DATI al mondo W produce lo SCHEMA LOGICO del risultante DB (relativo a W) Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili 3 Progettazione Concettuale (2) Progettazione Concettuale(3) Semantic Model W Data Model W Schema Concettuale Data Model Schema Logico Schema Logico DBW DBW Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Basi di Dati 1 (a.a. 2001-2002) Indipendenza dei Dati • I livelli logici di progettazione supportano la Indipendenza Logica dei Dati ... Cambiamenti del mondo W si rifletteranno solo come estensioni/ridefinizioni dello schema logico minimizzando i cambiamenti nelle applicazioni utente (tramite adattamento degli schemi esterni) Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Indipendenza dei Dati (2) • ... e l’Indipendenza Fisica dei Dati Cambiamenti nella struttura fisica delle rappresentazioni (ad es. nuovi dispositivi di memorizzazione) potranno essere resi invisibili (cioè trasparenti) alle applicazioni utente, mantenendo invariato lo schema logico Basi di Dati 1 (a.a. 2001-2002) La manipolazione dei Dati • Gli utenti di un database hanno in generale necessita’ di: – – – – INSERIMENTO AGGIORNAMENTO CANCELLAZIONE INTERROGAZIONE delle singole “parti” di informazione Docente: Roberto Basili Docente: Roberto Basili Le transazioni • La realizzazione delle operazioni di accesso ai dati da luogo ad una molteplicita’ di azioni piu’ elementari sui dati – es. verifica dell’esistenza di un dato x < aggiornamento del dato x < preparazione dell’ouput < avviso di terminazione • La successione delle operazioni determinate da una (sola) manipolazione e’ detta transazione Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili 4 • Diverse operazioni (pur identiche) determinano diverse transazioni • La esecuzione di una transazione non e’ completa se non alla fine della sequenza di (micro)operazioni richieste • Le transazioni possono essere concorrenti, cioe’ determinare operazioni legali ma in contrasto tra loro (es. prelievo Bancomat) • Il completamento deve essere assicurato per mantenere l’integrita’ dei dati Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Applications Front-Ends WEB Forms SQL Interface SQL Commands Plan Executor Parser Operator Evaluator Optimizer Transaction Manager Query Evaluation Engine Files and Acces Method Buffer Manager Recovery Manager Lock Manager Disk Space Manager DBMS INDEX FILES Architettura di un Database Transazioni (2) DATA FILES Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili Utenti di un Database • • • • Programmatori del DBMS Utenti (diretti) esperti e non esperti Programmi applicativi Amministratore – progetto degli schemi fisici e logici – gestione della sicurezza e dei criteri di autorizzazione – Manutenzione e prevenzione dei mafunzionamenti – Customizzazione Basi di Dati 1 (a.a. 2001-2002) Docente: Roberto Basili 5