Base di dati e Categoria:Tasmanian International 2000: differenze tra le pagine

(Differenze fra le pagine)
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
 
Rotbot (discussione | contributi)
 
Riga 1:
{{Argomento categoria}}
{{Nota disambigua|il programma televisivo|[[Database (programma televisivo)]]}}
In [[informatica]], il termine '''''database''''', '''banca dati''' o '''base di dati''', indica un insieme di [[archivio elettronico|archivi]] collegati secondo un particolare ''modello logico'' ([[Modello relazionale|relazionale]], [[Modello gerarchico|gerarchico]], [[Modello reticolare|reticolare]] o [[Modello a oggetti|a oggetti]]) e in modo tale da consentire la gestione dei dati stessi (inserimento, ricerca, cancellazione ed aggiornamento) da parte di particolari applicazioni [[software]] dedicate basate sui cosiddetti [[query language]].
 
[[Categoria:Tennis nel 2000]]
Informalmente e impropriamente, la parola "''database''" viene spesso usata come abbreviazione dell'espressione ''[[database management system]]'' (DBMS), che invece si riferisce a una vasta categoria di sistemi [[software]] che consentono la creazione e la manipolazione (gestione) efficiente dei dati di un database, mentre per database vero e proprio si intende l'archivio a livello logico e fisico ovvero il sistema [[hardware]] con i supporti di [[memoria (informatica)|memorizzazione]] che contiene i dati e il [[processore]] per l'elaborazione dei dati.
[[Categoria:Moorilla Hobart International]]
 
Nei database più moderni ovvero quelli basati sul modello relazionale i dati vengono suddivisi per argomenti (in tabelle) e poi tali argomenti vengono suddivisi per categorie (campi) con tutte le possibili operazioni di cui sopra. Tale suddivisione e funzionalità rende i database notevolmente più efficienti rispetto ad un archivio di dati creato ad esempio tramite [[file system]] di un [[sistema operativo]] su un [[computer]] almeno per la gestione di dati complessi.
 
La diffusione dei database, e dei relativi sistemi DBMS di gestione, nei sistemi informativi moderni è enorme e capillare essendo un componente base di un [[sistema informativo]]: si pensi a tutte le attività commerciali di gestione di magazzino, gestione clienti, a sistemi di immagazzinamento di dati personali o pubblici nella [[pubblica amministrazione]] e nelle imprese private (es. [[banca|banche]]). La gestione e sviluppo dei database attraverso DBMS è diventata nel tempo una branca a tutti gli effetti dell'[[informatica]] moderna.
== Gestione delle informazioni ==
La base di dati, oltre ai dati veri e propri, deve contenere anche le informazioni sulle loro rappresentazioni e sulle relazioni che li legano.
Spesso, ma non necessariamente, una base dati contiene le seguenti informazioni:
 
* Strutture dati che velocizzano le operazioni frequenti, di solito a spese di operazioni meno frequenti.
* Collegamenti con dati esterni, cioè riferimenti a file locali o remoti non facenti parte del database.
* Informazioni di sicurezza, che autorizzano solo alcuni profili utente ad eseguire alcune operazioni su alcuni tipi di dati.
* Programmi che vengono eseguiti, automaticamente o su richiesta di utenti autorizzati, per eseguire elaborazioni sui dati. Un tipico automatismo consiste nell'eseguire un programma ogni volta che viene modificato un dato di un certo tipo.
 
In un sistema informatico, una base di dati può essere manipolata direttamente dai programmi applicativi, interfacciandosi con il supporto di memorizzazione (insomma, agendo direttamente sui file).
Tale strategia era quella adottata universalmente fino agli [[anni 1960|anni sessanta]], ed è tuttora impiegata quando i dati hanno una struttura molto semplice, o quando sono elaborati da un solo programma applicativo.
 
A partire dalla fine degli anni sessanta, tuttavia, per gestire basi di dati complesse condivise da più applicazioni si sono utilizzati appositi sistemi software, detti '''sistemi per la gestione di basi di dati''' (in inglese "[[Database Management System]]" o "DBMS"). Uno dei vantaggi di questi sistemi è la possibilità di non agire direttamente sui dati, ma di vederne una rappresentazione concettuale.
 
