5° Anno TEORIA 5. Architettura di un DBMS | Page 3

17. Architettura di un DBMS Vers.2.0 – Maggio 2020 Gestore delle interrogazioni (o Query processor): Prende in input le query formalizzate a livello esterno dal gestore dell’interfaccia e le trasforma in una sequenza di richieste elementari da inviare al gestore della memoria. La sequenza di interrogazioni elementari viene chiamata piano di esecuzione delle interrogazioni o query plan. Le interrogazioni vengono espresse ad alto livello (ricordare il concetto di indipendenza dei dati) per ottenere insiemi di n-uple. Una volta ottenuti i dati o i metadati , il gestore delle interrogazioni compone la tabella risultato finale e la restituisce al gestore dell’interfaccia. Ovviamente tra i numerosi piani di esecuzione possibili per ogni query sottoposta il gestore delle interrogazioni sceglierà quello migliore ossia quello che riduce il numero di accessi alla memoria di massa dove sono immagazzinati i dati ed i metadati (ottimizzazione). Gestore delle transazioni: Le principali funzioni del gestore delle transazioni consistono nel: a) gestire le operazioni consentite attraverso opportune autorizzazioni di accesso alla base di dati: b) gestire le transazioni ed il ripristino della base di dati; c) gestire gli accessi concorrenti alla base di dati; a) Le operazioni consentite possono essere classificate in: (*) operazioni di inserimento di nuovi dati; (*) operazioni di modifica dei dati inseriti; (*) operazioni di cancellazione dei dati inseriti; (*) operazioni di lettura o interrogazione dei dati inseriti; (*) operazioni di inserimento/modifica/cancellazione dello schema dei dati o dei metadati. Un DBMS utilizza una struttura dati detta tabella di autorizzazione nella quale sono registrati gli utenti autorizzati, le operazioni consentite, gli oggetti della base di dati sui quali possono operare. La gestione delle autorizzazioni ha come scopo quello di garantire la sicurezza dei dati legata a: b) (*) riservatezza dei dati: per averla non tutti i dati devono essere accessibili a chiunque; (*) integrità dei dati: I dati vanno difesi da modifiche non autorizzate, fraudolente e/o accidentali che possono renderli corrotti (ossia non leggibili), o che, violando qualche vincolo di integrità, possono renderli inconsistenti (dati duplicati con valori differenti) oppure incongruenti (dati le cui modifiche hanno tolto attinenza con la realtà di interesse descritta). DEF: Una transazione è una operazione, generalmente individuata da un numero progressivo, costituita da una successione di comandi/operazioni in esecuzione che forma un'unità logica di elaborazione sulla base di dati. Affinchè una transazione vada a buon fine è indispensabile che tutte le operazioni elementari che la compongono siano eseguite con successo, altrimenti si considera non eseguita. Un sistema che mette a disposizione un meccanismo per la definizione e l’esecuzione di transazioni è detto sistema transazionale Autore: Rio Chierego (email: [email protected] - sito web: www.riochierego.it) Pag. 3