Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

DBMS

informatica



DBMS

Un DBMS è un insieme di programmi che permettono di interagire con una base di dati, consentendo operazioni agli utenti autorizzati, nel rispetto delle norme stabilite.

Un DBMS si occupa quindi della memorizzazione e della gestione di dati e metadati che rappresentano le informazioni sulla struttura del dato.

I più importanti DBMS sono caratterizzati da un architettura pressochè ugua 929j97j le ed è possibile riconoscere e di componenti comuni:

gestore di interfaccia;

gestore delle interrogazioni;

gestore delle transazioni;

gestore della memoria;

gestore dei guasti.

Il gestore dell'interfaccia ci fornisce un'interfaccia grafica per comunicare le richieste di operazione sui dati o metadati.



Il gestore delle interrogazioni prende in input le query utilizzando il gestore dell'interfaccia e le trasforma in richieste da inviare al gestore della memoria. Una volta ottenuti questi dati il gestore delle interrogazioni compone la tabella risultato finale e la restituisce di nuovo al gestore dell'interfaccia.

Il gestore delle transazioni ha diverse funzionalità:

permette di gestire le autorizzazioni di accesso essendo il DBMS "sotto controllo";

permette di gestire le transazioni e il ripristino dei dati;

permatte di gestire gli accessi concorrenti al database.

Un DBMS utilizza una tabella di autorizzazioni nella quale sono inseriti gli utenti autorizzati e le operazioni che questi utenti possono svolgere.

Una transazione è un operazione che deve essere eseguita su un database.  Una transazione è costituita da una serie di operazioni elementari che devono essere necessariamente eseguite per essere considerate completate.

Queste operazioni sono le seguenti:


Prima di dichiarare il successo di una transazione occorre che il sistema abbia avuto il tempo di registrare delle informazioni sul cosiddetto giornale delle modifiche detto file di log.

Una delle caratteristiche principali che deve avere una transazione è quella di apparire come un'unica azione indivisibile. Questa proprietà viene chiamata atomicità.

A un database accade spesso che degli utenti lavorino contemporaneamente sugli stessi dati. Ed è per questo che un DBMS deve gestire la concorrenza degli accessi.

Si possono verificare 2 situazioni pericolose per questo motivo.

Situazione dell'ultima modifica e situazione di lettura sporca.


La prima si verifica come nell'esempio di seguito:

la transazione1 (T1) legge un dato x

la transazione2 (T2) legge lo stesso dato x

T1 modifica x

T2 modifica x



La seconda situazione invece si verifica quando :

T1 legge x

T1 modifica x

T2 legge x

T1 ripristina il vecchio valore di x

T2 modifica x in base al valore letto


Ci sono varie tecniche per il problema della concorrenza.

Per prima cosa dobbiamo dire che una transazione deve avere la tecnica di serializzazione cioè deve dare la sensazione ad una transazione di lavorare in un ambiente di monoutenza.

Per essere "rappresentata" questa tecnica bisogna che venga introdotto un lock che viene aggiunto a ogni dato dal dbms in modo tale che non possa essere utilizzato da altri utenti quando esso è già in uso.

Esistono 2 tipi di lock:

exclusive lock. Con questo lock nessuna transazione può accedere al dato;

shared lock. Con questo lock le altre transazioni possono accedere al dato ma in sola lettura.

Un altro problema molto grave di un DBMS è il problema dello stallo.

Questo si verifica quando ad esempio:

T1 blocca la risorsa R

T2 blocca la risorsa T

Successivamente

T1 richiede la risors T

T2 richiede la risorsa R


Per risolvere questo problema dello stallo ci sono 2 soluzioni.

Una consiste nel far richiedere alle transazioni tutti lock prima dell'inizio della sua esecuzione. In questo caso, un componente chiamato lock manager, stabilisce se concedere o meno i lock consultando una tabella di lock.

Un'altra tecnica è chiamata abort o restart e consiste nel far abortire forzatamente una risorsa ad una transazione per poi riconcederla con una priorità più alta.




























Privacy




Articolo informazione


Hits: 1437
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024