LE BASI DI DATI Prima parte – Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura in modo che essa risulti comprensibile ad un elaboratore. Ogni modello dei dati fornisce meccanismi di strutturazione (cioè utilizza costruttori analoghi a quelli dei linguaggi di programmazione) 2 MODELLAZIONE DEI DATI Quindi Def. : Un modello dei dati consiste in una rappresentazione astratta delle strutture dei dati di un database. Facciamo un esempio da una realtà quotidiana: Se consideriamo una casa, il modello della casa può essere visto come i disegni tecnici che un costruttore fornisce alle varie ditte affinché la casa venga costruita come progettato dall’architetto o dall’ingegnere che hanno seguito le indicazioni del cliente (committente). Analogamente un modello di dati costituisce una rappresentazione astratta di tutto ciò che fa parte di un database. 3 MODELLAZIONE DEI DATI Ci sono sostanzialmente due modi per modellare i dati: Modello Entità-Relazione Modello ad Oggetti La stragrande maggioranza delle applicazioni esistenti fa uso di un approccio Entità-Relazione (E-R) 4 MODELLAZIONE DEI DATI La progettazione di un database (vedi relative dispense), corrisponde a diversi passi di modellazioni di dati, partendo da quella più astratta a quella più concreta, e precisamente : 1. Modellazione di dati - riguarda la progettazione concettuale e la progettazione logica 2. Modellazione funzionale dell’applicazione - consiste nella creazione di funzioni che accedono ai dati 5 MODELLAZIONE DEI DATI Differenze fra modello concettuale e modello logico : Il modello concettuale descrive cosa deve essere rappresentato Il modello logico descrive come sono organizzati i dati. N.B. : Una cattiva modellazione può avere impatti devastanti al punto da rendere 6 inutilizzabile il database. MODELLAZIONE DEI DATI CARATTERISTICHE DI UN BUON PROGETTO CONCETTUALE: Correttezza : uso corretto degli strumenti; 2. Completezza: tutti gli aspetti rilevanti della realtà devono essere modellati; 3. Chiarezza : Il modello deve essere leggibile e rappresentare le informazioni in maniera comprensibile 4. Indipendenza: dallo strumento informatico che verrà utilizzato 1. 7 MODELLAZIONE LOGICA Una volta realizzato il modello concettuale si procede con la definizione del modello logico dei dati, che consiste un uno schema realizzato in funzione alle caratteristiche del particolare DBMS che gestisce il database. I modelli dei dati sono detti logici, per sottolineare il fatto che le strutture utilizzate da questi modelli, pur essendo astratte, riflettono una particolare organizzazione (ad alberi, a grafi, a tabelle o a oggetti) ma sono indipendenti dalla reale struttura fisica dei dati. 8 MODELLAZIONE LOGICA In ordine cronologico abbiamo i seguenti modelli logici: Gerarchico (anni ‘60) Reticolare (anni ‘60) Relazionale (anni ‘70) A oggetti (anni ‘80) XML (anni ‘90) 9 MODELLO GERARCHICO 1. Il modello gerarchico: è basato su strutture ad albero, nato a metà degli anni ‘60 ma ancora ampiamente usato 10 MODELLO GERARCHICO Principali caratteristiche del modello gerarchico: 1. Adatto per rappresentare situazioni nelle quali esiste gerarchia fra i dati (es. memorizzare i dati dei dipendenti che lavorano in un’azienda ed i loro figli) 2. La radice è il record principale del database da cui partono uno o più sottoalberi ad esso simili. 3. Ogni padre può avere più figli, un figlio può avere un unico padre 4. Da un nodo padre si riesce a raggiungere un nodo figlio ma da questi è impossibile risalire al genitore. Considerando l’esempio della figura precedente, se si ha la necessità di risalire dal cliente al numero del conto occorre cambiare il modello (vedi pagina seguente ) 11 MODELLO GERARCHICO CONTI CLIENTI Svantaggio : il record evidenziato in giallo relativo al numero di conto 5100 si ripete due volte (ridondanza)! 12 MODELLO GERARCHICO Principali svantaggi: 1. Dipendenza fisica stretta e vincolante fra lo schema logico e la realizzazione fisica 2. Le operazioni di ricerca non sono efficaci 3. Ridondanza dei dati come conseguenza del punto 2 13 MODELLO RETICOLARE 2. Il modello reticolare: è basato sull’uso di grafi, è stato sviluppato successivamente al modello gerarchico (metà anni ‘70) 14 MODELLO RETICOLARE Caratteristica delle strutture a grafo Ogni nodo può essere connesso a più nodi e viceversa Vantaggi: • Facilità di accesso e velocità di ricerca dei dati (grazie ai puntatori del grafo) Principali svantaggi: 1. Spreco di spazio dovuto all’utilizzo di puntatori per i link 2. Possibile ridondanza : per realizzare due reticoli indipendenti occorre duplicare i dati 3. Ricerca difficoltosa per dati non connessi tra loro direttamente 4. Rigidità : è difficile da modificare una volta realizzato 15 ALTRI MODELLI DI DATI…. 3. 4. Il modello a oggetti: sviluppato negli anni Ottanta come evoluzione del modello relazionale, che estende alle basi di dati il paradigma di programmazione ad oggetti Il modello XML , sviluppato negli anni Novanta come rivisitazione del modello gerarchico. 16 IL MODELLO RELAZIONALE – 1/4 Attualmente il modello relazionale dei dati è il più diffuso. È stato definito da Edgar Codd all’inizio degli anni ‘70 con l’obiettivo di non duplicare inutilmente le informazioni. Esso permette di definire tipi per mezzo del costruttore relazione, che consente di organizzare i dati in insiemi di record a struttura fissa. 17 IL MODELLO RELAZIONALE – 2/4 Una relazione viene spesso rappresentata per mezzo di una tabella, le cui righe rappresentano specifici record e le cui colonne corrispondono ai campi del record. (l’ordine delle righe e delle colonne è sostanzialmente irrilevante) Punto di vista del modello relazionale è una relazione è un record è un campo Punto di vista logico (del DBMS) è una tabella è una riga è una colonna 18 IL MODELLO RELAZIONALE – 3/4 Per esempio i dati relativi ai conti bancari e ai loro movimenti possono essere organizzati per mezzo di due relazioni rappresentabili per mezzo di due tabelle : conti e movimenti. 19 IL MODELLO RELAZIONALE – 4/4 Il modello relazionale, nasce nel 1970 e si è largamente affermato nel secolo successivo. È attualmente considerato il modello più semplice ed efficace, poiché è vicino al consueto modo di pensare i dati, e si adatta in modo naturale alla classificazione e alla strutturazione dei dati Caratteristiche : Utilizza un linguaggio matematico (concetto matematico di relazione dalla teoria degli insiemi) Rivolto ad eliminare problemi di ambiguità nella terminologia e nella simbologia 20 Indipendenza dai dati e dalla particolare struttura fisica.