La ricerca nel campo delle basi di dati studia le seguenti problematiche:
* Progettazione di basi di dati.
* Progettazione e implementazione di DBMS.
* Interpretazione (o analisi) di dati contenuti in database.
 
Le basi di dati spesso fanno uso di tecnologie derivate da altre branche dell'informatica.
È usuale utilizzare tecniche derivate dall'[[intelligenza artificiale]], come ad esempio il [[data mining]], per cercare di estrarre relazioni o più in generale informazioni presenti nelle banche dati ma non immediatamente visibili.
 
== Strutture ==
Le basi di dati possono avere varie strutture, di solito, in ordine cronologico:
 
# gerarchica (rappresentabile tramite un albero – [[anni 1960|anni sessanta]]),
# reticolare (rappresentabile tramite un grafo – [[anni 1960|anni sessanta]]),
# [[Modello relazionale|relazionale]] (attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra esse – [[anni 1970|anni settanta]]),
# ad oggetti (estensione alle basi di dati del paradigma "Object Oriented", tipico della programmazione a oggetti – [[anni 1980|anni ottanta]]),
# semantica (rappresentabile con un grafo relazionale – inizio [[anni 2000|anni duemila]]).
 
Il formato [[XML]], oltre che per scambi di dati su web, si sta diffondendo per la definizione di vere e proprie basi di dati. XML ha una struttura gerarchica, pare quindi un "ritorno alle origini" dei modelli di dati.
 
Un requisito importante di una buona base dati consiste nel non duplicare inutilmente le informazioni in essa contenute: questo è reso possibile dai gestori di [[RDBMS|database relazionali]] (teorizzati da [[Edgar F. Codd]]), che consentono di salvare i dati in tabelle che possono essere collegate.
 
La funzionalità di un database dipende in modo essenziale dalla sua progettazione: la corretta individuazione degli scopi del database e quindi delle tabelle, da definire attraverso i loro campi e le relazioni che le legano, permette poi una estrazione dei dati più veloce e, in generale, una gestione più efficiente.
 
== Linguaggi per basi di dati ==
È possibile distinguere i linguaggi per basi di dati secondo il loro utilizzo:
 
* [[Data Definition Language]] (DDL) - consente di definire la struttura della base di dati e le autorizzazioni per l'accesso.
* [[DMCL|Device Media Control Language]] (DMCL) - permette di controllare i supporti ([[memoria di massa]]) dove vengono memorizzati i dati.
* [[Data Manipulation Language]] (DML) - permette di inserire, cancellare, modificare i dati.
* [[Data Control Language]] (DCL) - permette di gestire gli utenti e i permessi.
* [[Query language]] (QL) - permette di interrogare il database, cioè di leggere i dati.
 
Inoltre è possibile suddividere i linguaggi come:
* Linguaggi testuali interattivi, come l'[[SQL]], di cui sono stati pubblicati diversi standard, che attualmente è il linguaggio più utilizzato.
* Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni, quali [[C (linguaggio)|C]], [[BASIC|Basic]] ecc.
* Linguaggi testuali interattivi immersi in linguaggi di programmazione proprietari.
* Linguaggi grafici e ''user-friendly'', come [[QBE]] (Query By Example), che possono essere utilizzati anche dai meno esperti.
 
== Server di database ==
Un Server di database è la parte del [[DBMS]] (e, per estensione, il [[server]] su cui il programma opera) che si occupa di fornire i servizi di utilizzo del database ad altri programmi e ad altri computer secondo la modalità [[client/server]]. Il server memorizza i dati, riceve le richieste dei [[client]] ed elabora le [[output|risposte]] appropriate.
 
I database server sono complessi sistemi software concepiti in un linguaggio binario, oltre che per memorizzare i dati, anche per fornire un accesso rapido ed efficace a una pluralità di utenti contemporaneamente e garantire protezione sia dai guasti che dagli accessi indebiti.
 
Tra i più diffusi DBMS [[open source]] troviamo, in ordine alfabetico:
* [[Firebird SQL]]
* [[MySQL]]
* [[PostgreSQL]]
 
 
I più diffusi sistemi commerciali sono:
* [[IBM]] [[DB2]]
* [[Microsoft SQL Server]]
* [[Oracle]]
* [[Adaptive Server Enterprise|Sybase]]
 
