Database management system: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Gestione dei guasti: Riorganizzata sezione
Principali sistemi esistenti: fix testo, fix vari; Voci correlate: rimuovo ridondanze da testo
 
(13 versioni intermedie di 8 utenti non mostrate)
Riga 2:
[[File:Applications-database.svg|thumb|Il simbolo tipicamente utilizzato per rappresentare database o DBMS]]
 
Un '''Databasedatabase Managementmanagement Systemsystem''' (in acronimo '''DBMS''', {{lett|sistema di gestione della base di dati|lingua=it}})<ref>{{Treccani|dbms|DBMS}}</ref> è un [[sistema software]] progettato per consentire la creazione, la manipolazione e l'interrogazione di una o più [[base di dati|basi di dati]] in modo corretto ed efficiente.
Talvolta ci si riferisce ai DBMS utilizzando impropriamente il termine ''[[database]]''<ref>{{treccani|data-base|Database|v=1}}</ref> (o "base di dati" in italiano), a causa dell'[[accoppiamento (informatica)|accoppiamento]] tipicamente stretto tra l'archivio dati e il software di gestione.
 
== Descrizione ==
Riga 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 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 36:
 
==== Ottimizzazione delle interrogazioni ====
{{...|informatica}}
 
==== Astrazione della base dati ====
{{vedi anche|progettazione di basi di dati}}
{{...|informatica}}
 
== Architettura ==
Le organizzazioni possono usare un DBMS per gestire il normale processo quotidiano delle transazioni e in un secondo tempo spostare il dettaglio in un altro computer che usa un altro DBMS più adatto per gestire interrogazioni casuali e l'attività di analisi. Le decisioni globali circa l'architettura dei sistemi informativi sono gestite dagli analisti di sistema e dagli amministratori dei dati. La progettazione di dettaglio del database è demandata agli amministratori del database stesso.
 
I tre tipi di organizzazione più comuni sono il [[modello gerarchico]], il [[modello reticolare]] e il [[modello relazionale]]. Il modello dominante oggi è quello relazionale, normalmente utilizzato con il linguaggio di interrogazione [[SQL]]. Molti DBMS supportano le API (''[[Application programming interface]]'') dell{{'}}''[[Open Database Connectivity]]'' (ODBC) o ''[[Java DataBase Connectivity]]'' (JDBC, lo standard per [[Java (linguaggio di programmazione)|Java]]), che forniscono ai programmatori strumenti standardizzati per l'accesso ai database.
 
I ''[[database server]]'' sono [[computer]] ottimizzati per ospitare i programmi che costituiscono il database reale e sui quali girano solo il DBMS e il software a esso correlato, nelle situazioni reali spesso questi computer svolgono anche altre funzioni non correlate con la gestione del database. Di solito si tratta di macchine [[multiprocessore]] e con [[disco rigido|dischi fissi]] configurati in modalità [[RAID]] per una [[memoria (informatica)|memorizzazione]] stabile e affidabile dei dati per garantire la continuità del servizio anche in caso di [[guasto]] a un componente (sistemi ''fault tolerant'' o ad alta [[affidabilità]] e [[disponibilità]]). In ambienti dove vengono processate transazioni con moli di dati particolarmente elevate vengono utilizzati anche componenti ''hardware'' che hanno la funzione specifica di acceleratori di database e che sono collegati a uno o più [[server]] attraverso canali preferenziali ad alta [[velocità di trasmissione]].
Riga 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;
Riga 131:
 
Per le transazioni che invece si trovano nello stato di uncommitted è necessario annullare le operazioni che stavano facendo tramite l'operazione di undo.
 
=== Politiche per l'aggiornamento ===
{{...|informatica}}
 
== Principali sistemi esistenti ==
{{vedi categoria|DatabaseSoftware managementper systembasi di dati}}
{{colonne}}
{{Div col|cols=2|small=no}}
* [[Software]] proprietario
** [[4th Dimension]]
Line 159 ⟶ 156:
** [[Teradata]] ([[NCR Corporation]])
** [[TimesTen]] (TimesTen, Inc.)
{{colonne spezza}}
* [[Open source]] o [[free software]]
** [[Apache Derby]]
Line 173 ⟶ 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 ==
<references/>
 
== 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|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}}
 
== Voci correlate ==
* [[Base di dati]]
Line 191 ⟶ 193:
* [[Data warehouse]]
* [[Persistenza (informatica)]]
* [[JDBC]]
* [[ODBC]]
* [[OLAP]]
 
Riga 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|urlarchivio=https://web.archive.org/web/20191017070643/http://www.methack.it/devblog/2008/07/07/introduzione-ai-dbms/|urlmorto=sì}}
 
{{Database management system}}