I DataBase Management System (DBMS) sono software che permettono di creare e gestire basi di dati in modo organizzato ed efficiente. I DBMS devono permettere la condivisione dei dati e garantire la loro qualità, garantendo inoltre la loro efficienza, sicurezza e robustezza.
Per farlo ogni dato, a prescindere dalle applicazioni dalle quali viene utilizzato, compare una sola volta. Questo è fatto per eliminare inutili ridondanze, e migliorare la consistenza dei dati.
I DBMS funzionano definendo la struttura generale dei dati (schema) e successivamente definendo le specifiche operazioni sui dati. I dati in sé, dentro lo schema, sono detti istanza.
Il DBMS utilizza due linguaggi:
Il modello relazionale è un modello di dati dove sono rappresentati come tabelle, e le associazioni tra dati sono ottenute associando valori di attributi in tabelle diverse.
Dal punto di vista matematico si ha che il grado della relazione è il numero di domini
Una relazione su
I riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle
Questa organizzazione delle tabelle permette:
Talvolta è possibile che le informazioni in una istanza siano incomplete, in questo caso si utilizza il valore NULL
. È tuttavia necessario imporre restrizioni sulla presenza di valori nulli.
I vincoli di integrità escludono istanze in quanto non rappresenta correttamente .
I vincoli di integrità si distinguono in vincoli intrarelazionali e vincoli interrelazionali.
Tra i vincoli intrarelazionali troviamo il vincolo di
I vincoli intrarelazionali più importanti sono:
not null
unique
primary key
check
Mentre il vincolo interrelazionale più importante è foreign key
.
Le chiavi sono un sottoinsieme degli attributi dello schema che hanno la proprietà di unicità (non esistono due
Se il sottoinsieme non è minimo si parla di superchiave. In questo caso una delle chiavi è detta primaria mentre le altre sono secondarie.
In presenza di valori nulli, i valori degli attributi che formano la chiave non permettono di identificare le
Se ci sono informazioni in relazioni diverse correlate attraverso valori comuni, in particolare i valori delle chiavi, si può creare un vincolo di integrità referenziale fra un insieme di attributi
Una tabella consiste di un insieme ordinato di attributi ed un insieme di vincoli. Per crearlo si usa il comando:
CREATE TABLE Studente (
Matr character(6) primary key,
Nome varchar(30) not null,
Città varchar(20),
CDip char(3)
)