== Sicurezza dei database ==
{{vedi anche|Protezione del database}}
La protezione da accessi non autorizzati è un tema importante nella gestione dei database, che si rivelano vulnerabili nei seguenti punti:
 
* [[Sicurezza dei server]]
* Connessioni tra database
* Controllo sugli accessi al database.
 
== Gestione dei dati (Data management) ==
* [[Data warehouse]]
* [[Data mining]]
* [[Data mart]]
 
== Web Database ==
{{F|informatica|marzo 2010}}
I web database sono un particolare tipo di [[Web service|servizi web]] dove poter creare database direttamente sul web. Questi servizi offrono normalmente tutte le caratteristiche base di un normale database per costruire tabelle strutturate di dati di ogni genere con campi di tipo testo, numeri, data e ora e altri.
Il loro servizio non è solo quello di [[repository]] o contenitore di dati ma anche di creare un'interfaccia grafica [[Usabilità|usabile]] per la gestione degli stessi presentandosi come vere e proprie [[applicazione web|applicazioni web]].
La condivisione svolge un ruolo importante proprio perché i dati sono visibili su internet e quindi da altre persone che, con le dovute autorizzazioni, possono lavorare sui dati.
== Diritto d'autore ==
La direttiva dell'[[Unione Europea]] n. 96/9/CE ha introdotto un diritto (qualificato ''sui generis'') a tutela dell'estensore di una ''banca dati''. In Italia tale normativa è stata disciplinata dal TitoloII-bis LdA: ''Disposizioni sui diritti del costitutore di una banca di dati. La tutela riguarda quelli che compiono una selezione o collocazione del materiale raccolto<ref>Confronta Jarach-Pojaghi ''Manuale del diritto d'autore Mursia ISBN 978-88-425-3817-2</ref>
 
== Database management system (DBMS) ==
{{div col|cols=3}}
* [[4th Dimension]]
* [[Adabas]]
* [[Addamark]]
* [[AskSam]]
* [[Berkeley DB]]
* [[Caché]]
* [[Conzept16]]
* [[c-tree Plus]]
* [[c-store]]
* [[Dataphor]] un [[RDBMS]] "''veramente''-relazionale" che rispetta tutte le [[12 regole di Codd|regole di Codd]].
* [[DB1]]
* [[DB2]]
* [[DB4Object]]
* [[DBMaker]]
* [[dBase]]
* [[Apache Derby|Derby]]
* [[FileMaker]]
* [[Pagine Elettroniche]]
* [[Firebird SQL]]
* [[FoxBase]]
* [[Gupta SQLBase]]
* [[Hypersonic Sql]]
* [[IDMS]]
* [[Information Management System]]
* [[Ingres]]
* [[Informix]]
* [[InterBase]]
* [[Kdb]]
* [[Lotus Approach]]
* [[Lucid db]]
* [[Microsoft Access]]
* [[Microsoft SQL Server]]
* [[Monet Db]]
* [[mSQL]]
* [[MySQL]]
* [[MySQL MaxDb]]
* [[Oracle]]
* [[Orient ODBMS]]
* [[PicoSQL]]
* [[PostgreSQL]]
* [[Progress]]
* [[SapDb]]
* [[SQLite]]
* [[SQL Anywhere Studio]]
* [[Sybase SQL Server]]
* [[TimeSten]]
* [[Vertica]]
{{div col end}}
 
== Voci correlate ==
* [[Affidabilità (database)|Affidabilità]]
* [[Attacco ai database]]
* [[Campo (informatica)|Campo]]
* [[Normalizzazione del database]]
* [[Protezione del database]]
* [[Record (informatica)|Record]]
* [[Database distribuiti]]
* [[Algebra relazionale]]
* [[Base di conoscenza]]
* [[Cache]]
* [[DBMS]]
* [[Descrittore (informazione)|Descrittore]]
* [[Domain Name System|DNS]]
* Tecnologia [[JDBC]]
* [[Modello reticolare]]
* Tecnologia [[ODBC]]
* [[Query]]
* [[Schema evolution]]
* [[SQL]]
* [[Sistema informativo]]
* [[Transazione (database)|Transazione]]
* [[Dump]]
* [[Direttiva relativa alla tutela giuridica delle banche di dati]]
* [[Base di dati a grafo]]
* [[Base di dati a oggetti]]
* [[Base di dati multimediale]]
 
