Informatica Generale (AA 07/08) Corso di laurea in “Scienze della Comunicazione” Facoltà di Lettere e Filosofia Università degli Studi di Salerno MODELLI DEI DATI UD 2.1c: Modelli dei Dati Atzeni, cap. 1.3 Prof. Alberto Postiglione Dipartimento di Scienze della Comunicazione Università degli Studi di Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Modelli Logici e Modelli Concettuali ee ioonn aazzi ¾ E’ un insieme di concetti utilizzati per organizzare i datiuunneiicc m m descriverne la struttura in modo comprensibile ad un Ccomputer Coo llaa l l e e ad una d ¾ Le strutture utilizzate da questi modelli sono legate d e nnzze l’albero o la specifica organizzazione dei dati, quale il grafo, cciiee S S i relazione ddi ttoo ¾ Tali strutture sono comunque indipendenti dalla loro eenn m m i i t implementazione fisica. aarrt p p i DDi Modelli Logici (disponibili sui DBMS commerciali) Modelli Concettuali (non disponibili sui DBMS commerciali) nnz cciiee ¾ Definito formalmente agli inizi degli anni ’70 S S i di ¾ Affermatosi a partire dagli anni ‘80 ttoo d eenn m m i ¾ Più diffuso: gran parte dei nuovi DBMS sono relazionali i rtt paar DDiip Una relazione viene rappresentata per mezzo di una tabella: ¾ numero variabile di righe (record), che rappresentano gli oggetti. ¾ numero fisso di colonne (campi), che corrispondono a proprietà di tali oggetti ¾ Sono indipendenti dalle modalità di organizzazione dei dati (cioè sono indipendenti dal modello logico sottostante). # 3 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Altri Modelli Logici UD 2.1c # 4 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 nnee zziioo iiccaa n n u m mu CCoo ¾ Ha caratterizzato i primi DBMS. llaa l l e dde zzee iieenn c c SS RETICOLARE (o Codasyl) (Inizio annidii ‘70) od nntto ¾ Basato su grafi e e m tiim ¾ estensione e standardizzazionepdel aarrt linguaggio COBOL DDiip GERARCHICO (anni ‘60) Modelli logici: Modello Relazionale Orario ¾ Basato sulle strutture ad albero Modelli logici: Modello Relazionale Il Modello Relazionale, attualmente il più diffuso, è ziioonnee aaz basato sul concetto di relazione (matematica) cheuunniicc m m o o C C permette di organizzare i dati in insiemi di record a llllaa ddee struttura fissa zee ¾ Descrivono i concetti del mondo reale e le loro relazioni piuttosto che i dati. UD 2.1c Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Insegnamento Docente Analisi matem. I Luigi Neri Basi di dati Piero Rossi Fisica I o nntto r r paa DDiip Bruni Mario N1 11:45 Fisica II Mario Bruni N3 9:45 Sistemi inform. Piero Rossi N3 8:00 Chimica A OGGETTI (anni ‘80) ¾ Più recente (e poco diffuso) ¾ Evoluzione del modello relazionale nnee zziioo iiccaa n n u m mu Aula Ora CCoo llaa l l e de N1 nnzzee d 8:00 iiee c c SS 9:45 ddii N2 e Nicola Mori me ttiim N1 9:45 ¾ Estende alle Basi di Dati il paradigma della programmazione a oggetti UD 2.1c # 5 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno UD 2.1c # 6 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 1 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Modelli Concettuali: Modello ER e nne Modello ENTITA’-RELAZIONI (Entity-Relationships) zziioo iccaa unni Utilizzato nella fase preliminare della progettazione, m mu o o C aa C per analizzare la realtà di interesse senza dover eellll pensare ee dd z z nn pratica. alle modalità di effettiva sua realizzazione cciiee ii SS d d Fornisce una visione astratta dei dati ttoo enn me Modello vicino alla mentalità adell’uomo ttiim r r pa DDiip SCHEMI E ISTANZE Atzeni, cap. 1.3.1 RISIEDE PERSONA HA RISIEDUTO CITTA' E' NATO UD 2.1c # 7 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 nnee zziioo iiccaa n n u Definizione statica e progettuale di una relazione, m mu CCoo llllaa sostanzialmente invariante nel tempo, che ne eedescrive la e dd struttura e le caratteristiche dei dati iieennzze cc ii SS oo dd t t eenn Lo “schema” di una relazionearrèttiimmcomposto dal nome della a p p i DDi SCHEMA di una RELAZIONE: Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Schemi ed Istanze relazione seguito dal nome dei campi (le colonne) Schemi ed Istanze nnee zziioo iiccaa n n u Insieme di dati effettivamente presenti nella Relazione m mu CCoo llaatempo l in un dato momento, che possono cambiare nel l e dde zzee Orario iieenn c c ii SS Insegnamento Docente oo ddAula Ora nntt e e m m i i Analisi matem. I Luigi aNeri N1 8:00 rtt p ar DDiip ISTANZA di una RELAZIONE: Basi di dati Piero Rossi N2 Chimica Nicola Mori N1 9:45 Fisica I Mario Bruni N1 11:45 Fisica II Mario Bruni N3 9:45 Sistemi inform. Piero Rossi N3 8:00 ¾ Al nome dei campi vanno poi associate le proprietà dei dati (es.: il tipo di dato, il dominio del campo, la presenza di vincoli, …) ORARIO (INSEGNAMENTO, DOCENTE, AULA, ORA) UD 2.1c # 9 Ultima modifica: 20/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno UD 2.1c # 10 9:45 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Schemi ed Istanze e Lo Schema di un Database è l’insieme degli schemi di zziioonne aa nniicc tutte le Relazioni coinvolte muu oom aa CC eellll d d e nnzze L’istanza di un Database è l’insieme delle cciiee istanze di S S i ddi tutte le Relazioni coinvolte ttoo eenn m m i i rtt paar DDiip UD 2.1c # 11 LIVELLI DI ASTRAZIONE Atzeni, cap. 1.3.2 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 2 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Tipi di Schemi nnee zziioo iiccaa n n u m mu CCoo llaa l l e che vede un DB strutturato in schema e istanza… dde zzee iieenn c c ii SS o dd … è quella che considera come i dati nntto vengono “visti” dai e e m im vari utenti che accedono ad essi. rtti paar DDiip Una visione ortogonale alla precedente, Livelli di astrazione nnee zziioo iiccaa n n u m mu CCoo ¾ Vede BIT - BYTE - WORD - SETTORI, ... llaa l l e dde Amministratore del Database zzee iieenn ¾ Vede un insieme di files, di strutture di supporto (indici, ecc…), … c c ii SS oo dd Progettista t t enn me ¾ Vede un insieme di tabelle, query, … rttiim aar p p i DDi … Utente finale Esistono più modi di “vedere” gli stessi dati Elaboratore ¾ vede i dati come calciatori, conti bancari o impiegati UD 2.1c # 13 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno UD 2.1c # 14 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Tipi di Schemi e e Questa dimensione nella descrizione dei dati articola zziioonne aa nniicc l’architettura di un DB su tre livelli, per ognunomuudei m o o C aa C quali è definito uno schema: ellll dde zzee n n e e ccii ii SS ¾ Schema Logico (o Concettuale) oo dd t t enn me im rrtti ¾ Schema Interno (o Fisico) Diippaa D Schema (o livello) Logico Il Database è visto come un insieme di Tabelle zziioonne ccaa descrizione “principale” i unni m mu CCoo a a llll logico dell’intera base di dati nel modello ddee zzee n n del DBMS (Tabelle, alberi, …) e e ccii ii SS oo dd t t enn me tiim aarrt p p i DDi ¾ Schema Esterno (o Vista o sottoschema) UD 2.1c # 15 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Schema (o livello) Fisico o Interno nnee zziioo iiccaa n n u m mu CCoo llaa l l e Rappresentazione dello schema logico per mezzo di dde zzee n n strutture fisiche di memorizzazione, cioè come un e cciie ii SS insieme di files su disco oo dd t t enn me(ad esempio una tabella può ¾ Descrizione della struttura dei files tiim aarrt p p i essere memorizzata fisicamente DDi come un file sequenziale o un file hash, o un file con indici, o in altro modo ancora) UD 2.1c Ultima modifica: 20/11/2007 ¾ Descrizione e definizione delle strutture di supporto per accedere ai dati in modo efficiente (indici ed altro) ¾ Descrizione dei meccanismi di gestione dei dati UD 2.1c # 17 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Schema (o livello) della Vista (o Esterno) nnee zziioo iiccaa n n u m mu CCoo llaa l l e dde zzee Descrizione di una porzione della base ccdi iieenn dati, per ii SS mezzo del modello logico o dd nntto e e m iim Una Vista può anche essere piùrrtt“astratta” di uno schema paa DDiip Il Database è visto come Il Database è visto come un insieme di files # 16 insieme di Sottoinsiemi di Tabelle logico, in quanto i dati in essa coinvolti possono essere “costruiti” a partire dalllo schema logico, senza essere effettivamente presenti in esso. ¾ Ad esempio, in un DB logico può esserci la data di nascita di un dipendente, mentre in una Vista può comparire direttamente l’età (calcolata sulla base dell’anno di nascita) UD 2.1c # 18 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 3 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Una Vista è come un piccolo Database derivato da quelloiioonnee zz iccaa definito al livello logico. uunni e m m CCoo llaa l l e dde Esempio Definizione Viste e Il Database concettuale dell’applicazione Prenotazionezziioonne aa nniicc posti aereo contiene dati su: muu ¾ Personale (di terra e di volo) e nnzz ogni utente Un DBMS presenta più Viste, una o piùiieeper SScc i i dle d viste Il Livello Esterno è l’insieme di tutte too ¾ Passeggeri ¾ Bagagli t enn me ttiim r r paa DDiip Ogni utente: Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Schema (o livello) della Vista (o Esterno) ¾ Voli ¾ Aeroplani ¾ Aeroporti ¾ Vedrà solo la propria parte di DataBase (VISTA). Verrà messo a disposizione dell’utente un sottoinsieme dei dati presenti nell’intero DB, mascherando gli altri. oom aa CC eellll d d zzee iieenn SScc i i dd ttoo eenn m m i i rtt paar DDiip ¾ Potrà operare su tale vista, con operatori potenti e semplici da usare UD 2.1c # 19 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno UD 2.1c # 20 Architettura a livelli degli schemi e nne La VISTA (il sottosistema) Ufficio prenotazioni posti zziioo iccaa ¾ non comprende dati dagli archivi del personale unni m mu o o C aa C ¾ non comprende dati sui turni dei piloti eellll ee dd z z nn cciiee ii SS e bagagli d La VISTA (il sottosistema) spedizioni d ttoo enn ¾ comprende informazioni su voli e aerei me ttiim r r paa ¾ comprende specializzazione piloti DDiip (se sono cioè abilitati al Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 Esempio Definizione Viste Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno UTENTE 1 UTENTE 2 LIVELLO ESTERNO 1 trasporto bagagli) nnee zziioo iiccaa n n u m mu CCoo llaa l l e dde zzee LIVELLO nLIVELLO iieenESTERNO ESTERNO 2 3 c c ii SS oo dd t t enn me LIVELLO LOGICO tiim aarrt p p i DDi UTENTE 3 UTENTE 4 UTENTE 5 LIVELLO FISICO ¾ non comprende informazioni sullo stipendio del personale DATABASE UD 2.1c # 21 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno UD 2.1c # 22 Ultima modifica: 20/11/2007 INDIPENDENZA DEI DATI Atzeni, cap. 1.3.3 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Indipendenza dei dati e L‘architettura a livelli garantisce l‘indipendenza dei zziioonne aa nniicc dati, la principale proprietà di un DBMS. muu oom aa CC eellll d d e nnzze L‘indipendenza dei dati permette all‘utente cciiee di interagire S S i ddi con il Database prescindendo dai tdettagli realizzativi. too eenn m m i i rtt paar DDiip L’accesso al DB avviene solo tramite il livello esterno (che può coincidere con il livello logico); è il DBMS che traduce le operazioni in termini dei livelli sottostanti UD 2.1c # 24 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 4 Ultima modifica: 20/11/2007 Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Indipendenza fisica nnee zziioo iiccaa n n u consente di interagire con il DBMS in modo m mu CCoo indipendente dalla struttura fisica deieellllaadati. dd zzee iieenn c c SS dii o dindipendenti Il livello logico e quello esterno sono da nntto e e m quello fisico ttiim r r paa DDiip Indipendenza fisica # 25 Ultima modifica: 20/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Indipendenza Logica nnee zziioo iiccaa n n consente di interagire con il livello esterno in modo u m mu CCoo indipendente dal livello logico llaa l l e dde zzee iieenn c c ii SS Possibilità di modificare il LIVELLO ddESTERNO (una o più o nntto e Viste) senza dover alterare il LIVELLO LOGICO e m m i i rtt paar oppure DDiip Indipendenza logica Possibilità di definire nuovi SCHEMI ESTERNI oppure Possibilità di modificare lo SCHEMA LOGICO mantenendo inalterate le Viste (modificandone solo la definizione in termini delle strutture logiche) UD 2.1c # 27 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Indipendenza fisica e nne Grazie all‘indipendenza fisica, una tabella è utilizzata zziioo iiccaa n n sempre allo stesso modo qualunque sia la sua u mu oom aa CC memorizzazione fisica su disco. ellll e e dd zze E’ possibile modificare la allocazione fisica iieenn della tabella SScc i i sul disco senza dover modificare le ddmodalità di accesso ttoo enn ad essa me iim Ad esempio: rtt paar DDiip ¾ Una tabella può essere memorizzata sul disco, riga per riga, in base al‘ordinamento dei dati presenti nella prima colonna. Vantaggio principale: Possibilità di modificare il LIVELLO FISICO senza dover modificare il LIVELLO LOGICO (e quindi anche le VISTE degli utenti) UD 2.1c Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Ultima modifica: 20/11/2007 ¾ Successivamente, senza modificare maschere, queries … è possibile modificare la modalità di memorizzazione della tabella sul disco, ordinandola, per esempio, in base ai valori dei dati presenti nell’ultima colonna e non più nella prima. UD 2.1c # 26 Ultima modifica: 20/11/2007 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno Sistemi per la Gestione di Basi di Dati (DBMS) - Modelli dei dati Indipendenza Logica e Non sempre è ottenibile l’indipendenza logica “pura”. zziioonne caa ic unni m mu o o C aa C eellll la Alcune modifiche allo Schema Logico richiedono ee dd z z nn tra Vista ridefinizione della corrispondenza (mapping) cciiee ii SS d d Schema Logico (i programmi applicativi non vengono ttoo eenn m m modificati) i i rtt paar DDiip e Solo quando vengono cancellate informazioni che interessano il singolo sottoschema è richiesta la modifica dei programmi applicativi UD 2.1c # 28 Prof Alberto Postiglione – Dipartimento di Scienze della Comunicazione – Università Salerno 5