Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb)
Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS) Architettura di un DBMS
Cos è un Database " Un Data Base (DB o base di dati) si puo definire come un insieme integrato di dati elementari e omogenei che vengono memorizzati da un sistema di elaborazione dati. " La dimensione puo variare da pochi Megabyte (gestibile, quindi, da Personal Computer di fascia bassa) a molti Terabyte (per la cui gestione sono richieste piattaforme H/W e S/W di piu alto livello.)
Cos è un Database " L approccio convenzionale alla gestione dei dati sfrutta la presenza di archivi o file per memorizzare i dati in modo persistente sulla memoria di massa. " Un file consente di memorizzare e ricercare dati, ma consente solo semplici meccanismi di accesso e condivisione. Inoltre, programmi diversi che hanno bisogno di accedere a informazioni comuni, non potrebbero farlo se non duplicando i dati, con problemi di ridondanza e possibilita di incoerenza. " I DB sono stati concepiti principalmente per superare questi limiti.
Cos è un Database " Il costo e il tempo necessari per la realizzazione di un DB possono essere modesti o molto elevati a seconda della complessita del sistema e della quantita dei dati: oltre all H/W e al S/W necessari, infatti, bisogna opportunamente considerare tempi e costi necessari alla catalogazione e memorizzazione dei dati stessi, nonche, in alcuni casi, al reperimento delle informazioni, che puo essere molto complesso (si pensi, ad esempio, a basi dati conteneti informazioni sul patrimonio artistico di un paese o di una nazione).
Caratteristiche principali di un DB " Un DB deve essere condivisibile: applicazioni e utenti diversi debbono poter accedere, secondo opportune modalita, a dati comuni. "In questo modo si riduce la ridondanza dei dati perche si evitano ripetizioni e, conseguentemente, si riduce anche la possibilita di inconsistenze: se esistono varie copie degli stessi dati, e possibile che esse, in qualche momento non siano uguali; viceversa, se ogni dato e memorizzato in modo univoco non e possibile incorrere in disallineamenti.
Caratteristiche principali di un DB " Un DB deve essere persistente: esso, cioe, ha un tempo di vita che non e limitato a quello alle singole esecuzioni dei programmi che li utilizzano. (In contrasto ricordiamo che i dati gestiti da un programma in memoria centrale hanno una vita che inizia e termina con l esecuzione del programma stesso; tali dati, quindi, non sono persistenti.)
Cos è un DBMS " Col termine di Data Base Management System (DBMS) indichiamo l insieme degli strumenti S/W necessari per la gestione e manutenzione generale di un Data Base. "Tutte le operazioni di creazione, aggiornamento, consultazione, ecc. di un DB possono essere effettuate utilizzando le funzionalita di un DBMS. "Un DBMS non e mai orientato ad uno specifico dominio applicativo.
Cos è un DBMS " Un DBMS, quindi, puo essere definito come l insieme dei programmi, in genere dotati di interfacce user friendly, rivolti alla gestione dei dati memorizzati in un DB (es: MS Access). "Ovviamente tra DB e DBMS esiste una forte interazione: il DBMS e il sistema attivo e il DB e l oggetto passivo sul quale il DBMS opera.
DB, DBMS e Applicazioni specifiche " Oltre all uso diretto dei tools messi a disposizione dal DBMS, un altro modo di accedere ai dati contenuti in un DB e quello di sviluppare e/o utilizzare applicazioni specifiche, progettate per risolvere problemi legati ad uno specifico dominio (es. Contabilita Generale di una Azienda, Gestione di una Biblioteca, ecc.). " A tale scopo e necessario utilizzare linguaggi di programazione per la realizzazione di programmi che, interfacciandosi con il DBMS, ne utilizzano le funzionalita.
Caratteristiche di un DBMS " Un DBMS garantisce affidabilita, cioe la capacita di conservare intatto il contenuto della base di dati (o almeno di permetterne la ricostruzione) in caso di malfunzionamento H/W o S/W. A questo scopo i DBMS forniscono specifiche funzionalita di salvataggio e ripristino (backup e restore).
Caratteristiche di un DBMS " Un DBMS garantisce la privatezza dei dati : ciascun utente, identificabile univocamente mediante un nome utente all atto di interagire con il DBMS, viene abilitato a svolgere solo determinate azioni sui dati, attraverso appositi meccanismi di autorizzazione.
Caratteristiche di un DBMS " Un DBMS deve essere efficiente ed efficace: efficiente in quanto capace di svolgere le operazioni richieste utilizzando un insieme di risorse (tempo e spazio) che sia accetabile per gli utenti. Questa caratteristica dipende sia dalle tecniche utilizzate nell implementazione del DBMS sia dalla bonta della realizzazione del DB da parte dei suoi pogettisti. Inoltre bisogna considerare l adeguato dimensionamento del sistema informatico complessivo sul quale il DBMS e installato. efficace in quanto capace di rendere produttive le attivita dei suoi utenti.
Architettura di un DBMS
Architettura di un DBMS 1. Livello Fisico 2. Livello Logico 3. Livello Esterno
Architettura di un DBMS Livello fisico
Architettura di un DBMS Livello Logico
Architettura di un DBMS Livello Logico " E la componente di principale utilizzo da parte dell Amministratore del DB (DBA Data Base Administrator) per descrivere: "I tipi di dati contenuti; "Le loro proprieta ; "Le associazione i dati; "I vincoli di integrita ( per garantire la consistenza tra i dati del DB)
Architettura di un DBMS Livello Esterno
Architettura di un DBMS Livello Esterno " E la componente che supporta l interfacciamento verso programmi applicativi, scritti in linguaggi di programmazione convenzionali, che effettuano chiamate al DBMS per accedere ai dati del DB.
Architettura di un DBMS Indipendenza dei Dati " La struttura a livelli consente di introdurre il concetto di Indipendenza dei Dati " Piu specificatamente con il concetto di Indipendenza Logica si intende la possibilita di modificare il livello logico senza dover modificare il livello esterno e, quindi, senza dover riscrivere i programmi applicativi.
Tipologie di DB Gerarchici Reticolari Relazionali Object oriented
Tipologie di Database " La piu diffusa classificazione dei Data Base e basata sul modello dei dati che esso supporta. " Quando parliamo di modello dei dati ci riferiamo all insieme dei concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in un modo comprensibile ad un calcolatore. " E importante segnalare che il modello dei dati e implementato all interno del livello logico (precedentemente descritto) di un DBMS.
Tipologie di Database " I modelli sui quali ci soffermeremo sono: " Gerarchico: anni 60. " Reticolare: inizio anni 70. " Relazionale: fine anni 70 inizio anni 80; e ancora oggi il piu diffuso. " a Oggetti: anni 80
Tipologie di Database Modello Gerarchico " Il modello gerarchico e basato sull uso di strutture ad albero (e quindi gerarchie, da cui il nome). " A partire da un dato padre, si accede a dati figli che da esso dipendono. " A loro volta questi dati possono essere padri di altri figli. " Definito durante la prima fase di sviluppo dei DBMS (anni 60) e tuttora ampiamente diffuso, soprattutto in ambito mainframe.
Tipologie di Database Modello Gerarchico
Tipologie di Database Modello Gerarchico
Tipologie di Database Modello Gerarchico
Tipologie di Database Modello Reticolare " Il modello reticolare (detto anche CODASYL dal nome del comitato di standardizzazione che lo defini con precisione) e basato sull uso di grafi. " Si tratta di un modello poco diffuso a causa della complessita di gestione e della difficolta di progetto per ottenere un organizzazione efficiente dei dati.
Tipologie di Database Modello Reticolare
Tipologie di Database Modello Reticolare
Tipologie di Database Modello Reticolare
Tipologie di Database Modello Relazionale
Tipologie di Database Modello Relazionale
Tipologie di Database Modello Relazionale " La maggior parte dei sistemi di basi dati oggi sul mercato si fonda sul modello relazionale. " Per questo tale modello sara opportunamente approfondito piu avanti.
Tipologie di Database Modello a oggetti " Il modello a oggetti nasce come evoluzione del modello relazionale estendendo alle basi di dati il paradigma di programmazione ad oggetti.
Tipologie di Database " I modelli elencati sono tutti effettivamente disponibili su DBMS commerciali; essi sono detti logici per sottolineare il fatto che le strutture utilizzate da questi modelli, pur essendo astratte, riflettono una particolare organizzazione (ad albero, a grafi, a tabelle o a oggetti).
Tipologie di Database " Piu recentemente sono stati introdotti altri modelli di dati, detti concettuali, utilizzati per descrivere i dati indipendentemente dalla scelta del modello logico. "Il loro nome deriva dal fatto che tendono a descrivere i concetti del mondo reale, piuttosto che i dati utili a rappresentarli.
Tipologie di Database " Essi vengono utilizzati nella fase preliminare del processo di progettazione di base dati, per analizzare nel modo migliore la realta di interesse, senza contaminazioni di tipo realizzativo. " Uno dei modelli concettuali piu diffusi ed utilizzati e il modello Entita -Relazioni.