270 likes | 430 Views
Database. Relazionali. 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.
E N D
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. 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 Software A differenza di un archivio cartaceo, un Database computerizzato offre notevoli vantaggi (sui dati contenuti): • - ricerca • filtro • selezione • possibilità di calcolo • verifica di condizioni. 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 Reticolare Modello gerarchico Appunti informatica- prof. Orlando De Pietro
Database Relazionale Colonne Attributi(campi) Matricola Insegn. Voto 54402 InfICT 28 Riga o Tupla (record) 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. La nozione fondamentale che è alla sua base è la RELAZIONE (o tabella) 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 Matricola Insegn Voto 54402 InfICT 28 Tupla o Riga (record) Valori degli attributi Prodotto cartesiano D1 x D2 x D3 Appunti informatica- prof. Orlando De Pietro
Schema ed Istanza Schema = Nomi delle Tabelle + Nomi degli Attributi Esempio: TabellaStudente (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 Super-chiave Coincide con la Chiave Primaria Codice Fiscale Cognome Nome Data di nascita Si definisce super-chiave un sottoinsieme degli attributi della relazione che identifica univocamente ogni tupla. Esempio 1 Appunti informatica- prof. Orlando De Pietro
Super-chiave Super-chiave Esempio 3 Università Titolo Libro Matricola Autore Laurea Codice Voto di laurea Data Pubbl. Esempio 2 Appunti informatica- prof. Orlando De Pietro
Chiavi Chiave primaria Super-Chiave Titolo Libro Autore Codice Data Pubbl. 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 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 ID Vigile Targa auto Codice Infrazione Data Vigili … ID Vigile Non può esistere una tupla di Multe in cui ID Vigile non sia presente nella tabella dei Vigili Appunti informatica- prof. Orlando De Pietro
Multe ID Vigile Targa auto Codice Infrazione Data Infrazioni Automobili Codice Infr. Targa … … 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 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