Database management system: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m sistemazione fonti e fix vari |
|||
(2 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1:
{{F|basi di dati|ottobre 2012}}
[[File:Applications-database.svg|thumb|Il simbolo tipicamente utilizzato per rappresentare database o DBMS]]
Riga 11 ⟶ 10:
[[File:MSAccess2019.png|thumb|[[Microsoft Access]]]]
Se in passato i DBMS erano diffusi principalmente presso le grandi [[azienda|aziende]] e istituzioni che potevano permettersi l'impegno economico derivante dall'acquisto delle grandi infrastrutture [[hardware]] necessarie per realizzare un sistema di database efficiente, oggi il loro utilizzo è diffuso praticamente in ogni contesto. L'espressione
Un DBMS è differente dal concetto generale di [[applicazione (informatica)|applicazione]] sulle [[banche dati]] in quanto è progettato per sistemi multi-utente: i DBMS si appoggiano a [[kernel]] che supportano nativamente il [[multitasking]] e il collegamento in [[Reti di calcolatori|rete]], infatti una tipica applicazione per la gestione dei database non includerebbe queste funzionalità, ma si appoggerebbe al [[sistema operativo]] per consentire all'utente di usufruirne.
Un DBMS controlla anche la sicurezza e l'integrità del database e può essere costituito da un insieme complesso di programmi [[software]] che controllano l'organizzazione, la memorizzazione e il reperimento dei dati ([[Campo (informatica)|campi]], [[record (database)|record]] e archivi) in un
=== Funzionalità tipiche ===
Riga 22 ⟶ 21:
{{vedi anche|Controllo degli accessi}}
Il sistema di sicurezza dei dati impedisce agli utenti non [[autorizzazione (informatica)|autorizzati]] di visualizzare o aggiornare il database. Mediante l'uso di ''[[password]]'' (parole d'ordine) agli utenti è permesso l'accesso all'intero database o a un suo sottoinsieme: in questo secondo caso si parla di ''subschema''. Per esempio, un database di impiegati può contenere tutti i dati riguardanti un singolo soggetto e un gruppo di utenti può essere autorizzato a vedere solamente i dati riguardanti lo stipendio, mentre altri utenti possono essere autorizzati a vedere solamente le informazioni che riguardano la sua storia lavorativa e la situazione sanitaria.
==== Mantenimento dell'integrità ====
Riga 88 ⟶ 87:
Un utente con privilegi di amministratore dichiara al sistema come gestire gli accessi, tramite una [[tavola CRUD]].
Il DBMS dovrebbe consentire l'accesso in scrittura a una generica [[risorsa informatica]], a un solo utente alla volta. Se due utenze accedono alla stessa risorsa, apportando modifiche, si hanno due casi:
# se salvano contemporaneamente il loro lavoro, sorge un conflitto di edizione;
Riga 116 ⟶ 115:
* guasti di memoria secondaria o di un dispositivo di memorizzazione.
Un guasto di sistema può essere un system crash dovuto ad un errore software o hardware, un errore di sistema di applicativo, dovuto ad esempio ad una [[divisione per zero]], un errore generato dalle condizioni logiche durante l'esecuzione di una transazione. Questo tipo di guasto causa la perdita dei dati contenuti nel buffer ma la memoria di massa rimane comunque valida.
Un guasto di memoria secondaria è più complesso da gestire e può essere causato da eventi catastrofici che non permettono di avere una memoria ancora valida. Questo tipo di guasto causa una perdita fisica dei dati memorizzati ma non dei log che vengono salvati in una memoria stabile.
Riga 122 ⟶ 121:
==== Strategie ====
Per risolvere il problema dei guasti un DBMS
* ''system log'': file sequenziale scritto in memoria sicura che registra tutte le attività svolte dalle transazioni e gli eventi del sistema quali checkpoint o dump;
* ''dump'': copia della memoria secondaria su una memoria dislocata in un punto differente geografico;
* ''checkpoint'': evento di sistema che permette di fotografare lo stato del DBMS al momento dell'esecuzione delle transazioni.
Per ripristinare situazioni non congruenti derivate da crash del sistema, il DBMS ha a disposizione l'operazione di redo e l'operazione di undo da utilizzare tramite la lettura del log.
Per le transazioni che al momento di un guasto sono nello stato di committed, dato che bisogna garantire la proprietà di persistenza, sarà necessario rifare le azioni che sono state salvate nel log tramite l'istruzione redo.
Riga 135 ⟶ 134:
== Principali sistemi esistenti ==
{{vedi categoria|Software per basi di dati}}
{{colonne}}
* [[Software]] proprietario
** [[4th Dimension]]
Riga 157 ⟶ 156:
** [[Teradata]] ([[NCR Corporation]])
** [[TimesTen]] (TimesTen, Inc.)
{{colonne spezza}}
* [[Open source]] o [[free software]]
** [[Apache Derby]]
Riga 171:
** [[Percona Server]] (Percona)
** [[Orient ODBMS]]
▲** [[PicoSQL]] (un Dbms italiano)
▲** [[PostgreSQL]] (in precedenza ''Postgres'') (PostgreSQL Global Development Group)
** [[SQLite]] (di pubblico dominio)
** [[Visual FoxPro]] (FoxBase)
** [[ZODB]]
** [[SADAS]]
{{colonne fine}}
== Note ==
Riga 194 ⟶ 193:
* [[Data warehouse]]
* [[Persistenza (informatica)]]
* [[OLAP]]
|