Concetti Chiave
- Un DBMS gestisce i database permettendo operazioni come creazione, aggiornamento e interrogazione dei dati attraverso un'interfaccia.
- Assicura persistenza e consistenza dei dati tramite backup, restore e gestione della concorrenza.
- Garantisce privacy e sicurezza limitando l'accesso ai dati solo agli utenti autorizzati.
- Supporta le transazioni, consentendo operazioni sicure con la possibilità di rollback in caso di errori.
- Organizza i dati in tre livelli separati (esterno, logico e fisico) per ottimizzare l'efficienza e la sicurezza del sistema.
Un DBMS consiste nell’insieme degli strumenti software in grado di gestire i database. Essi dunque ne permettono la generazione, la ricerca e l’aggiornamento.
I database sono degli oggetti statici e i DBMS sono il sistema attivo. All’interno di un sistema reale biblioteca, per esempio, i database possono essere visti come gli armadi o i libri della biblioteca, mentre i DBMS possono essere visti come la bibliotecaria che ne lavora all’interno.
Esso ha varie funzioni:
1) gestisce i database: permette di creare, inserire, aggiornare e interrogare tramite un’interfaccia (softwaristi e utenti).
2) garantisce persistenza (con back-up e restore) e consistenza (concorrenza).
3) garantisce privacy e sicurezza: permette l’accesso solo ad utenti autorizzati e lo blocca a coloro che non hanno il permesso di visualizzare certi dati.
4) integrità dei dati: valori e vincoli (che possono essere anche posti dall’utente stesso).
5) gestisce il dizionario dei dati: i metadati sono le informazioni che descrivono gli oggetti del database ed essi sono organizzati in tabelle. Gli oggetti del database ad esempio possono essere i nomi di tabelle, colonne, associazioni, vincoli, autorizzazioni, chiavi e chiavi primarie, etc.).
6) supporta le transazioni: sono operazioni composte (con commit e rollback). Se durante una transazione il sistema va in crash, si ha un black-out. Con il rollback il DBMS si accorge che qualcosa è andato storto e riporta la situazione al punto di recupero, in modo da perdere meno dati possibile. Con il commit una transazione è arrivata al termine e dunque non c’è stato nessun crash e nessun dato è andato perduto.
Organizzazione a tre livelli
Organizzazione a tre livelli, mantenuti separati:
-esterno: si occupa dell’interazione con l’utente con vista sui dati e strumenti di modifica.
-logico: si occupa dello schema logico e dello schema interno del DBMS.
-fisico: è il sistema operativo che si occupa della memorizzazione dei dati.
Livello esterno:
L’utente vede solo ciò che il database administrator (DBA) lo ha autorizzato a vedere, ossia solo la vista.
Una vista è l’astrazione di una parte del database concettuale che coinvolge i dati dell’istanza del database limitatamente alla porzione interessata o consentita.
Il DML è un database manipulation language, il quale consente di interrogare, inserire, modificare e cancellare il database.
Si occupa della struttura globale del database, rappresentandola in maniera astratta.
Il DDLè un data definition language, il quale descrive le caratteristiche delle categorie di dati.
Il DCL è un data control language, il quale di occupa del controllo degli accessi e permessi.
Come i dati sono memorizzati sui supporti fisici.
Il DMCL è un device media control language,nel quale l’efficienza del database dipende dal grado di ottimizzazione nell’organizzazione dei dati in questo livello. Inoltre esso è trasparente per l’utente.
Domande da interrogazione
- Quali sono le principali funzioni di un DBMS?
- Come si struttura l'organizzazione di un DBMS?
- Che cos'è una vista nel contesto di un DBMS?
- Quali linguaggi di manipolazione dei dati esistono in un DBMS?
Un DBMS gestisce i database permettendo di creare, aggiornare e interrogare i dati, garantisce persistenza e consistenza, assicura privacy e sicurezza, mantiene l'integrità dei dati, gestisce il dizionario dei dati e supporta le transazioni (con commit e rollback).
L'organizzazione di un DBMS è a tre livelli: esterno (interazione con l'utente), logico (schema logico e interno) e fisico (memorizzazione dei dati), mantenuti separati per garantire efficienza e sicurezza.
Una vista è un'astrazione di una parte del database concettuale, che consente all'utente di visualizzare solo i dati autorizzati dal database administrator (DBA), limitando l'accesso alle informazioni sensibili.
I principali linguaggi di manipolazione dei dati in un DBMS includono il DML (Database Manipulation Language) per interrogare e modificare i dati, il DDL (Data Definition Language) per definire le caratteristiche dei dati, e il DCL (Data Control Language) per gestire accessi e permessi.