Basi di dati

Click here to load reader

  • date post

    03-Jan-2016
  • Category

    Documents

  • view

    34
  • download

    0

Embed Size (px)

description

Basi di dati. Claudia Raibulet [email protected] Gestione delle informazioni. Le informazioni possono essere gestite (registrate e scambiate) in forme diverse: Idee informali Linguaggio naturale (scritto e parlato, formale o colloquale, in diverse lingue, ecc.) - PowerPoint PPT Presentation

Transcript of Basi di dati

  • Basi di datiClaudia [email protected]

  • Gestione delle informazioniLe informazioni possono essere gestite (registrate e scambiate) in forme diverse:Idee informali Linguaggio naturale (scritto e parlato, formale o colloquale, in diverse lingue, ecc.)Disegni, grafici, schemi, Numeri, codici, E su vari supporti:Memoria umana, carta, dispositivi elettronici,

  • Gestione delle informazioniNelle attivita standardizzate dei sistemi informativi complessi sono state introdotte col tempo forme di organizzazione e codifica delle informazioni via via piu preciseAd esempio, nei servizi anagrafici si e iniziato con registrazioni discorsive e poi:Nome e cognomeEstremi anagraficiCodice fiscale

  • Informazioni e datiNei sistemi informatici, le informazioni sono rappresentate in un modo essenziale attraverso i datiDefinizioni:Informazione: notizia, dato o elemento che consente di avere conoscenza piu o meno esatta di fatti, situazioni, modi di essere, Dato: cio che e immediatamente presente alla conoscenza prima di ogni elaborazione

  • Informazioni e datiI dati hanno bisogno di essere interpretatiEsempio:Mario, 6756 su un foglio di carta sono due datiSe il foglio di carta rappresenta la risposta alla domanda A chi mi devo rivolgere per risolvere il problema X e quale il suo numero di telefono? allora i dati vengono interpretati per fornire informazioni e arricchire la conoscenza

  • Basi di datiLelemento chiave e il datoI dati rappresentano spesso una risorsa strategica perche piu stabili nel tempo di altri componenti (processi, tecnologie, )I dati rimangono gli stessi nella migrazione da un sistema al successivo

  • Basi di datiBasi di dati (database) rappresentano un insieme di dati, raccolti in base a precise regole, e organizzate in strutture rigide ben definiteBasi di dati - gestite da un DBMS (DataBase Management System) che: Opera al di sopra del sistema operativoOffre linguaggi specifici per lorganizzazione e la gestione dei datiOffre meccanismi efficienti per laccesso ai dati

  • Basi di datiAncora una definizione:Basi di dati = insieme di archivi in cui un dato e rappresentato logicamente una sola volta e puo essere utilizzato da un insieme di applicazioni da diversi utenti secondo opportuni criteri di riservatezza

  • Gestione di basi di datiTramite software scritti in un linguaggio di programmazione come per esempio Java (JDBC Java DataBase Connectivity)Esempi di DBMS:AccessDB2OracleInformixSybaseSQLServerMySQL

  • DBMS Gestione di basi di datiSono applicazioni software in grado di gestire collezioni di dati che siano:Grandi di dimensioni molto maggiori della memoria centrale dei sistemi di calcolo utilizzatiPersistenti con un periodo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzanoCondivise utilizzate da applicazioni diverseGarantiscono: Affidabilita resistenza a malfunzionamenti HW e SWPrivatezza con una disciplica e un controllo degli accessi I DBMS sono:Efficienti utilizzano al meglio le risorse di spazio e tempo del sistemaEfficaci - rendono produttiva lattivita dei utilizzatori

  • Basi di dati risorsa condivisaUna basi di dati e una risorsa integrata e condivisa fra le varie applicazioniConseguenze:Attivita diverse su dati in parte condivisi -> richiesti meccanismi di autorizzazioneLutente A e autorizzato a leggere tutti i dati e a modificare quelli sul ricevimentoAttivita multi-utente su dati condivisi -> controllo della concorrenzaleffetto di transizioni concorrenti deve essere coerente

  • Efficienza e EfficaciaEfficienzaSi misura in termini di tempo di esecuzione (tempo di risposta) e spazio di memoriaA causa della varieta delle funzioni i DBMS non sono necessariamente piu efficienti del file systemLefficienza e il risultato della qualita del DBMS e delle applicazioni che lo utilizzanoEfficaciaDifficile da quantificareUna applicazione e efficace se risponde agli obiettivi per cui e stata progettata

  • Descrizione dei dati nel DBMSI dati sono descritti e rappresentati a livelli diversi che permettono lindipendenza dai dati dalla rappresentazione fisicaI programmi fanno riferimento alla struttura di livello piu alto e le rappresentazioni sottostanti possono essere modificate senza necessita di modifica dei programmiConcetto di modello dei dati

  • Modello dei datiInsieme di costrutti utilizzati per organizzare i dati e descrivere la dinamicaComponente fondamentale: meccanismi di strutturazione (o costrutti di tipo)Come nei linguaggi di programmazione esistono meccanismi che permettono di definire nuovi tipi, cosi ogni modello dei dati prevede alcuni contruttoriEsempio: il modello relazionale prevede il costruttore relazione, che permette di definire insiemi di record omogenei

  • Schemi e istanzeIn ogni base di dati esistono:Lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura, il significatoListanza, i valori attuali, che possono cambiare nel tempo anche molto rapidamente

  • Due tipi principali di modelliModelli logici che sono utilizzati nei DBMS esistenti per lorganizzazione dei datiUtilizzati dai programmiIndipendenti dalle strutture fisicheEsempi: relazionale, gerarchico, a oggetti, Modelli concettuali che permettono di rappresentare i dati in modo indipendente da ogni sistemaDescrivono i concetti del mondo realeUtilizzati nelle fasi preliminari di progettazioneEsempio: entity-relationship

  • Architettura di un DBMSSchema logico descrive la base dati nel modello logico (ad esempio, la struttura di una tabella)Schema interno rappresenta lo schema logico per mezzo di strutture di memorizzazione (ad esempio, file)Schema esterno descrive una parte della base di dati in un modello logico (viste parziali, )Schema logicoSchema internoDBSchema esterno

  • Indipendenza dei datiIl modello logico e il modello esterno sono indipendenti dal modello fisico -> una tabella e utilizzata nello stesso modo qualunque sia la sua rappresentazione fisica (che puo anche cambiare nel tempo)

  • Linguaggi per basi di datiLinguaggio per definire i datiData Definition Language DDLUsati per definire gli schemi logici, fisici e le autorizzazioni di accessoLinguaggio per manipolare i datiData Manipulation Lanuage DMLUsati per interrogare e aggiornare la basi di datiSQL Structured Query Language fornisce funzioni per entrambe le categorie

  • Sviluppatori e utenti di DBMSProgettisti e realizzatori di un DBMSProgettisti della base di datiAmministratori della base di dati (DBA)Progettisti e programmatori di applicazioniUtenti finali eseguono applicazioni predefinite (transazioni)Utenti casuali eseguono operazioni non previste a priori utilizzando linguaggi interattivi

  • TrasazioniProgrammi che realizzano attivita frequenti e predefinite, con poche eccezioni, previste a prioriEsempi:Versamento presso uno sportello bancarioEmissione di certificato anagraficoPrenotazione aereaOsservazione: il termine transazione ha anche un altro significato: sequenza indivisibile di operazioni (o vengono eseguite tutte o nessuna)

  • Transazioni laltro significatoTransazioni: non lasciano mai la base di dati in uno stato inconsistentePropriet delle transazioni:Atomicit: vi sono solo due possibili terminazioniSuccesso: tutte le attivit della transazione sono andate a buon fine, la base di dati aggiornata (commit)Fallimento: qualche attivit della transazione non va a buon fine, la transazione fallisce tutta, la base di dati non viene modificata (rollback)Consistenza: i vincoli di integrit dei dati non sono mai violati Isolamento: transazioni concorrenti sono isolate le une dalle altreDurabilit: una volta completata con successo, leffetto della transazione sulla base di dati permanente

  • Basi di dati Una base di dati e una collezione di dati (rappresentati in un forma di tabella se e relazionale) che rappresentano informazioni di interessa per unorganizzazioneProgettare una base dati significa travare una soluzione ottima per strutturare i dati, che rispetti i requisiti propri del sistema informativo dellorganizzazione sia i vincoli che sui dati vengono impostiUn DBMS e un software che gestisce una base datiPer eseguire operazioni su una base di dati si scrivono istruzioni in un linguaggio supportato dal DBMS (esempio: SQL)

  • DBMSVantaggi:Gestione centralizzata dei dati come risorsa comune con opportune forme di controlloRiduzione di ridondanze e inconsistenzeIndipendenza dei datiSvantaggiCosto dei prodotti Non scorporabilita; delle funzionalita

  • Basi di dati relazionaliRelazione, una tabella caratterizzata da:Un numero fisso di colonne (dette attributi); ciascuna colonna assume valori estratti da uno stesso dominioUn numero variabile di righe (dette tuple)Grado di una relazione: il numero di colonneCardinalit di una relazione: il numero di righeSchema di una relazione: il nome della relazione seguito dai nomi dei suoi attributi; a ciascun attributo associato un dominioIstanza di una relazione: insieme delle tuple presenti nella base di dati in un determinato istante (quindi, varia nel tempo)Base di dati relazionale, un insieme di relazioni:Schema di una base di dati: lelenco delle relazioniIstanza di una base di dati: insieme delle istanze delle relazioni

  • Esempio schema base datiRelationCONTO-CORRENTE(NUMERO-CC:integer, NOME:char (20), INDIRIZZO:char (20), SALDO:decimal (14, 2)).

    RelationMOVIMENTO(NUMERO-CC:integer, DATA-MOV:date, NUMERO-MOV:integer, IMPORTO:decimal (14, 2), CAUSALE:char (1)).

  • Esempio istanza base datiCONTO-CORRENTEMOVIMENTO

    NUMERO-CCNOMEINDIRIZZOSALDO1Rossiv. Anemoni 53,678.002Bianchiv. Bolla 64664.003Brunelliv. Po 416,777.504Grandiv. Romolo 33,400.00

    NUMERO-CCDATA-MOVNUMERO-MOVIMPORTOCAUSALE114-01-031