uni
Il Sistema di Gestione di Basi di Dati (o Database management system, DBMS) gestisce collezioni di dati:

  • grandi gestione sofisticata
  • persistenti in memoria secondaria (lenta) limitare accesso a memoria lenta
    tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano
  • condivise meccanismi di autorizzazione e Gestione della Concorrenza
    e garantisce:
  • privacy
  • affidabilitĂ :
    i Database sono una risorsa pregiata e vanno protetti, la tecnica fondamentale inerente è la Gestione delle Transazioni.
  • efficienza:
    utilizzare al meglio le risorse di spazio e di tempo
  • efficacia:
    migliorare la produttività dell’utilizzatore

Nei DBMS esiste una porzione della base di dati che contiene una descrizione centralizzata dei dati. Viene introdotto il concetto di Modello dei dati.
Un DBMS può essere monoutente o multiutente a seconda del numero di utenti che possono usufruirne simultaneamente.

Schema ed Istanza

In ogni base di dati esistono:

  • schema: sostanzialmente invariante nel tempo, descrive la struttura della tabella (ovvero del Database).
  • istanza: i valori attuali, che possono cambiare anche molto rapidamente, inoltre ci possono essere piĂą istanze diverse.

Architettura di un DBMS

  1. Schema Esterno:
    • descrizione di parte della base di dati in un modello logico.
  2. Schema logico:
    • descrizione della base di dati nel modello logico, ad esempio la struttura della tabella
  3. Schema interno (o fisico):
    • rappresentazione dello schema logico per mezzo di strutture memorizzazione, ad esempio record con puntatori, ordinati in un certo modo

Linguaggi per Basi di Dati

i linguaggi usati sono linguaggi testuali interattivi (SQL) ovvero comandi in linguaggi testuali immersi in un linguaggio ospite (C++, Java, ecc) con interfacce amichevoli.

Distinzione terminologica:
- data definition language (DDL) per la definizione di schemi (logici o fisici)
- data manipulation language (DML) per l’interrogazione e l’aggiornamento di (istanze di) basi di dati.

Operazioni di aggiornamento

  • Operazioni di Inserimento
    • violazione dei vincoli intra-relazionali
    • violazione dell’integritĂ  referenziale
  • operazione di cancellazione
    • violazione dell’integritĂ  referenziale
  • operazione di modifica
    • modifica = cancellazione + inserimento

Indipendenza dei Dati

L’accesso ai dati avviene solo tramite il livello esterno (che può coincidere con il livello logico).

Indipendenza fisica: il livello logico e quello esterno non dipendono dal livello fisico: il database è utilizzato in maniera indipendente dalla sua implementazione fisica.

Indipendenza logica: il livello esterno è indipendente dal livello logico, quindi modifiche alle viste non richiedono modifiche al livello logico e le modifiche al livello logico non impattano su quello esterno.

Personaggi

Abbiamo diversi personaggi che interagiscono con il DBMS:

  • progettisti e realizzatori di DBMS
  • progettisti della base di dati e amministratori della base di dati
  • progettisti e programmatori di applicazioni
  • utenti:
    • utenti finali: eseguono applicazioni predefinite, ovvero Transazioni.
    • utenti casuali: eseguono operazioni non previste a priori

Vantaggi e Svantaggi dei DBMS

Vantaggi:
1. dati come risorsa comune e database come modello della realtĂ 
2. gestione centralizzata con possibilitĂ  di standardizzazione ed economia di scala
3. disponibilitĂ  di servizi integrati
4. riduzione di ridondanze e inconsistenze
5. indipendenza dei dati
1. favorisce lo sviluppo e la manutenzione delle applicazioni

Svantaggi:
1. costo dei prodotti e della transizione verso di essi
2. non scorporabilitĂ  delle funzionalitĂ  (con riduzione di efficienza)