• Un database è un insieme di file mutualmente connessi, organizzati in strutture di dati che ne facilitano la gestione.
  • I Database Management Systems sono strumenti software per la gestione di grandi masse di dati.

Un’informazione in formato elettronico può essere registrata come:

  • dato strutturato - gli oggetti sono rappresentati da brevi stringhe di simboli e da numeri
  • dato non strutturato - testi scritti in un linguaggio naturale

obiettivo di una base di dati

facilitare l’elaborazione di dati sulla base delle loro relazioni

esistono due tipi principali di modelli:

  • modelli logici - indipendenti dalle strutture fisiche ma disponibili nel software
  • modelli concettuali - indipendenti dalle modalità di realizzazione, rappresentano le entità nel mondo reale e le loro relazioni nelle prime fasi della progettazione

Gli elementi di un modello relazionale sono:

  • oggetto - un Record
  • campi - informazioni di interesse

questi elementi sono intesi come tuple, e vengono raccolti in una tabella (istanza)

i tre livelli di astrazione di un database

  • schema esterno - descrizione di una porzione della base di dati in un modello logico attraverso viste parziali, che riflettono esigenze e privilegi di particolari tipi di utenti
  • schema logico - descrizione del database nel modello logico principale del DBMS
  • schema fisico - rappresentazione dello schema logico per mezzo di strutture fisiche di memorizzazione (file)

indipendenza dei dati

i dati sono indipendenti a livello:

  • fisico: il livello logico e quello esterno sono indipendenti da quello fisico
  • logico: il livello esterno è indipendente da quello logico (aggiunte o modifiche alle viste non richiedono modifiche al livello logico)

in ogni base di dati, esistono:

  • lo schema, invariante nel tempo - ne descrive la scrittura (intestazione delle tabelle: lista di attributi e i loro tipi)
  • l’istanza - i valori attuali, che possono cambiare anche molto rapidamente (in una tabella, l’intestazione della tabella è lo schema e i dati sono l’istanza)
  • i dati devono soddisfare dei “vincoli” che esistono nella realtà di interesse
  • i dati devono essere protetti da accessi non autorizzati; il DBA deve considerare:
    • il valore corrente dell’informazione per l’organizzazione
    • il valore corrente dell’informazione per chi vuole violare la privatezza
    • chi può accedere a quei dati e in quale modo e decidere: regolamento di accesso ed effetti di una violazione

transazione

una transazione è una sequenza di operazioni che costituiscono un’unica operazione logica - deve essere eseguita completamente (committed) o non deve essere eseguita affatto (rolled back)

per ripristinare un valore corretto della base di dati si usano:

  • transaction log (con dettagli delle operazioni, valori precedenti e seguenti alla modifica)
  • dump (copia periodica del DB)