Database
Relazionali
Appunti informatica- prof. Orlando
De Pietro
Definizione
Un Database può essere definito come una raccolta
di informazioni o un insieme di dati attinenti a un
unico argomento o ad argomenti diversi, ma tra loro
correlati.
Appunti informatica- prof. Orlando
De Pietro
In pratica un D. può essere visto come un armadioraccoglitore, nei cassetti del quale vengono archiviati
i documenti riguardanti lo stesso argomento.
I dati che in esso sono archiviati, vengono
organizzati e strutturati secondo una impostazione
logica fornita dall’utente.
Esempio - Archivio cartaceo:
- Scheda (dati/campi)
- File di schede
Appunti informatica- prof. Orlando
De Pietro
Database Computerizzato
A differenza di un archivio cartaceo, un Database
computerizzato offre notevoli vantaggi (sui dati contenuti):
- ricerca
- filtro
- selezione
- possibilità di calcolo
- verifica di condizioni.
Software
In termini di efficienza nell’elaborare i dati: minor tempo nelle
ricerche, nei calcoli, nei filtri, ecc. dei dati memorizzati nel DB.
E’ considerato più uno strumento di ricerca e previsione
che un semplice visualizzatore di dati.
Appunti informatica- prof. Orlando
De Pietro
DBMS
DataBase Management System
Alla base di un DBMS vi è il linguaggio SQL (Structured
Query Language) – linguaggio standard per i RDBMS.
Appunti informatica- prof. Orlando
De Pietro
Modello Relazionale
Tutti i moderni Database si fondano sulla possibilità
di poter rappresentare le informazioni per mezzo di
una struttura chiamata relazione (o tabella) e per
questo motivo sono anche definiti:
Database Relazionali
Nel passato, in particolare prima del 1970, erano in
uso altri modelli di rappresentazione dei dati, fra i più
importanti citiamo
Modello gerarchico
Modello Reticolare
Appunti informatica- prof. Orlando
De Pietro
Database Relazionale
Il modello relazionale dei dati, proposto nel 1970 ed
adottato nei sistemi commerciali a partire dal 1978, si
è diffuso rapidamente tanto sui sistemi grandi quanto
sugli elaboratori personali.
Colonne
Attributi (campi)
La nozione fondamentale
che è alla sua base è la
RELAZIONE
(o tabella)
Matricola
Insegn.
Voto
54402
InfICT
28
Riga o Tupla
(record)
Appunti informatica- prof. Orlando
De Pietro
Esempio di relazione
Dominio delle Matricole:
D1= N, ins. numeri naturali
Dominio degli Insegnamenti: D2={InfTur,InfICT,Diritto,…}
Dominio dei voti:
D3={n N: n>=0 ^ n<=30}
Appunti informatica- prof. Orlando
De Pietro
Una relazione matematica
è un sottoinsieme del prodotto cartesiano di più
insiemi (domini) e viene rappresentato con una struttura
tabellare in cui:
- le intestazioni delle colonne (dette anche attributi) si
riferiscono ai domini
- mentre l’insieme dei valori presenti su una riga (tupla)
rappresenta un elemento del prodotto cartesiano.
- il numero delle tuple di una relazione è detto
cardinalità della relazione.
Appunti informatica- prof. Orlando
De Pietro
Esempio di relazione
Dominio delle Matricole:
D1= N, ins. numeri naturali
Dominio degli Insegnamenti: D2={InfTur,InfICT,Diritto,…}
Dominio dei voti:
D3={n N: n>=18 ^ n<=31}
Attributi
Prodotto cartesiano
D1 x D2 x D3
Matricola
Insegn
54402
InfICT
Tupla
o Riga (record)
Appunti informatica- prof. Orlando
De Pietro
Valori degli
attributi
Voto
28
Schema ed Istanza
Schema = Nomi delle Tabelle + Nomi degli Attributi
Esempio:
Tabella Studente (Matr intero, Cognome stringa, Nome stringa, Data_Nascita data)
Istanza = Tuple riferite ad uno schema
Appunti informatica- prof. Orlando
De Pietro
Chiave Primaria
E’ un attributo K che individua univocamente un elemento
(tupla) della relazione.
- Due tuple diverse non possono avere gli stessi valori negli
attributi di K.
Appunti informatica- prof. Orlando
De Pietro
Inserimento altri dati
Esempio: Cognome + Nome + D.N. + Residenza
di ogni Matr.
Appunti informatica- prof. Orlando
De Pietro
Super-Chiavi
Si definisce super-chiave un sottoinsieme degli
attributi della relazione che identifica
univocamente ogni tupla.
Esempio 1
Super-chiave
Coincide con la Chiave Primaria
Codice Fiscale Cognome Nome Data di nascita
Appunti informatica- prof. Orlando
De Pietro
Esempio 2
Super-chiave
Università
Esempio 3
Matricola Laurea Voto di laurea
Super-chiave
Titolo Libro
Autore
Codice Data Pubbl.
Appunti informatica- prof. Orlando
De Pietro
Chiavi
Fra tutte le super-chiavi esistenti particolare importanza
hanno poi quelle con cardinalità minima, che vengono
denominate chiavi candidate; fra queste ultime in genere
si sceglie la cosiddetta chiave primaria
Super-Chiave
Titolo Libro
Chiave primaria
Autore
Codice Data Pubbl.
Appunti informatica- prof. Orlando
De Pietro
Integrità referenziale
Altro aspetto importante del modello relazionale è
costituito dai vincoli di integrità referenziale
(detti anche chiavi esterne o foreign key).
Quando si crea una relazione tra due tabelle è possibile impostare
l’integrità referenziale.
L’integrità referenziale è un insieme predefinito di vincoli o regole che
il programma (ad es. MS Access) utilizza per accettarsi che la
relazione sia valida:
- il campo correlato nella tabella primaria deve essere chiave primaria;
- i campi correlati devono avere lo stesso tipo di dati;
- le tabelle devono appartenere allo stesso database.
Appunti informatica- prof. Orlando
De Pietro
Inoltre
L’integrità referenziale:
- consente di prevenire modifiche o cancellazioni accidentali dei dati.
- non consente di inserire tuple nella tabella secondaria se il valore
attribuito alla chiave esterna non è uguale ad un valore della chiave
della tabella primaria (… ad essa collegata).
Appunti informatica- prof. Orlando
De Pietro
Vincoli d’integrità referenziale
(definizione matematica)
Definizione.
Dato un insieme di attributi X di una relazione R1, un
vincolo di chiave esterna tra X ed una relazione R2 è
soddisfatto se i valori su X di ciascuna tupla di un’istanza
di R1 compaiono come valori di chiave primaria
nell’istanza di R2.
Appunti informatica- prof. Orlando
De Pietro
Esempio di foreign key
Multe
Non può
esistere
una tupla
di Multe
in cui ID
Vigile
non sia
presente
nella
tabella
dei
Vigili
ID Vigile
Targa auto
Codice Infrazione
Vigili
ID Vigile
…
Appunti informatica- prof. Orlando
De Pietro
Data
Multe
ID Vigile
Targa auto
Codice Infrazione
Infrazioni
Automobili
Targa
…
Data
Codice Infr.
Appunti informatica- prof. Orlando
De Pietro
…
DBMS
Database Management System
Relational Database Management System
Appunti informatica- prof. Orlando
De Pietro
Vantaggi nell’uso di un DBMS (1/2)
Controllo della ridondanza
(i dati vengono memorizzati una sola volta e condivisi tra
tutti gli utenti).
Controllo degli accessi
(sottosistema di sicurezza e di autorizzazione – ogni
utente è dotato di un account personale e di precisi
privilegi di accesso e di modifica dei dati).
Persistenza dei dati (i dati vengono memorizzati in modo
permanente e strutturato)
Controllo della Concorrenza ( i DBMS possono gestire
accessi concorrenti -contemporanei- supportando quindi il
multi-tasking).
Appunti informatica- prof. Orlando
De Pietro
Vantaggi nell’uso di un DBMS
Controllo della ridondanza (i dati vengono memorizzati
una sola volta e condivisi tra tutti gli utenti; se si
utilizzasse invece un normale file system ogni utente
avrebbe la sua copia dei dati, con evidenti problemi sia di
duplicazione dell’informazione che di aggiornamento
sulle diverse versioni esistenti).
Controllo degli
accessi (i DBMS implementano un
sottosistema di sicurezza e di autorizzazione attraverso il
quale ogni utente è dotato di un account personale e di
precisi privilegi di accesso e di modifica dei dati).
Appunti informatica- prof. Orlando
De Pietro
Persistenza dei dati (i dati vengono memorizzati in
modo permanente e strutturato e sono resi disponibili agli
utenti ed alle applicazioni tramite opportune interfacce; i
DBMS sono anche dotati di alcune funzioni di recupero e
di ripristino dei dati a seguito di errori nelle procedure di
interrogazione e modifica –abort-).
Controllo della Concorrenza ( i DBMS possono gestire
accessi concorrenti -contemporanei- supportando quindi il
multi-tasking).
Appunti informatica- prof. Orlando
De Pietro
Progettazione
di un
Database relazionale
Appunti informatica- prof. Orlando
De Pietro
Gestori e utenti
Amministratori
(Autorizzano l’accesso alla base di dati, coordinano il suo uso, vigilano
sull’efficienza del sistema, acquisiscono risorse hardware e software
quando necessario).
Progettisti e Sviluppatori
(individuano i dati da memorizzare e le strutture che devono
accoglierli, operando soprattutto prima che la base di dati sia
implementata)
Utenti finali
(utenti occasionali, utenti finali parametrici – cui sono associate
procedure e funzioni standard -, utenti finali non parametrici – che
richiedono ed ottengono interfacce e funzioni specializzate per
particolari analisi Appunti informatica- prof. Orlando
De Pietro