== Note ==
<references/>
 
== Bibliografia ==
* Atzeni, Ceri, Paraboschi, Torlone – ''Basi Di Dati (Modelli e Linguaggi di Interrogazione)'' - McGraw Hill, 2003
* Atzeni, Ceri, Fraternali, Paraboschi, Torlone – ''Basi Di Dati (Architetture e Linee Di Evoluzione)'' - McGraw Hill, 2003
* Ramez Elmasri, Shamkant B. Navathe – ''Fundamentals of Database Systems'', Fourth Edition – Addison Wesley, 2003
* Tamer-Ozsu, P. Valduriez – ''Principles of Distributed Database Systems ''- Prentice Hall, 1999
* Giovanni Guglielmetti, ''La tutela delle banche dati con diritto sui generis nella direttiva 96/9/CE'', in Contratto e impresa / Europa, 1997, pag. 177 e segg.;
 
== Altri progetti ==
{{interprogetto|commons=Category:Database}}
 
== Collegamenti esterni ==
* [http://www.basebear.com BaseBear] Un esempio di web database
 
{{Portale|informatica|web}}
 
[[Categoria:Database| ]]
[[Categoria:Linguaggi di programmazione]]
[[Categoria:Terminologia informatica]]
[[Categoria:Anglicismi usati in italiano]]
 
[[af:Databasis]]
[[an:Base de datos]]
[[ar:قاعدة بيانات]]
[[arz:قاعدة بيانات]]
[[az:Verilənlər bazası]]
[[bar:Datenbank]]
[[be:База дадзеных]]
[[be-x-old:База зьвестак]]
[[bg:База данни]]
[[bn:ডেটাবেজ]]
[[br:Stlennvon]]
[[bs:Baza podataka]]
[[ca:Base de dades]]
[[ckb:بنکەدراوە]]
[[cs:Databáze]]
[[da:Database]]
[[de:Datenbank]]
[[el:Βάση δεδομένων]]
[[en:Database]]
[[eo:Datumbazo]]
[[es:Base de datos]]
[[et:Andmebaas]]
[[eu:Datu-base]]
[[fa:پایگاه داده‌ها]]
[[fi:Tietokanta]]
[[fr:Base de données]]
[[ga:Bunachar sonraí]]
[[gl:Base de datos]]
[[he:בסיס נתונים]]
[[hi:डेटाबेस]]
[[hr:Baza podataka]]
[[hu:Adatbázis]]
[[hy:Տվյալների բազա]]
[[ia:Base de datos]]
[[id:Basis data]]
[[is:Gagnagrunnur]]
[[ja:データベース]]
[[jv:Basis data]]
[[ka:მონაცემთა ბაზა]]
[[kk:Мәліметтер базасы]]
[[ko:데이터베이스]]
[[ku:Danegeh]]
[[ky:Берилиштер базасы, берилишбаза]]
[[lt:Duomenų bazė]]
[[lv:Datubāze]]
[[mhr:Ыҥпалыпого]]
[[ml:ഡാറ്റാബേസ്]]
[[ms:Pangkalan data]]
[[my:ဒေတာဘေ့စ်]]
[[nl:Database]]
[[no:Database]]
[[pl:Baza danych]]
[[ps:توكبنسټ]]
[[pt:Banco de dados]]
[[ro:Bază de date]]
[[ru:База данных]]
[[scn:Databbasi]]
[[sh:Baza podataka]]
[[si:දත්ත සංචිතය]]
[[simple:Database]]
[[sk:Databáza]]
[[sl:Podatkovna baza]]
[[sq:Baza e të dhënave]]
[[sr:База података]]
[[sv:Databas]]
[[ta:தரவுத்தளம்]]
[[th:ฐานข้อมูล]]
[[tl:Database]]
[[tr:Veri tabanı]]
[[uk:База даних]]
[[ur:قاعدۂ معطیات]]
[[uz:Ma'lumotlar Bazasi]]
[[vi:Cơ sở dữ liệu]]
[[wa:Båze di dnêyes]]
[[zh:数据库]]