Database management system: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunta bibliografia
 
(4 versioni intermedie di 4 utenti non mostrate)
Riga 1:
{{C|la voce presenta incongruenze e frasi di dubbio senso in vari punti, oltre ad avere forti problemi di organicità dell'esposizione al livello delle singole frasi. Sospetta traduzione automatica.|informatica|novembre 2023}}
{{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 [[applicazione enterprise]], che nel gergo informatico si riferisce ad applicazioni legate al ''business'' delle aziende che le utilizzano, implica quasi "per definizione" la presenza di una o più basi di dati amministrate da uno o più DBMS.
 
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 database. Un DBMS controlla anche la sicurezza e l'integrità del database. Il DBMS accetta richieste di dati da parte del programma applicativo e "istruisce" il sistema operativo per il trasferimento dei dati appropriati., I DBMS svolgonosvolgendo un ruolo fondamentale in numerose applicazioni informatiche di ogni genere, dalla [[contabilità]], alla gestione delle [[risorse umane]] e alla [[finanza]] fino a contesti tecnici come la [[gestione di rete]] o la [[telefonia]].
 
=== 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 puèpuò utilizzare diverse strategie:
* ''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}}
{{Div col|cols=2|small=no}}
* [[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 DbmsDBMS italiano)
** Ozone
** [[PostgreSQL]], (in precedenza ''Postgres'') (PostgreSQL Global Development Group)
** [[PicoSQL]] (un Dbms italiano)
** [[PostgreSQL]] (in precedenza ''Postgres'') (PostgreSQL Global Development Group)
** [[SQLite]] (di pubblico dominio)
** [[Visual FoxPro]] (FoxBase)
** [[ZODB]]
** [[SADAS]]
{{colonne fine}}
 
{{Div col end}}
 
== Note ==
Riga 185 ⟶ 184:
 
== Bibliografia ==
* {{cita libro|autore = Paolo Atzeni|autore2 = Stefano Ceri|autore3 = Piero Fraternali|autore4 = Stefano Paraboschi|autore5 = Riccardo Torlone|titolo = Basi di dati|editore = McGraw-Hill|anno = 2018|edizione = 5|città = Milano|ISBN = 978-88-386-9445-5|cid = Atzeni 2018}}
* {{cita libro
* {{Cita libro|nome=Abraham|cognome=Silberschatz|nome2=Henry F.|cognome2=Korth|nome3=S.|cognome3=Sudarshan|titolo=Database system concepts|edizione=Seventh edition|data=2020|editore=McGraw-Hill|ISBN=978-0-07-802215-9}}
|autore = Paolo Atzeni
|autore2 = Stefano Ceri
|autore3 = Piero Fraternali
|autore4 = Stefano Paraboschi
|autore5 = Riccardo Torlone
|titolo = Basi di dati
|editore = McGraw-Hill
|anno = 2018
|edizione = 5
|città = Milano
|ISBN = 978-88-386-9445-5
|cid = Atzeni 2018
}}
 
== Voci correlate ==
Riga 206 ⟶ 193:
* [[Data warehouse]]
* [[Persistenza (informatica)]]
* [[JDBC]]
* [[ODBC]]
* [[OLAP]]
 
Riga 216 ⟶ 201:
* {{Collegamenti esterni}}
* {{FOLDOC}}
* {{cita web|url=http://www.methack.it/devblog/2008/07/07/introduzione-ai-dbms/|titolo=Introduzione ai DBMS|accesso=8 luglio 2008|dataarchivio=17 ottobre 2019|urlarchivio=https://web.archive.org/web/20191017070643/http://www.methack.it/devblog/2008/07/07/introduzione-ai-dbms/|urlmorto=sì}}
 
{{Database management system}}