I DATABASE
Classici sistemi di archiviazione di dati su file . Stretta correlazione dati-programmi. Nel programma è presente la struttura del record, se cambia la struttura dei dati devono cambiare anche i programmi. Stretta correlazione dati-modalità di accesso. Per esempio, l’ordinamento dei dati secondo un certo attributo può rendere difficoltosi gli accessi che avvengono utilizzando parametri diversi .
Uso dei file: problemi Ridondanza Dati duplicati e grande occupazione di memoria. Incongruenza Modifiche a una sola parte di un dato duplicato porta a situazioni incongruenti. Inconsistenza Non è facile risalire ai dati corretti.
DBMS Data Base Management System. Insieme di programmi che offrono a diverse tipologie di utenti tutti gli strumenti necessari per gestire grandi basi di dati. Un DBMS permette di definire la struttura di tabelle di dati e offre strumenti per recuperare informazioni. Un DBMS gestisce tutti i dettagli di basso livello necessari alla memorizzazione, recupero e ricerca dell’informazione.
DBMS: accesso ai dati Attraverso uno strumento di interfaccia Permette di variare lo schema. Consente di visualizzare, in forma tabellare, il contenuto di uno schema (le istanze contenute). Attraverso un programma Un software scritto in un linguaggio di programmazione si connette al server DBMS e, utilizzando il protocollo di comunicazione proprio del server di database in uso, effettua le stesse operazioni descritte al punto precedente.
Esempi di DBMS Access per gestire quantità di informazioni limitate e tipicamente gestite da un singolo utente. Oracle molto diffuso presso le aziende. SQL Server è il più diffuso in ambienti basati su Microsoft Windows (mentre Oracle è utilizzato prevalentemente su sistemi Unix). DB2 è il database storico di IBM, diffuso in ambiente Mainframe, e interfacciato attraverso programmi COBOL o RPG. MySQL open source, limitato nelle funzionalità ma con il grosso pregio di essere gratuito. Viene utilizzato spesso per il back end di applicazioni e siti Web.
DBMS: vantaggi Solidità: offrono una struttura consolidata di gestione di archivi anche di enormi dimensioni. Strumenti: offrono un vasto insieme di strumenti di gestione dei dati. Indipendenza fisica: possibilità di variazione dello schema fisico dei dati senza la necessità di modificare le applicazioni che utilizzano quei dati. Indipendenza logica: possibilità di variare lo schema logico senza modificare il software applicativo.
Un modello di dati Alla fine degli anni Sessanta E.F. Codd, ricercatore dell’IBM, per primo introdusse il concetto di modello di dati insieme di regole che consentono di formalizzare una descrizione delle proprietà possedute dalle varie categorie di dati che formano il database. A seconda del livello di astrazione i modelli di dati si possono classificare in 3 categorie fondamentali:
MODELLI SEMANTICI O CONCETTUALI: schemi molto vicini all’interpretazione dell’uomo prima fase di progettazione di un database (vd E/R) MODELLI LOGICI: livello intermedio tra l’esigenza di modellizzare la realtà tenendo conto dei limiti della macchina e quella di descrivere le strutture dati in modo abbastanza intelleggibile per l’utente Modello gerarchico (struttura ad albero) Modello reticolare (generale struttura di grafo) Modello relazionale (vd slide seguente) MODELLI FISICI: regole e operatori fortemente legati all’organizzazione fisica dei dati nella memoria di massa livello basso di astrazione
IL MODELLO RELAZIONALE: Si basa sul concetto matematico di relazione tra insiemi che, nella sua forma più semplice, può essere rappresentata da una tabella con le seguenti proprietà: Ogni riga deve essere un elemento distinto della relazione Ogni colonna deve contenere dati omogenei Non esiste nessun tipo di precedenza e di ordinamento né tra le righe né tra le colonne
LINGUAGGI E UTENTI DMCL (…): opera a livello fisico, utilizzato dal DBA per ottimizzare l’organizzazione dei dati all’interno della memoria di massa. DDL(…): descrive le caratteristiche delle categorie di dati e le corrispondenze tra esse. Può essere usato per modificare la struttura ma non il contenuto. Utilizzato dal DBA e dall’equipe di progetto. Comprende il DCL (…) che serve a definire le viste ( primo livello di protezione). DML(…): interroga la banca dati, immette, modifica o cancella informazioni. Utilizzato dai singoli utenti del database secondo le opportune viste.Il QL(…) è un particolare tipo di DML
N.B: L’ SQL (…) è un linguaggio non procedurale ( si specifica su quali dati si vuole operare, non come fare ad operare, non possiede istruzioni per il controllo condizionale, nè istruzioni di salto o strutture iterative. ) potente veloce e sintetico che raggruppa in sè le funzioni dei linguaggi DDL, DMCL, DML, DCL e QL.
Classi di utenza Utenti semplici (operatori): utilizzano le applicazioni software messe a disposizione dagli sviluppatori per accedere in modo controllato alla base dati. Utenti specializzati: hanno accesso diretto alla base dati, anche se, come gli utenti semplici, non hanno la possibilità di variarne la struttura. Svolgono soprattutto operazioni di interrogazione. Sviluppatori: realizzano applicazioni software per consentire agli utenti semplici di operare con la base dati. Amministratore: il DBA si occupa della manutenzione della DB, delle problematiche di memorizzazione delle informazioni sulla memoria di massa, della sua ottimizzazione, dei diritti di accesso e della riservatezza dei dati e delle politiche di backup delle informazioni.
Bibiografia http://didatticainfo.altervista.org/Quinta/Database_intro.pdf http://www.economia.uniparthenope.it/modifica_docente/perla/materiale%20didattico%20perla_file/SICA%202005-06/Storia%20dei%20DBMS.pdf