Appunti informatica- prof. Orlando De Pietro Database Relazionali.

27
Appunti informatica- prof . Orlando De Pietro Database Relaziona li

Transcript of Appunti informatica- prof. Orlando De Pietro Database Relazionali.

Page 1: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

Appunti informatica- prof. Orlando De Pietro

Database

Relazionali

Page 2: 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.

Page 3: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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.

Page 4: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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):

Page 5: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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.

Page 6: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 7: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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)

Page 8: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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}

Page 9: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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.

Page 10: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 11: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 12: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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.

Page 13: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

Appunti informatica- prof. Orlando De Pietro

Inserimento altri dati

Esempio: Cognome + Nome + D.N. + Residenza

di ogni Matr.

Page 14: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 15: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 16: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 17: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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.

Page 18: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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).

Page 19: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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.

Page 20: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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

Page 21: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

Appunti informatica- prof. Orlando De Pietro

ID Vigile Targa auto Codice Infrazione Data

Multe

Codice Infr. …

Infrazioni

Targa …

Automobili

Page 22: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

Appunti informatica- prof. Orlando De Pietro

DBMS

Database Management System

Relational Database Management System

Page 23: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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).

Page 24: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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).

Page 25: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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).

Page 26: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

Appunti informatica- prof. Orlando De Pietro

Progettazionedi un Database relazionale

Page 27: Appunti informatica- prof. Orlando De Pietro Database Relazionali.

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 -