Database
description
Transcript of Database
Appunti informatica- prof. Orlando De Pietro
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 armadio-raccoglitore, nei cassetti del quale vengono archiviati i documenti riguardanti lo stesso argomento.
Esempio - Archivio cartaceo:
- Scheda (dati/campi)
- File di schede
I dati che in esso sono archiviati, vengono organizzati e strutturati secondo una impostazione logica fornita dall’utente.
Appunti informatica- prof. Orlando De Pietro
- ricerca- filtro- selezione- possibilità di calcolo- verifica di condizioni.
Database Computerizzato
E’ considerato più uno strumento di ricerca e previsione che un semplice visualizzatore di dati.
In termini di efficienza nell’elaborare i dati: minor tempo nelle ricerche, nei calcoli, nei filtri, ecc. dei dati memorizzati nel DB.
Software
A differenza di un archivio cartaceo, un Database computerizzato offre notevoli vantaggi (sui dati contenuti):
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 RelazionaleTutti 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
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.
Database Relazionale
La nozione fondamentale che è alla sua base è la
RELAZIONE(o tabella)
ColonneAttributi (campi)
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 naturaliDominio 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 naturaliDominio degli Insegnamenti: D2={InfTur,InfICT,Diritto,…}Dominio dei voti: D3={n N: n>=18 ^ n<=31}
Prodotto cartesiano
D1 x D2 x D3
Attributi
Matricola Insegn Voto
54402 InfICT 28
Tuplao Riga (record)
Valori degli attributi
Appunti informatica- prof. Orlando De Pietro
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
Schema ed Istanza
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
Cognome NomeCodice Fiscale Data di nascita
Super-chiave
Coincide con la Chiave Primaria
Appunti informatica- prof. Orlando De Pietro
Esempio 2
Matricola Laurea Università Voto di laurea
Super-chiave
Super-chiave
Autore Codice Titolo Libro Data Pubbl.
Esempio 3
Appunti informatica- prof. Orlando De Pietro
ChiaviFra 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
Autore Codice Titolo Libro Data Pubbl.
Chiave primariaSuper-Chiave
Appunti informatica- prof. Orlando De Pietro
Integrità referenzialeAltro 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
ID Vigile Targa auto Codice Infrazione Data
Multe
Non può esistere una tupla di Multe in cui ID Vigile non sia presente nella tabella dei Vigili
ID Vigile …
Vigili
Appunti informatica- prof. Orlando De Pietro
ID Vigile Targa auto Codice Infrazione Data
Multe
Codice Infr. …
Infrazioni
Targa …
Automobili
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
Progettazionedi un Database relazionale
Appunti informatica- prof. Orlando De Pietro
Gestori e utentiAmministratori
(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 -