Funzioni principali del DBMS
Funzioni principali del DBMS

Video: Funzioni principali del DBMS

Video: Funzioni principali del DBMS
Video: DUFA Bayer Automatic Swiss 9016 - recensione ITA - 2024, Dicembre
Anonim

Moderni sistemi di gestione di database sono usati in molti siti, ma non tutti sanno cosa sono e come puoi usare le funzioni del DBMS. Tali strumenti hanno un numero enorme di possibilità, quindi per utilizzarli completamente, dovresti capire cosa possono fare e quanto sono utili per l'utente.

Gestione dati

Prima di tutto, le funzioni del DBMS includono l'elaborazione delle informazioni nella memoria esterna, e questa funzione serve a fornire le strutture di base del VI, necessarie non solo per memorizzare le informazioni direttamente incluse nel database, ma anche per eseguire varie attività di servizio, come ottenere l'accesso accelerato a qualsiasi file in vari casi. In alcune modifiche vengono utilizzate attivamente le capacità di vari file system, mentre altre prevedono il lavoro anche a livello di dispositivi di memoria esterni. Ma in questo caso, vale la pena notare che nella funzione di un DBMS altamente sviluppato, l'utente non viene comunque informato se viene utilizzato un sistema e, in caso affermativo, come sono organizzati i file. In particolare, il sistema mantiene il proprio ordine di denominazione per gli oggetti inclusi nel database.

funzioni secondarie
funzioni secondarie

Gestione del buffer RAM

Nella stragrande maggioranza dei casi, è consuetudine utilizzare le funzioni DBMS in database abbastanza grandi e questa dimensione è almeno spesso molto più grande della RAM disponibile. Ovviamente se nel caso di accesso a ciascun dato si effettua uno scambio con la memoria esterna, la velocità di quest'ultima corrisponderà alla velocità del sistema stesso, quindi praticamente l'unica opzione per aumentarla effettivamente è quella di bufferizzare informazioni nella RAM. Inoltre, anche se il sistema operativo esegue il buffering a livello di sistema, ad esempio con UNIX, questo non sarà sufficiente a fornire al DBMS lo scopo e le funzioni di base, poiché ha una quantità di dati molto maggiore sulle proprietà benefiche del buffering per ogni parte specifica della banca dati utilizzata. Per questo motivo, i sistemi avanzati mantengono il proprio set di buffer, oltre a una disciplina unica per la loro sostituzione.

Vale da notare il fatto che esiste una direzione separata dei sistemi di controllo, incentrata sulla presenza continua dell'intero database nella RAM. Questa direzione si basa sul presupposto che nel prossimo futuro la quantità di RAM nei computer sarà in grado di espandersi così tanto da non preoccuparsi più di alcun buffering, e le funzioni di base di questo tipo di DBMS torneranno utili qui. Al momento, tutti questi lavori rimangono in fase di test.

Gestione delle transazioni

Una transazione è una sequenza di operazioni con il database utilizzato, che il sistema di gestione considera comeun tutto unico. Se la transazione viene eseguita completamente correttamente, il sistema corregge le modifiche apportate nella memoria esterna o nessuna di queste modifiche influirà sullo stato del database. Questa operazione è necessaria per mantenere l'integrità logica del database utilizzato. Vale la pena notare che il mantenimento del corretto svolgimento del meccanismo di transazione è un prerequisito anche quando si utilizza DBMS a utente singolo, il cui scopo e le cui funzioni differiscono in modo significativo da altri tipi di sistemi.

funzioni principali del sub
funzioni principali del sub

La proprietà che qualsiasi transazione inizia solo quando il database è in uno stato coerente e lo lascia nello stesso stato dopo la fine della procedura, lo rende estremamente comodo da usare come unità di attività per quanto riguarda il database. Con una corretta gestione delle transazioni simultanee da parte del sistema di controllo, ogni singolo utente, in linea di principio, può sentirsi parte del tutto. Si tratta tuttavia in una certa misura di una rappresentazione idealizzata, poiché in molte situazioni in cui i lavoratori sentiranno ancora la presenza dei colleghi se utilizzano un sistema multiutente, ma in re altà ciò è previsto anche dal concetto stesso di DBMS. Le caratteristiche del DBMS di tipo multiutente collegano anche concetti come il piano di esecuzione seriale e la serializzazione alla gestione delle transazioni.

Cosa significano?

La serializzazione delle transazioni in esecuzione simultanea prevede la costruzione di un piano speciale per il loro lavoro, in cuil'effetto totale della miscela ottenuta è equivalente al risultato ottenuto grazie alla loro esecuzione sequenziale.

