database

Materie:Appunti
Categoria:Informatica

Voto:

2 (2)
Download:243
Data:09.03.2006
Numero di pagine:4
Formato di file:.doc (Microsoft Word)
Download   Anteprima
database_5.zip (Dimensione: 6.37 Kb)
trucheck.it_database.doc     32.5 Kb
readme.txt     59 Bytes


Testo

Database
Il termine Database, tradotto in italiano con banca dati, base di dati (soprattutto in testi accademici) o anche basedati, indica un insieme di dati riguardanti uno stesso argomento, o più argomenti correlati tra loro, strutturata in modo tale da consentire che i dati possano venire utilizzati per diverse applicazioni e, normalmente, possano evolvere nel tempo.
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, tipicamente 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 costituisce 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 direttamente con il sistema operativo. Tale strategia era quella adottata universalmente fino agli anni 1960, ed è tuttora impiegata quando i dati hanno una struttura molto semplice, o quando sono elaborati da un solo programma applicativo.
Tuttavia, a partire dalla fine degli anni 1960, 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").
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.
Le basi di dati possono avere varie strutture, tipicamente, in ordine cronologico:
1. Gerarchica (rappresentabile tramite un albero; anni 60)
2. Reticolare (rappresentabile tramite un grafo; anni 70)
3. Relazionale (attualmente il più diffuso, rappresentabile mediante tabelle e relazioni tra esse, anni '70-'80 (Modello relazionale)
4. A oggetti (estensione alle basi di dati del paradigma "Object Oriented", tipico della programazione a oggetti, anni 80).
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 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:
• DDL (Data Definition Language) - consente di definire la struttura della base di dati e le autorizzazioni per l'accesso.
• DMCL (Device Media Control Language) - permette alla struttura fisica del database di far riferimento alle particolare unità di memoria di massa utilizzate dal sistema.
• DML (Data Manipulation Language) - consente di interrogare e aggiornare le istanze della base di dati.
• DCL (Data Control Language) - permette la gestione dell'accesso al database con relative restrinzioni di operazioni come aggiornamento, selezione e cancellazione.
• QL (Query Language) - permette di interrogare i database al fine di ritrovare i dati relativi alla chiave di ricerca impostata dall'utente.
Inoltre è possibile suddividere i linguaggi come:
• Linguaggi testuali interattivi, come l'SQL, di cui sono stati pubblicati diversi standard, che attualmente è il linguaggio piu utilizzato.
• Linguaggi testuali interattivi immersi in linguaggi di programmazione comuni, quali C, Basic ecc.
• Linguaggi testuali interattivi immersi in linguaggi di programmazioone proprietari.
• Linguaggi grafici e user-friendly, come QBE (Query By Example), che possono essere utilizzati anche dai meno esperti.
Progettazione
La progettazione di una base di dati costituisce una delle componenti del processo di sviluppo di un sistema informativo complesso e va quindi inquadrata in un contesto più ampio, quello del ciclo di vita dei sistemi informativi.
Normalmente la progettazione ed il corretto settaggio dei parametri di configurazione di una base di dati sono processi estremamente delicati e richiedono conoscenze tecniche e tempo, soprattutto perche' tali sistemi costituiscono lo strato di supporto a programmi e pacchetti di piu' alto livello come ad esempio SAP, Siebel, BusinessObject, Lodestar, Keanan, etc.

Esempio