Libro di testo A. Chianese,V. Moscato, A. Picariello, L. Sansone Basi di dati per la gestione dell informazione McGraw-Hill Hill,, 2007 Ricevimento studenti Lunedì ore 11-13 Didattica su web Si interagisce tramite: www.campus.unina.it Si accede: con le credenziali di studente della FEDII Iscrivendosi al gruppo: basi dati 2008 Per: messaggi download di materiali date esami prenotazione esami ed esami 2 4 Processi aziendali e sistema informativo Cap. 1-I 1 I sistemi informatici La gestione dell informazione Basi di dati e sistemi di gestione Caratteristiche dei sistemi di gestione Processo aziendale Sequenza di attività aziendali finalizzate alla realizzazione di un prodotto o servizio che coinvolge più risorse : materiali, organizzative, informative. Sistema informativo (definizione informale) Insieme di gestite dai processi aziendali Componenti di un Sistema informativo Patrimonio di dati materia grezza con cui si producono Insieme di procedure per acquisizione, trattamento, produzione Insieme di risorse umane che sovra intendono alle procedure Insieme di mezzi e strumenti Per l archiviazione ed il trattamento di 5 Definizione di sistema informativo Un sistema informativo è l insieme delle componenti di un organizzazione destinate a Acquisizione Elaborazione Memorizzazione Recupero Condivisione Trasmissione dell informazione. 6 1
Definizione di sistema informatico 7 Produzione dell informazione 8 Un sistema informatico è la tecnologia a supporto del sistema informativo: Macchine hardware Programmi software Banche di dati e sistemi di gestione Reti di comunicazione Esempio di sistema informativo ed informatico Comune dotato di sistema informativo e informatico per il rilevamento del livello di smog. Sistema informativo: Persone (dipendenti, sindaco, assessori) Mezzi e procedure per la produzione e gestione dell informazione relativa all inquinamento Sistema informatico: Gestione automatica da parte di opportuni addetti- delle a livello di smog mediante: macchine hardware, programmi software e apparati di rete 9 Concludendo I sistemi informatici si basano sull informatica per il trattamento dei dati e la produzione delle : le procedure sono automatizzate e costituite da programmi funzionanti su calcolatore. Abitualmente e per varie motivazioni vi sono parti del sistema informativo aziendale che non sono informatizzate e pertanto le vengono prodotte senza l ausilio delle tecnologie informatiche. 10 Dati e Informazioni 11 Dati e Informazioni 12 Le di un organizzazione sono disponibili sotto forma di un insieme di dati memorizzati su apposito supporto. I dati devono essere opportunamente interpretati per dare luogo alle vere e proprie. Sia i dati grezzi che le regole per la loro interpretazione sono memorizzati sotto forma di dati e costituiscono pertanto il patrimonio informativo dell azienda. Attributo Cliente Data di Nascita Titolo libro x Tipo Stringa Data Stringa Reale Valore Paolo Rossi 08/02/1964 Zarathustra 1.0 Esempi di elementari ricavate interpretando i dati di un organizzazione 2
Informazioni complesse 13 Dati e Informazioni complessi 14 Le elementari sono correlate logicamente tra di loro associando una opportuna semantica ai legami : si ottengono così complesse.... interazioni con basi di dati 15 Base di dati 16 Spesa in un supermercato Acquisto con carte di credito Prenotazione alberghiera presso agenzia Pagamento assicurazione Iscrizione ad un corso Richiedono uso di collezioni di dati memorizzate in modo persistente relative ad una realtà di interesse a servizio di una data organizzazione Una base di dati è l insieme di associato a collezioni di dati: tra loro correlati dotati di un opportuna descrizione Si tratta di: un unico e grande deposito di dati condiviso all interno dell azienda da tutte le applicazioni Persistente cioè con vita molto più lunga delle procedure di gestione che consente di lavorare sempre su uno stato consistente dei dati Descrizione della base di dati 17 Definizione di DBMS 18 La base di dati deve mantenere una propria descrizione. è una collezione di dati autodescrittiva. E un insieme di programmi che permettono di gestire la base di dati per: Definire Specificare tipi, strutture e vincoli sui dati Il catalogo o dizionario contiene un insieme di dati detti metadati che servono a descrivere i dati stessi. Data Base Management System Manipolare Inserire, cancellare, aggiornare recuperare i dati Controllare Controllare l accesso ai dati garantendo protezione da guasti, da accessi indesiderati Basi di dati dati metadati Catalogo/ dizionario 3
Gestione di una agenda telefonica 19 I DBMS 20 Registrazione degli innumerevoli nomi di amici con relativo indirizzo, numeri di telefono, di cellulare... Approccio personale... Gestendo con opportuni programmi scritti nel linguaggio preferito tutte le operazioni di accesso ai dati e garantendone la persistenza in archivi riservati. Approccio mediante DBMS... Si utilizza un prodotto DBMS (gratuito, scaricato dal web) che permetta la definizione dei dati e la gestione mediante le operazioni classiche di SELECT, INSERT, DELETE,UPDATE. I sistemi di gestione delle basi di dati (Data Base Management System) nascono per gestire collezioni di dati Grandi Condivise Persistenti Garantendo Affidabilità Privatezza Efficienza Efficacia I DBMS e l architettura l di sistema 21 Definizione di sistema di basi di dati 22 Un DBMS è un sistema di gestione di collezioni di dati residenti sulle memorie di massa DBMS DB DBMS Il DBMS è il sistema software finalizzato alla gestione di collezioni di tra loro correlate Sistema Operativo Hardware Il DBMS amplia le funzioni del file system del Sistema Operativo Architettura Standard (ANSI/SPARC) 23 Architettura a livelli 24 Descrizione fisica o interna Rappresentazione dello schema logico della base dati per mezzo di strutture fisiche di memorizzazione (file, record, puntatori) Descrizione logica Schema della base dati secondo il modello logico dei dati adottato dal DBMS Descrizione esterna Schema della porzione della basi dati visibile da uno specifico utente (dette anche viste parziali) 4
Vantaggi dei livelli 25 Astrazione dei dati 26 Le strutture a livelli consentono : La riduzione della complessità dei problemi L indipendenza tra i livelli Una più facile manutenzione del sistema La portabilità dei sistemi software DBMS Oracle Linux Applicazioni Modello Logico Dati DBMS Informix Windows NT Un DBMS consente così di avere descrizioni dei dati a diversi livelli di astrazione perchè: L utente possa vedere solo la porzione di dati di suo interesse La porzione di dati viene detta vista Il progettista possa vedere il modello logico dei dati: Una rappresentazione di concetti logici quali Oggetti, proprietà degli oggetti, legami tra gli oggetti Il sistema possa confrontarsi con la effettiva memorizzazione dei dati Architettura Monoprocessore Architettura Multiprocessore Schema esterno o vista 27 Modello dei dati 28 Per modello dei dati si intende l organizzazione dei dati le operazioni previste su tale organizzazione Insieme di costrutti usati per definire la base dati da un punto di vista strutturale e funzionale Due livelli di astrazione 29 Modello concettuale (progetto) 30 Permette di cogliere i dati della realtà al massimo livello di astrazione Modello concettuale Consente di descrivere i concetti del mondo reale Rappresenta i dati in modo indipendente da qualsiasi sistema Modello logico Il modello concettuale più diffuso è il modello Entity - Relationship 5
Modello logico (gestione) 31 Modello gerarchico 32 I DMBS forniscono, analogamente ai linguaggi di programmazione, costruttori di modelli di dati gerarchico, reticolare, relazionale, ad oggetti Struttura ad albero libro autore dispensa Uso di riferimenti espliciti (puntatori) tra Non esistono legami in uno stesso livello Sono usati dalle applicazioni garantendo l indipendenza dalle strutture fisiche impiegate per la gestione dei dati Capitolo 1 Capitolo 2 Difficoltà di espansioni e riduzioni dell albero Modello reticolare 33 Modello relazionale 34 Struttura a grafo autore Casa editrice libro libro Casa editrice Uso di riferimenti espliciti (puntatori) tra Flessibilità garantita dai legami a tutti i livelli Facilità di espansioni e riduzioni Struttura tabellare Nome Angelo Marco Lucio Cognome Chianese Sansone Rossi Età 22 55 101 Laurea Ingegneria Economia Medicina Basato sui valori delle Anche i legami tra tabelle avvengono mediante valori Facilità di espansioni e riduzioni Modello ad oggetti 35 Indipendenza dati applicazioni 36 Struttura ad oggetti studente Dai nome Dai esame esame Dai corso Dai docente record Metodi Basato sul concetto di classe Legami tra gli oggetti mediante riferimenti Modello recente e poco diffuso Mediante la definizione a livelli è possibile ottenere che le applicazioni sono indipendenti dal modo in cui i dati sono organizzati. Indipendenza logica dei dati: Attraverso il meccanismo delle viste le applicazioni possono essere rese indipendenti dallo schema logico della base dei dati Indipendenza fisica dei dati: Attraverso lo scema logico si è garantiti dalla differente implementazione fisica dei dati 6
Indipendenza dei dati 37 Funzionalità di un DBMS 38 Il livello logico è indipendente da quello fisico Soprattutto nei modelli relazionale e ad oggetti In quelli gerarchico e reticolare il dover gestire i puntatori limita tale indipendenza Il DBMS ha il compito di attuare il livello logico su quello fisico interagendo con il Sistema Operativo Le applicazioni vedono il livello logico La sostituzione o il cambiamento di modalità di gestione dei file non influisce sui programmi Anche il cambiamento di DBMS non dovrebbe alterare il funzionamento dei programmi Problema degli standard Definire come i dati sono organizzati in attraverso un opportuno linguaggio di descrizione dei dati (DDL) Interrogare e gestire i dati attraverso un opportuno linguaggio di manipolazione (DML) DML 39 DDL 40 Data Manipulation Language Linguaggio usato dagli utenti per: Inserimento record Aggiornamento record Eliminazione record Interrogazione Ordinamento Indicizzazione SELECT città FROM persona WHERE cognome = Rossi Data Definition Language Linguaggio usato per definire: Gli schemi Logici Esterni (le viste) Il catalogo CREATE TABLE studente( matricola nome cognome ) char(6), char(20), char(25) Transazioni Il DBMS esegue particolari programmi detti Transazioni. Una transazione è l esecuzione di un programma utente in ambiente DBMS che costituisce sintatticamente e semanticamente un unità atomica di modifiche persistenti fatte alla base di dati. Una transazione o termina in uno stato finale previsto dal programma o porta il sistema nello stato precedente all inizio della transazione 41 Commit e rollback La sequenza di operazioni sulla base dati deve essere eseguita per intero o per niente Commit Preleva la Somma S Dal Conto X Deposita la Somma S Sul Conto Y La conclusione positiva di una transazione è un impegno (commit) a mantenere traccia del risultato in modo definitivo Rollback Ripristino della situazione iniziale per fallimento del commit Integrità della base dati 42 7
Operazioni nelle transazioni 43 Caratteristiche di un DBMS (1) 44 Operazioni di interrogazione (SELECT) : garantiscono l atomicità in quanto non modificano lo stato della base dei dati Operazioni di INSERT: per inserire un nuovo oggetto nella BD Operazioni di UPDATE: per modificare un oggetto preesistente nella base di dati. Operazioni di DELETE: per cancellare un oggetto all interno della base di dati. 1- Controllo della ridondanza e consistenza Un approccio basato su BD tende a eliminare inutili duplicazioni (ridondanza) dei dati. Si riduce così il rischio di inconsistenza : se un dato è disponibile una sola volta nella BD una sua modifica risulta immediatamente disponibile a tutti. 2- Condivisione I dati di un organizzazione sono condivisi da tutti gli utenti e da tutte le applicazioni di un organizzazione. Caratteristiche di un DBMS (2) 45 Caratteristiche di un DBMS (3) 46 3- Integrità dei dati Ci si riferisce alla consistenza e alla validità dei valori contenuti nella BD. Questo viene ottenuto facendo gestire dal DBMS le modifiche delle mediante opportune regole di vincolo. 4- Gestione efficiente delle operazioni Il DBMS dispone di funzionalità per l esecuzione efficiente delle interrogazioni e degli aggiornamenti. 5- Gestione della concorrenza Il DBMS garantisce transazioni concorrenti sui dati senza interferenze reciproche 6- Affidabilità Il DBMS dispone di funzionalità per il ripristino della base dati anche in caso di guasti o malfunzionamenti durante l esecuzione delle transazioni 7- Sicurezza Per sicurezza si intende prevenzione dall accesso ai dati ad utenti non autorizzati. Il DBMS consente di definire politiche di accesso ai dati per utente o per profilo di utente. Le figure coinvolte 47 Il DBA 48 Utenti finali Usano applicazioni predefinite per effettuare le transazioni desiderate Utenti esperti Interagiscono con i DBMS usando linguaggi interattivi QBE (query by example) Interfacce grafiche Esperti Progettisti e realizzatori di DBMS Progettisti delle basi dati Amministratori delle basi dati (DBA) Progettisti e programmatori delle basi dati Il Data Base Administrator ha un ruolo fondamentale Responsabile del controllo centralizzato e della gestione del sistema Analisi e miglioramento delle prestazioni Controllo della affidabilità Gestione delle autorizzazioni per il controllo degli accessi Gestione della sicurezza Qualche volta è anche coinvolto nella progettazione Installazione e generazione della base dati 8
I programmatori 49 Le applicazioni possono essere sviluppate usando: Linguaggi testuali interattivi SQL (structured query langauge) Dialetti del SQL (estensioni come il PSQL di Oracle) Linguaggi tradizionali integrati con comandi SQL Pascal, C, Java, etc. Genaratori di applicazioni che generano codice SQL Interfacce amichevoli 9