Una base di dati (o database in lingua Inglese) è una collezione di dati coerenti creata allo scopo
speci co di rappresentare e memorizzare adeguatamente le informazioni di una realtà d’interesse.
Come anticipato nella precedente scheda, un database memorizza i dati in modo strutturato, cioè
organizzati secondo schemi e tabelle dotati di una precisa e rigida de nizione. Ad esempio, la
base di dati relativa al portale web cinematogra co conterrà tabelle per memorizzare dati su lm,
attori, registi e così via.
Un’ulteriore caratteristica fondamentale delle basi di dati è quella di sempli care il continuo
aggiornamento dei dati memorizzati, al ne di fornire dati sempre attuali agli utenti e alle
applicazioni che ne hanno necessità per lo svolgimento delle loro speci che attività. Ad esempio,
ogni volta che uno studente supera un esame, questa nuova informazione viene registrata nella
base di dati universitaria.
I sitemi di gestione di base di dati (DBMS)
Un sistema di gestione di basi di dati (DBMS, database management system) è un sistema
software realizzato per supportare la de nizione e la manipolazione della base di dati da parte di
di erenti tipologie di utenti, specialistici e non. Di conseguenza ogni utente può accedere al
DBMS, a patto che abbia gli opportuni diritti di lettura ed eventualmente scrittura (cioè modi ca)
sul database o, in alternativa, può essere associato al garantire sicurezza dei dati, ovvero che
solamente chi autorizzato hanno accesso alla base di dati, compiendo operazioni autorizzate e
inoltre fornisce agli utenti una visione di alto livello dei dati contenuti nella base di dati attraverso
l’uso di un modello dei dati, nascondendo i dettagli di basso livello relativi alla memorizzazione
sica dei dati.
In particolare, un DBMS o re le seguenti funzionalità:
- Fornisce agli utenti una visione di alto livello dei dati contenuti nella base di dati attraverso l’uso
di un modello dei dati, nascondendo i dettagli di basso livello relativi alla memorizzazione sica
dei dati.
- Fornisce supporto per la condivisione della base di dati da parte di molteplici utenti e
applicazioni diverse, garantendo la corretta gestione degli accessi anche contemporanei ai dati
da parte di utenti diversi.
fi
fi ff ff fi ff fi
fi fi ffl fi fi fi fi fi fi
- Garantisce la sicurezza dei dati, ovvero che solamente utenti autorizzati abbiano accesso alla
base di dati, compiendo operazioni autorizzate.
- Fornisce la possibilità di de nire una visione personalizzata dei dati per le diverse tipologie di
utenti/applicazioni, contenente il sottoinsieme di dati di utilità per quell’utente/applicazione.
- Può integrare le funzionalità di salvataggio e ripristino (backup e recovery) dei dati contenuti
nella base di dati, per garantire che non ci siano perdite di dati anche in caso di guasti e
malfunzionamenti del software o dei dispositivi hardware del sistema di elaborazione.
- È in grado di assicurare la consistenza dei dati contenuti nella base di dati, facendo in modo
che vengano rispettati i vincoli di integrità sui dati stessi.
Negli anni ‘80/90 si assiste all'a ermazione della tecnologia dei DBMS relazionali, che sono
diventati uno standard di mercato e una componente essenziale per la gestione delle informazioni
nell’ambito di organizzazioni pubbliche e private. Esistono numerosi esempi di DBMS relazionali,
tra i quali vale la pena menzionare Oracle, MySQL, Microsoft SQL Server, PostgreSQL, MariaDB.
Scrittura e organizzazione di una base di dati
Per modello dei dati si intende la descrizione della struttura dei dati che caratterizzano la realtà di
interesse a cui si riferisce la base di dati. Un modello dei dati comprende:
- Un insieme di costrutti
- Una notazione per speci care i dati tramite i suddetti costrutti,
- Un insieme di operazioni per esprimere le interrogazioni e le modi che da eseguire sui dati
organizzati secondo quel modello.
Un modello dei dati deve permettere la rappresentazione degli (insiemi di) oggetti del mondo
reale, dei legami (associazioni) fra tali oggetti e delle
caratteristiche (attributi) degli oggetti e/o delle loro
associazioni. Un attributo consiste quindi in un
campo non scomponibile il cui insieme di valori
possibili è de nito dagli oggetti che appartengono a
quest’ultimo. Allo scopo di de nire correttamente lo
schema della base di dati è necessario procedere a
una concettualizzazione delle informazioni che
riguardano la realtà osservata. Per
concettualizzazione intendiamo qui la
rappresentazione di una realtà di interesse in termini
di insiemi di oggetti, caratteristiche e legami.
B3- basi di dati relazionali
Il modello relazionale
Come esempio di modello dei dati per basi di dati, consideriamo il modello relazionale introdotto
nel 1970 da Ted Codd, che rappresenta il modello dei dati sul quale si basa la maggior parte dei
DBMS oggi disponibili.
In un modello relazionale i dati sono memorizzati in tabelle, dette relazioni, composte da un certo
numero di colonne, dette attributi, e da un certo numero di righe, dette tuple. Ad esempio, la
tabella seguente, denominata regista, rappresenta un insieme di registi di lm.
Ogni riga della tabella rappresenta un
singolo regista. Osserviamo inoltre che
in una tabella di una base di dati
relazionale, tutti i valori presenti in una
colonna appartengono allo stesso tipo
di dato o dominio. Ad esempio, il nome
di un regista è un valore di tipo
testuale, come anche il cognome e la
nazione. In generale, le righe di una
tabella di una base di dati relazionale
rappresentano speci ci oggetti o
legami fra oggetti del mondo reale; gli
attributi de niti per la tabella forniscono l’interpretazione dei dati che compaiono nelle varie righe.
fi fi fi fi fi fi ff fi fi
Basi di dati relazionali
Una base di dati relazionale è quindi una collezione di
tabelle che rappresentano gli oggetti e le associazioni
fra oggetti che caratterizzano la realtà di interesse.
Osserviamo che i legami fra i dati di tabelle diverse
vengono espressi per mezzo di valori comuni presenti
nelle tuple di tali tabelle. Questi valori dovranno per
forza essere univoci in entrambe le tabelle. Un esempio,
è costituito dalla seguente base di dati che descrive
registi e lm e l'associazione che sussiste fra i lm e i
corrispondenti registi.
Schema di una base di dati relazionale
Vediamo ora come è de nito lo schema di una base di dati relazionale.
Per prima cosa, introduciamo
la nozione di schema di
relazione, che è costituito dal
nome r della relazione e
dall'insieme degli attributi che
costituiscono la relazione. Ad
esempio, lo schema di
relazione della relazione
"regista" è de nito come segue
Istanza di una base di dati relazioni
I dati che compongono le relazioni di una base di dati ne costituiscono l’istanza. In particolare, si
de nisce istanza di una relazione r l’insieme delle tuple de nite sugli attributi di r.
Si de nisce istanza di base di dati l’insieme delle istanze di relazione di ciascuna relazione che
costituisce la base di dati.
Vincoli del modello relazionale
Questi vincoli obbligano a seguire un determinato criterio di inserimento o forniscono delle regole
di inserimento per i valori degli attributi. Alcuni esempi di vincoli sono:
- Not null: richiede di inserire un valore per l’attributo sul quale è impostato il vincolo. Ad
esempio, nel caso della relazione regista, speci care un vincolo not null sull’attributo cognome
signi ca che non sarà possibile memorizzare una tupla nella relazione qualora essa sia priva di
valore sull’attributo cognome.
- Default: comporta l’inserimento di un valore prede nito nel caso in cui non sia stato speci cato
alcun valore per l’attributo in fase di inserimento o modi ca. Ad esempio, nel caso della
relazione attore, impostare il valore di default “USA” per l’attributo nazione signi ca che qualora
si intenda memorizzare una tupla in questa relazione e qualora essa sia priva di valore
sull’attributo nazione, il valore USA sarà inserito come valore dell’attributo per quella tupla.
- Unique: richiede di inserire un valore univoco per l’attributo sul quale è impostato il vincolo.
Questo signi ca che non sarà possibile avere due tuple della relazione con il medesimo valore
per l’attributo de nito unique. As esempio, nel caso della relazione lm, speci care un vincolo
unique sull’attributo titolo signi ca che non potranno essere memorizzate due pellicole distinte
con il medesimo valore sull’attributo titolo.
I legami tra di erenti tabelle sono espressi attraverso valori univoci comuni in entrambe le
tabelle.
Il vincolo permanent non esiste!!!!
fi fi fi fi fi ff
fi fi fi fi fi fi fi fi fi fi fi fi fi
Chiavi primarie
Un concetto di fondamentale importanza nelle basi di dati relazionali è la nozione di chiave
primaria (primary key) utilizzata per identi care in modo univoco ogni tupla di una tabella (cioè ID).
Una chiave primaria può essere costituita da un singolo attributo oppure può essere composta da
più attributi. Ogni tabella possiede una chiave primaria; in questo modo ogni tupla della tabella è
univocamente riconoscibile.
Se un utente tentasse di inserire una tupla con un valore di chiave primaria già presente in una
certa tabella, il sistema di gestione della base di dati, cioè il DBMS, impedirebbe l’inserimento e
segnalerebbe un errore. L’utente dovrà modi care il valore della chiave primaria per poter
concludere con successo l’inserimento della nuova tupla.
Valori nulli
Ogni tupla di una relazione possiede la struttura de nita nello schema di quella relazione anche
quando uno o più valori non sono presenti. Ad esempio, supponiamo di non conoscere la nazione
del regista Gray. La tupla memorizzata nella tabella regista sarà comunque caratterizzata dagli
attributi id_regista, nome, cognome e sesso, come previsto dalla relazione regista. Quale valore
dovrà essere dunque speci cato in corrispondenza dell'attributo nazione?
A tale scopo, nelle basi di dati relazionali, si usa un particolare valore, detto valore NULL.
Livelli di astrazione nei DBMS
Una base di dati gestita da un DBMS può essere vista a tre livelli di astrazione, a ciascuno dei
quali corrisponde una descrizione dei dati sotto forma di uno speci co schema.
- Lo schema logico fornisce la descrizione dell'intera base di dati per mezzo del modello dei dati
del DBMS utilizzato. Nel nostro caso, abbiamo considerato DBMS relazionali, nei quali il
modello dei dati utilizzato è appunto quello relazionale.
- Lo schema sico descrive l'organizzazione sica dei dati in termini di st
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Informatica - Domande
-
Risposte ai quiz di Idoneità relativa a conoscenze informatiche
-
Domande agroenergie
-
Domande biochimica