Un piano di esecuzione seriale è una struttura specifica di azioni che porta alla serializzazione. Naturalmente, se il sistema riesce a fornire un'esecuzione veramente seriale di una combinazione di transazioni, allora per qualsiasi utente che avvia una transazione, la presenza di altri sarà del tutto impercettibile, tranne per il fatto che funzionerà un po' più lentamente rispetto al singolo utente modalità.

numero di funzioni subd di base
numero di funzioni subd di base

Ci sono diversi algoritmi di serializzazione di base. Nei sistemi centralizzati, gli algoritmi più diffusi oggigiorno si basano sulle acquisizioni di sincronizzazione di vari oggetti di database. Nel caso di utilizzo di qualsiasi algoritmo di serializzazione, è prevista la possibilità di conflitti tra due o più transazioni sull'accesso a determinati oggetti del database. In tale situazione, per supportare questa procedura, è necessario eseguire un rollback, ovvero eliminare eventuali modifiche apportate al database tramite uno o più processi. Questa è solo una delle situazioni in cui una persona avverte la presenza degli altri in un sistema multiutente.

Diario

Uno dei requisiti principali per i sistemi moderni è garantire l'affidabilità dell'archiviazione delle informazioni nella memoria esterna. In particolare, ciò prevede che le principali funzioni del DBMS comprendano la possibilità di ripristinare l'ultimo pattuitolo stato del database dopo che si è verificato un guasto software o hardware. Nella stragrande maggioranza dei casi, è consuetudine considerare due opzioni per i guasti hardware:

  • soft, che può essere interpretato come un arresto imprevisto del computer (il caso più comune è un'interruzione di corrente di emergenza);
  • hard, che sono caratterizzati dalla perdita parziale o totale dei dati memorizzati su supporti esterni.

Esempi di errori software includono l'arresto anomalo del sistema quando si tenta di utilizzare alcune funzionalità che non fanno parte delle funzioni principali del DBMS o l'arresto anomalo di alcune utilità utente, a causa della quale una determinata transazione non è stata completata. La prima situazione può essere considerata un tipo speciale di fallimento graduale, mentre la seconda richiede il ripristino di una singola transazione.

scopo secondario e funzioni principali
scopo secondario e funzioni principali

Ovviamente, in ogni caso, per ripristinare normalmente il database, è necessario disporre di una certa quantità di informazioni aggiuntive. In altre parole, per il normale mantenimento dell'affidabilità dell'archiviazione dei dati nel database, è necessario garantire la ridondanza dell'archiviazione delle informazioni e la parte dei dati utilizzata durante il ripristino deve essere custodita con particolare attenzione. Il metodo più comune per mantenere questi dati ridondanti è la registrazione delle modifiche.

Cos'è e come si usa?

Il registro è una parte speciale del database, accessche non è incluso nel numero di funzioni DBMS ed è supportato con molta attenzione. In alcune situazioni, fornisce anche supporto per due copie del registro contemporaneamente, ubicate su supporti fisici diversi. Questi repository ricevono informazioni su eventuali modifiche che si verificano nella parte principale del database e, in diversi sistemi di gestione, le modifiche possono essere registrate a vari livelli. In alcune situazioni, una voce di registro corrisponde completamente a una specifica operazione di aggiornamento logico, in altre a un'operazione interna minima associata all'aggiornamento di una pagina di memoria esterna, mentre alcuni DBMS prevedono una combinazione dei due approcci.

In ogni caso, viene utilizzata la cosiddetta strategia di registrazione "write ahead". Quando viene applicato, un record che indica una modifica in qualsiasi oggetto del database entra nella memoria di registro esterna prima che l'oggetto venga modificato. È noto che se le funzioni del DBMS di Access prevedono la normale implementazione di tale protocollo, l'utilizzo del log risolve gli eventuali problemi legati al ripristino del database in caso di eventuali guasti.

Ripristino

La situazione di ripristino più semplice è il rollback di una singola transazione. Per questa procedura, non è necessario utilizzare un registro delle modifiche a livello di sistema ed è abbastanza sufficiente utilizzare un registro delle operazioni di modifica locale per ciascuna transazione, quindi ripristinare le transazioni eseguendo operazioni inverse, a partire dalla fine di ciascuna i record. La struttura di una funzione DBMS spesso forniscel'uso proprio di una tale struttura, ma nella maggior parte dei casi i log locali non sono ancora supportati e viene eseguito un rollback individuale anche per singole transazioni secondo quello a livello di sistema, e per questo tutti i record di ciascuna transazione vengono combinati in un elenco inverso.

il concetto di funzione subd subd
il concetto di funzione subd subd

Durante un errore software, la memoria esterna del database potrebbe includere vari oggetti che sono stati modificati da transazioni che non erano state completate al momento dell'errore e potrebbero anche mancare vari oggetti che sono stati aggiornati da quelli che sono stati completati con successo prima del fallimento attraverso l'uso di buffer di RAM, il cui contenuto scompare completamente quando si verificano tali problemi. Se viene seguito il protocollo per utilizzare i registri locali, è inevitabile che ci siano voci nella memoria esterna che riguardano la modifica di tali oggetti.

L'obiettivo principale della procedura di ripristino dopo il verificarsi di errori software è un tale stato della memoria esterna del database principale, che si verificherebbe se le modifiche alle transazioni completate venissero salvate nel VI e non contenessero tracce di procedure incompiute. Per ottenere questo effetto, le funzioni principali del DBMS in questo caso sono il rollback delle transazioni incomplete e il replay di quelle operazioni i cui risultati non sono stati eventualmente visualizzati nella memoria esterna. Questo processo comporta un numero abbastanza elevato di sottigliezze, che riguardano principalmente l'organizzazione della gestione del registro e del buffer.

Fallo fallimenti

Quando un database deve essere ripristinato dopo un errore grave, non viene utilizzato solo il registro, ma anche una copia di backup del database. Quest'ultimo è una copia completa del database al momento dell'inizio del riempimento del registro. Naturalmente, per una normale procedura di recupero, è richiesta la conservazione del diario, pertanto, come accennato in precedenza, sono imposti requisiti estremamente seri alla sua conservazione nella memoria esterna. In questo caso il ripristino del database consiste nel fatto che, sulla base della copia di archivio, il log riproduce tutte le transazioni che sono state completate al momento in cui si è verificato il guasto. Se necessario, può anche riprodurre le transazioni in sospeso e continuare il loro normale funzionamento dopo la fine della procedura di ripristino, ma nella maggior parte dei sistemi reali questa procedura non viene eseguita per il motivo che il ripristino da errore hardware stesso è una procedura piuttosto lunga.

Supporto linguistico

I database moderni utilizzano una varietà di linguaggi e i primi DBMS, il cui scopo, funzioni e altre caratteristiche differivano in modo significativo dai sistemi moderni, fornivano supporto per diversi linguaggi altamente specializzati. Fondamentalmente, questi erano SDL e DML, progettati rispettivamente per definire lo schema del database e manipolare i dati.

struttura della funzione subd
struttura della funzione subd

SDL è stato utilizzato per determinare la struttura logica del database, ovvero per riconoscere la struttura specifica del database, che è rappresentatoutenti. DML, d' altra parte, includeva un intero complesso di operatori di manipolazione delle informazioni che consentivano di inserire informazioni nel database, nonché di eliminare, modificare o utilizzare i dati esistenti.

Le funzioni del DBMS comprendono vari tipi di supporto per un unico linguaggio integrato, che prevede la presenza di ogni mezzo necessario per il normale lavoro con i database, a partire dalla sua creazione iniziale, e fornendo un'interfaccia utente standard. SQL è utilizzato come linguaggio standard che fornisce le funzioni di base del DBMS dei più comuni sistemi relazionali odierni.

Che cos'è?

Innanzitutto, questo linguaggio combina le principali funzioni di DML e SDL, ovvero offre la possibilità di determinare la semantica specifica di un database relazionale e manipolare le informazioni necessarie. Allo stesso tempo, la denominazione di vari oggetti del database è supportata direttamente a livello di linguaggio, nel senso che il compilatore converte i nomi degli oggetti nei loro identificatori interni, sulla base di tabelle del catalogo dei servizi appositamente mantenute. Il nucleo dei sistemi di controllo, in linea di principio, non interagisce in alcun modo con le tabelle o le loro singole colonne.

non compreso nelle principali funzioni del subd
non compreso nelle principali funzioni del subd

Il linguaggio SQL include un intero elenco di strumenti speciali che consentono di determinare i vincoli sull'integrità del database. Anche in questo caso, tali restrizioni sono incluse in speciali tabelle di catalogo e il controllo dell'integrità viene eseguito direttamente a livello di lingua, ovveronel processo di lettura delle singole istruzioni di modifica del database, il compilatore, in base ai vincoli di integrità nel database, genera il codice del programma corrispondente.

Consigliato: