DBMS Alice Pavarani
DBMS Insieme di programmi che offrono gli strumenti per gestire una base di dati Permette di: definire la struttura delle tabelle recuperare le informazioni manipolare i dati memorizzati Si occupa della gestione dei dettagli di basso livello Costituisce un interfaccia tra le varie tipologie di utenti e le risorse hardware in cui gli archivi digitali sono memorizzati
DBMS vs File System Software applicativo La definizione della struttura dei dati è indipendente dall applicazione Accesso ai dati attraverso un interfaccia attraverso un software scritto in un linguaggio di programmazione Programma1 Programma2 ProgrammaN Legati al S.O. Stretta correlazione dati-applicazioni se cambia la struttura dei dati devono cambiare le applicazioni Portano a problemi di Ridondanza Incongruenza Inconsistenza Dati integrati DataBase Software applicativo Programma1 Programma2 ProgrammaN Dati non integrati Dati1 Dati2 DatiN
Esempi di DBMS Access (gestione di quantità di informazioni limitate e single-user) DB2 (database storico di IBM, diffuso in ambiente Mainframe) Oracle (il più diffuso su sistemi Unix) SQLServer (il più diffuso in ambiente Microsoft Windows) MySQL (open source)
Caratteristiche dei DBMS Solidità Gestione di archivi di enormi dimensioni Strumenti Offrono una vasta gamma di strumenti di gestione di dati Indipendenza fisica Possibilità di variare lo schema fisico dei dati senza dover modificare le applicazioni che utilizzano quei dati Indipendenza logica Possibilità di variare lo schema logico senza dover modificare il software applicativo
Funzionalità di un DBMS Implementazione dello schema logico sui supporti fisici digitali di memorizzazione, definendo le tabelle con le colonne previste Manipolazione dei dati contenuti nel database: inserimento di nuovi dati, modifica o cancellazione di dati già registrati Controllo dell integrità dei dati per garantire la consistenza rispetto alle operazioni di manipolazione Sicurezza dei dati contro i malfunzionamenti hardware e software e gli interventi dolosi Protezione dei dati dagli accessi non autorizzati Interrogazione della base di dati per ottenere informazioni in modo semplice tramite interfacce e semplici comandi
Linguaggi per DBMS DDL (Data Definition Language, linguaggio di definizione dei dati) permette di descrivere la struttura delle tabelle DMCL (Device Media Control Language, linguaggio per il controllo dei supporti di memorizzazione) consente di far corrispondere il modello logico (DDL) con il supporto fisico su cui conservare i dati DML (Data Manipulation Language, linguaggio per la manipolazione dei dati) permette di eseguire operazioni di manipolazione sui dati, quali: inserimento, modifica e cancellazione DCL (Data Control Language, linguaggio di controllo dei dati) consente di definire i limiti sui dati (permessi di accesso, vincoli di integrità, ecc ) QL (Query Language, linguaggio di interrogazione) utilizzato per interrogare ed elaborare la base di dati, al fine di estrapolare dati in risposta alle richieste dell utente
Classi di utenza Utenti semplici (operatori) utilizzano le applicazioni software messe a disposizione dagli sviluppatori effettuano accessi in modo controllato Utenti avanzati hanno accesso diretto alla base di dati non hanno la possibilità di modificarne la struttura svolgono soprattutto operazioni di interrogazione Sviluppatori realizzano applicazioni software per consentire agli utenti semplici di operare con la base di dati Amministratori (DBA, DataBase Administrator) si occupa di: manutenzione del sistema problematiche di memorizzazione e ottimizzazione diritti di accesso riservatezza dei dati politiche di backup